diff --git a/lib/matplotlib/tests/test_datetime.py b/lib/matplotlib/tests/test_datetime.py index 104a649e1464..d8daeeddb7da 100644 --- a/lib/matplotlib/tests/test_datetime.py +++ b/lib/matplotlib/tests/test_datetime.py @@ -1,4 +1,5 @@ import datetime +from datetime import timedelta import numpy as np import pytest @@ -838,8 +839,36 @@ def test_violin(self): @pytest.mark.xfail(reason="Test for violinplot not written yet") @mpl.style.context("default") def test_violinplot(self): + np.random.seed(19680801) + n_samples = 100 + values = np.random.randn(n_samples) fig, ax = plt.subplots() - ax.violinplot(...) + result = ax.violinplot(values, positions=[datetime(2023, 1, 10)], widths=[ + timedelta(days=10)], showmeans=True, showextrema=True) + assert isinstance(result, dict), "Failed to create violin plot" + assert 'bodies' in result, "Violin plot bodies are missing" + assert len(result['bodies']) > 0, "Violin plot bodies are empty" + result1 = ax.violinplot(values, positions=[datetime(2023, 1, 15)], widths=[ + timedelta(days=6)], showmeans=True, showextrema=True) + assert isinstance(result1, dict), "Failed to create violin plot" + assert 'bodies' in result1, "Violin plot bodies are missing" + assert len(result1['bodies']) > 0, "Violin plot bodies are empty" + result2 = ax.violinplot(values, positions=[datetime(2023, 1, 25)], widths=[ + timedelta(days=12)], showmeans=True, showextrema=True) + assert isinstance(result2, dict), "Failed to create violin plot" + assert 'bodies' in result2, "Violin plot bodies are missing" + assert len(result2['bodies']) > 0, "Violin plot bodies are empty" + result3 = ax.violinplot(values, positions=[datetime(2023, 2, 5)], widths=[ + timedelta(days=8)], showmeans=True, showextrema=True) + assert isinstance(result3, dict), "Failed to create violin plot" + assert 'bodies' in result3, "Violin plot bodies are missing" + assert len(result3['bodies']) > 0, "Violin plot bodies are empty" + ax.set_title( + 'Violin Plot with DateTime Positions and Timedelta Widths') + ax.set_xlabel('Dates') + ax.set_ylabel('Values') + plt.xticks(rotation=90) + assert result is not None, "Failed to create violin plot" @mpl.style.context("default") def test_vlines(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