@@ -50,11 +50,34 @@ def test_axvline(self):
50
50
fig , ax = plt .subplots ()
51
51
ax .axvline (...)
52
52
53
- @pytest .mark .xfail (reason = "Test for axvspan not written yet" )
54
53
@mpl .style .context ("default" )
55
54
def test_axvspan (self ):
56
- fig , ax = plt .subplots ()
57
- ax .axvspan (...)
55
+ mpl .rcParams ["date.converter" ] = 'concise'
56
+
57
+ start_date = datetime .datetime (2023 , 1 , 1 )
58
+ time_delta = datetime .timedelta (days = 1 )
59
+
60
+ values1 = np .random .randint (1 , 10 , 30 )
61
+ values2 = np .random .randint (1 , 10 , 30 )
62
+ values3 = np .random .randint (1 , 10 , 30 )
63
+
64
+ bin_edges = [start_date + i * time_delta for i in range (31 )]
65
+
66
+ fig , (ax1 , ax2 , ax3 ) = plt .subplots (3 , 1 , constrained_layout = True )
67
+
68
+ axes = [ax1 , ax2 , ax3 ]
69
+ values_list = [values1 , values2 , values3 ]
70
+
71
+ for ax , values in zip (axes , values_list ):
72
+ ax .hist (
73
+ [start_date + i * time_delta for i in range (30 )],
74
+ bins = bin_edges ,
75
+ weights = values
76
+ )
77
+ for i in range (np .random .randint (1 , 5 )):
78
+ xmin = start_date + np .random .randint (0 , 30 ) * time_delta
79
+ xmax = xmin + np .random .randint (1 , 3 ) * time_delta
80
+ ax .axvspan (xmin = xmin , xmax = xmax , facecolor = 'green' , alpha = 0.5 )
58
81
59
82
@pytest .mark .xfail (reason = "Test for bar not written yet" )
60
83
@mpl .style .context ("default" )
0 commit comments