From a99f698b1e72f96211497a3406fe69f49763697c Mon Sep 17 00:00:00 2001 From: samchan2022 Date: Tue, 14 Nov 2023 22:48:35 +0000 Subject: [PATCH] add test_axlines --- lib/matplotlib/tests/test_datetime.py | 34 ++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/tests/test_datetime.py b/lib/matplotlib/tests/test_datetime.py index b19124a1b764..f57a07348749 100644 --- a/lib/matplotlib/tests/test_datetime.py +++ b/lib/matplotlib/tests/test_datetime.py @@ -5,6 +5,7 @@ import matplotlib.pyplot as plt import matplotlib as mpl +from matplotlib.dates import date2num, DateFormatter class TestDatetimePlotting: @@ -77,11 +78,38 @@ def test_axhspan(self): ax3.set_xlabel('Date') ax3.set_ylabel('Date') - @pytest.mark.xfail(reason="Test for axline not written yet") @mpl.style.context("default") def test_axline(self): - fig, ax = plt.subplots() - ax.axline(...) + mpl.rcParams["date.converter"] = 'concise' + fig, (ax1, ax2, ax3) = plt.subplots(3, 1, + constrained_layout=True, + figsize=(10, 12)) + + start_date = datetime.datetime(2023, 1, 1) + dates = [start_date + datetime.timedelta(days=i) for i in range(31)] + values = list(range(1, 32)) + + ax1.plot(dates, values, 'ro') + ax1.axline((date2num(dates[0]), values[0]), (date2num(dates[-1]), values[-1]), + color='blue', linewidth=2) + ax1.set_title('Datetime vs. Number') + date_format = DateFormatter('%b%d') + ax1.xaxis.set_major_formatter(date_format) + + ax2.plot(values, dates, 'ro') + ax2.axline((values[0], date2num(dates[0])), (values[-1], date2num(dates[-1])), + color='blue', linewidth=2) + ax2.set_title('Number vs. Datetime') + ax2.yaxis.set_major_formatter(date_format) + + dates2 = [start_date + datetime.timedelta(days=2*i) for i in range(31)] + ax3.plot(dates, dates2, 'ro') + ax3.axline((date2num(dates[0]), date2num(dates2[0])), + (date2num(dates[-1]), date2num(dates2[-1])), + color='blue', linewidth=2) + ax3.set_title('Datetime vs. Datetime') + ax3.xaxis.set_major_formatter(date_format) + ax3.yaxis.set_major_formatter(date_format) @mpl.style.context("default") def test_axvline(self): pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

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:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy