From 3c6d39d489513036b311c83f9b5893e4cbc0b8aa Mon Sep 17 00:00:00 2001 From: ConstableCatnip <38230539+ConstableCatnip@users.noreply.github.com> Date: Fri, 8 Dec 2023 21:38:18 +0000 Subject: [PATCH 1/2] Added smoke test for Axes.imshow to test_datetime.py --- lib/matplotlib/tests/test_datetime.py | 40 +++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/tests/test_datetime.py b/lib/matplotlib/tests/test_datetime.py index 529244c9656b..77ec67bfb179 100644 --- a/lib/matplotlib/tests/test_datetime.py +++ b/lib/matplotlib/tests/test_datetime.py @@ -530,11 +530,45 @@ def test_hlines(self): xmin=0.45, xmax=0.65) - @pytest.mark.xfail(reason="Test for imshow not written yet") @mpl.style.context("default") def test_imshow(self): - fig, ax = plt.subplots() - ax.imshow(...) + mpl.rcParams["date.converter"] = "concise" + a = np.diag(range(5)) + fig, axes = plt.subplots(nrows=2, ncols=2) + + ax = axes[0, 0] + dt_start = datetime.datetime(1980, 4, 15) + dt_end = datetime.datetime(2010, 11, 11) + extent = (dt_start, dt_end, dt_start, dt_end) + ax.imshow(a, extent=extent) + for label in ax.get_xticklabels(): + label.set_rotation(90) + + ax = axes[0, 1] + dt_start = datetime.datetime(2010, 4, 15) + dt_end = datetime.datetime(2010, 11, 11) + extent = (dt_start, dt_end, dt_start, dt_end) + ax.imshow(a, extent=extent) + for label in ax.get_xticklabels(): + label.set_rotation(90) + + ax = axes[1, 0] + dt_start = datetime.datetime(2010, 11, 1) + dt_end = datetime.datetime(2010, 11, 11) + extent = (dt_start, dt_end, dt_start, dt_end) + ax.imshow(a, extent=extent) + for label in ax.get_xticklabels(): + label.set_rotation(90) + + ax = axes[1, 1] + dt_start = datetime.datetime(2010, 11, 10) + dt_end = datetime.datetime(2010, 11, 11) + extent = (dt_start, dt_end, dt_start, dt_end) + ax.imshow(a, extent=extent) + for label in ax.get_xticklabels(): + label.set_rotation(90) + + fig.tight_layout() @pytest.mark.xfail(reason="Test for loglog not written yet") @mpl.style.context("default") From e0f5b239bedd0f8b367970081b5eac1530348aa5 Mon Sep 17 00:00:00 2001 From: ConstableCatnip <38230539+ConstableCatnip@users.noreply.github.com> Date: Mon, 11 Dec 2023 17:34:54 +0000 Subject: [PATCH 2/2] Updates based on suggestions. By constraining the date range to a few days, the axes labels now look like dates instead of just the year. --- lib/matplotlib/tests/test_datetime.py | 34 ++------------------------- 1 file changed, 2 insertions(+), 32 deletions(-) diff --git a/lib/matplotlib/tests/test_datetime.py b/lib/matplotlib/tests/test_datetime.py index 77ec67bfb179..07711644a85d 100644 --- a/lib/matplotlib/tests/test_datetime.py +++ b/lib/matplotlib/tests/test_datetime.py @@ -532,43 +532,13 @@ def test_hlines(self): @mpl.style.context("default") def test_imshow(self): - mpl.rcParams["date.converter"] = "concise" + fig, ax = plt.subplots() a = np.diag(range(5)) - fig, axes = plt.subplots(nrows=2, ncols=2) - - ax = axes[0, 0] - dt_start = datetime.datetime(1980, 4, 15) - dt_end = datetime.datetime(2010, 11, 11) - extent = (dt_start, dt_end, dt_start, dt_end) - ax.imshow(a, extent=extent) - for label in ax.get_xticklabels(): - label.set_rotation(90) - - ax = axes[0, 1] - dt_start = datetime.datetime(2010, 4, 15) - dt_end = datetime.datetime(2010, 11, 11) - extent = (dt_start, dt_end, dt_start, dt_end) - ax.imshow(a, extent=extent) - for label in ax.get_xticklabels(): - label.set_rotation(90) - - ax = axes[1, 0] dt_start = datetime.datetime(2010, 11, 1) dt_end = datetime.datetime(2010, 11, 11) extent = (dt_start, dt_end, dt_start, dt_end) ax.imshow(a, extent=extent) - for label in ax.get_xticklabels(): - label.set_rotation(90) - - ax = axes[1, 1] - dt_start = datetime.datetime(2010, 11, 10) - dt_end = datetime.datetime(2010, 11, 11) - extent = (dt_start, dt_end, dt_start, dt_end) - ax.imshow(a, extent=extent) - for label in ax.get_xticklabels(): - label.set_rotation(90) - - fig.tight_layout() + ax.tick_params(axis="x", labelrotation=90) @pytest.mark.xfail(reason="Test for loglog not written yet") @mpl.style.context("default")
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: