@@ -1272,16 +1272,49 @@ def test_plot_outofbounds_datetime(self):
1272
1272
values = [datetime (1677 , 1 , 1 , 12 ), datetime (1677 , 1 , 2 , 12 )]
1273
1273
self .plt .plot (values )
1274
1274
1275
- def test_format_timedelta_ticks (self ):
1275
+ def test_format_timedelta_ticks_narrow (self ):
1276
1276
import matplotlib .pyplot as plt
1277
- rng = timedelta_range ('0' , periods = 3 , freq = 'ns' )
1277
+
1278
+ expected_labels = [
1279
+ '00:00:00.00000000{:d}' .format (i )
1280
+ for i in range (10 )]
1281
+
1282
+ rng = timedelta_range ('0' , periods = 10 , freq = 'ns' )
1278
1283
df = DataFrame (np .random .randn (len (rng ), 3 ), rng )
1279
- ax = df .plot ()
1284
+ ax = df .plot (fontsize = 2 )
1285
+ ax .get_figure ().canvas .draw ()
1280
1286
plt .gcf ().autofmt_xdate ()
1281
- xaxis = ax .get_xaxis ()
1282
- for l in xaxis .get_ticklabels ():
1283
- if len (l .get_text ()) > 0 :
1284
- self .assertEqual (l .get_rotation (), 30 )
1287
+ labels = ax .get_xticklabels ()
1288
+ self .assertEqual (len (labels ), len (expected_labels ))
1289
+ for l , l_expected in zip (labels , expected_labels ):
1290
+ self .assertEqual (l .get_text (), l_expected )
1291
+ self .assertEqual (l .get_rotation (), 30 )
1292
+
1293
+ def test_format_timedelta_ticks_wide (self ):
1294
+ import matplotlib .pyplot as plt
1295
+
1296
+ expected_labels = [
1297
+ '00:00:00' ,
1298
+ '1 days 03:46:40' ,
1299
+ '2 days 07:33:20' ,
1300
+ '3 days 11:20:00' ,
1301
+ '4 days 15:06:40' ,
1302
+ '5 days 18:53:20' ,
1303
+ '6 days 22:40:00' ,
1304
+ '8 days 02:26:40' ,
1305
+ ''
1306
+ ]
1307
+
1308
+ rng = timedelta_range ('0' , periods = 10 , freq = '1 d' )
1309
+ df = DataFrame (np .random .randn (len (rng ), 3 ), rng )
1310
+ ax = df .plot (fontsize = 2 )
1311
+ ax .get_figure ().canvas .draw ()
1312
+ plt .gcf ().autofmt_xdate ()
1313
+ labels = ax .get_xticklabels ()
1314
+ self .assertEqual (len (labels ), len (expected_labels ))
1315
+ for l , l_expected in zip (labels , expected_labels ):
1316
+ self .assertEqual (l .get_text (), l_expected )
1317
+ self .assertEqual (l .get_rotation (), 30 )
1285
1318
1286
1319
def test_timedelta_plot (self ):
1287
1320
# test issue #8711
0 commit comments