16
16
import pandas .tseries .tools as datetools
17
17
import pandas .lib as lib
18
18
19
+ try : # mpl optional
20
+ import pandas .tseries .converter as conv
21
+ conv .register ()
22
+ except ImportError :
23
+ pass
24
+
19
25
def _get_standard_kind (kind ):
20
26
return {'density' : 'kde' }.get (kind , kind )
21
27
@@ -492,8 +498,9 @@ def plt(self):
492
498
493
499
def _get_xticks (self , convert_period = False ):
494
500
index = self .data .index
495
- is_datetype = index .inferred_type in ('datetime' , 'date' ,
496
- 'datetime64' )
501
+ is_datetype = (index .inferred_type in ('datetime' , 'date' ,
502
+ 'datetime64' )
503
+ or lib .is_time_array (index ))
497
504
498
505
if self .use_index :
499
506
if convert_period and isinstance (index , PeriodIndex ):
@@ -508,6 +515,7 @@ def _get_xticks(self, convert_period=False):
508
515
"""
509
516
x = index ._mpl_repr ()
510
517
else :
518
+ foo
511
519
self ._need_to_set_index = True
512
520
x = range (len (index ))
513
521
else :
@@ -578,40 +586,6 @@ def _post_plot_logic(self):
578
586
if self .subplots and self .legend :
579
587
self .axes [0 ].legend (loc = 'best' )
580
588
581
- try : # matplotlib is optional dependency
582
- import matplotlib .units as units
583
- import matplotlib .dates as dates
584
-
585
- class DatetimeConverter (dates .DateConverter ):
586
-
587
- @staticmethod
588
- def convert (values , unit , axis ):
589
- def try_parse (values ):
590
- try :
591
- return datetools .to_datetime (values ).toordinal ()
592
- except Exception :
593
- return values
594
-
595
- if isinstance (values , (datetime .datetime , datetime .date )):
596
- return values .toordinal ()
597
- elif isinstance (values , (datetime .time )):
598
- return dates .date2num (values )
599
- elif (com .is_integer (values ) or com .is_float (values )):
600
- return values
601
- elif isinstance (values , str ):
602
- return try_parse (values )
603
- elif isinstance (values , Index ):
604
- return values .map (try_parse )
605
- elif isinstance (values , (list , tuple , np .ndarray )):
606
- return [try_parse (x ) for x in values ]
607
- return values
608
-
609
- units .registry [lib .Timestamp ] = DatetimeConverter ()
610
- units .registry [datetime .date ] = DatetimeConverter ()
611
- units .registry [datetime .datetime ] = DatetimeConverter ()
612
- except ImportError :
613
- pass
614
-
615
589
class LinePlot (MPLPlot ):
616
590
617
591
def __init__ (self , data , ** kwargs ):
0 commit comments