@@ -604,6 +604,28 @@ def test_concise_formatter_show_offset(t_delta, expected):
604
604
assert formatter .get_offset () == expected
605
605
606
606
607
+ def test_offset_changes ():
608
+ fig , ax = plt .subplots ()
609
+
610
+ d1 = datetime .datetime (1997 , 1 , 1 )
611
+ d2 = d1 + datetime .timedelta (weeks = 520 )
612
+
613
+ locator = mdates .AutoDateLocator ()
614
+ formatter = mdates .ConciseDateFormatter (locator )
615
+ ax .xaxis .set_major_locator (locator )
616
+ ax .xaxis .set_major_formatter (formatter )
617
+
618
+ ax .plot ([d1 , d2 ], [0 , 0 ])
619
+ fig .draw_without_rendering ()
620
+ assert formatter .get_offset () == ''
621
+ ax .set_xlim (d1 , d1 + datetime .timedelta (weeks = 3 ))
622
+ fig .draw_without_rendering ()
623
+ assert formatter .get_offset () == '1997-Jan'
624
+ ax .set_xlim (d1 , d1 + datetime .timedelta (weeks = 520 ))
625
+ fig .draw_without_rendering ()
626
+ assert formatter .get_offset () == ''
627
+
628
+
607
629
@pytest .mark .parametrize ('t_delta, expected' , [
608
630
(datetime .timedelta (weeks = 52 * 200 ),
609
631
['$\\ mathdefault{%d}$' % (t , ) for t in range (1980 , 2201 , 20 )]),
0 commit comments