ó
šxŠ\c           @   s  d  Z  d d l m Z d d l m Z d d l Z d d l m Z d d l Z d d l	 m
 Z
 m Z d d l j j Z d d l Z d d l m Z m Z m Z d d l m Z m Z m Z m Z d d l j j Z d d l j Z e j d	 e f d
 „  ƒ  Yƒ Z  d S(   s    Test cases for Series.plot iÿÿÿÿ(   t   datetime(   t   chainN(   t   randn(   t   lranget   range(   t	   DataFramet   Seriest
   date_range(   t   TestPlotBaset   _check_plot_workst   _ok_for_gaussian_kdet   _skip_if_no_scipy_gaussian_kdet   TestSeriesPlotsc           B   st  e  Z d  „  Z e j j d „  ƒ Z e j j d „  ƒ Z d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d „  Z e j j d	 „  ƒ Z e j j d
 „  ƒ Z d „  Z d „  Z d „  Z d „  Z e j j d „  ƒ Z d „  Z e j j d „  ƒ Z e j j d „  ƒ Z e j j d „  ƒ Z e j j d „  ƒ Z e j j d „  ƒ Z e j j d „  ƒ Z e j j d „  ƒ Z e j j d „  ƒ Z e j j d „  ƒ Z e j j d „  ƒ Z e j j d „  ƒ Z  e j j e! j" d „  ƒ ƒ Z# e j j e! j" d „  ƒ ƒ Z$ e j j e! j" d „  ƒ ƒ Z% e j j d „  ƒ Z& e j j e! j" d  „  ƒ ƒ Z' e j j d! „  ƒ Z( e j j d" „  ƒ Z) e j j d# „  ƒ Z* e j j d$ „  ƒ Z+ d% „  Z, d& „  Z- e j j d' „  ƒ Z. e j j d( „  ƒ Z/ e! j0 d) „  ƒ Z1 e j j d* „  ƒ Z2 e j j d+ „  ƒ Z3 e j j d, „  ƒ Z4 d- „  Z5 d. „  Z6 d/ „  Z7 d0 „  Z8 d1 „  Z9 e j j: d2 „  ƒ Z; RS(3   c         C   s{   t  j |  | ƒ d d  l } | j ƒ  t j ƒ  |  _ d |  j _ t j ƒ  |  _	 d |  j	 _ t j
 ƒ  |  _ d |  j _ d  S(   Niÿÿÿÿt   tst   seriest   iseries(   R   t   setup_methodt
   matplotlibt
   rcdefaultst   tmt   makeTimeSeriesR   t   namet   makeStringSeriesR   t   makePeriodSeriesR   (   t   selft   methodt   mpl(    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyR      s    
c         C   s}  t  |  j j d d ƒt  |  j j d t ƒt  |  j j d d ƒ} |  j | d d ƒt  |  j j d d d	 t ƒ} |  j | d
 d ƒt  |  j j d d d t ƒ} |  j | d d ƒt  |  j j d d d t ƒ} |  j | d d d
 d ƒt  |  j d  j j ƒ t  |  j j j d t ƒt  |  j	 j ƒ xL d d d d d d g D]2 } t
 | ƒ saqIn  t  |  j d  j d | ƒqIWt  |  j d  j j ƒ t  t t d ƒ ƒ j j d d ƒ} |  j | j d g d d g ƒt  |  j j d t ƒ} |  j | d d d d! ƒt  |  j j d t d d" ƒ} |  j | d d d d# ƒt  |  j j d t d d$ ƒ} |  j | d d d d% ƒd  S(&   Nt   labelt   foot	   use_indext   roti    t   xrott   stylet   .t   logyt   yaxist   logt   logxt   xaxist   loglogi
   t   stackedt   linet   bart   barht   kdet   histt   boxi   t   kindt   colort   blackt
   facecolorst   subplotst   axes_numi   t   layoutiÿÿÿÿ(   i   i   (   iÿÿÿÿi   (   i   i   (   i   iÿÿÿÿ(   i   i   (   R	   R   t   plott   Falset   _check_ticks_propst   Truet   _check_ax_scalesR*   t   areaR   R
   R   R+   R   R   t   _check_colorst   patchest   _check_axes_shape(   R   t   axest   axR/   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt	   test_plot+   s4    $ c      	   C   sl   |  j  j ƒ  \ } } |  j j d d d d
 d | ƒ } |  j | j d ƒ |  j | d d d	 d d d ƒd  S(   Nt   titlet   Testt   figsizei   i   R@   R4   i   R5   (   i   i   (   i   i   (   i   i   (   t   pltR3   R   R6   t   _check_text_labelsRB   R>   (   R   t   _R@   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_plot_figsize_and_titleQ   s    !c         C   sj   d } |  j  j | } |  j  j ƒ  \ } } t d d d g ƒ j d | ƒ | |  j  j | k sf t ‚ d  S(   Ns   axes.prop_cyclei   i   i   R@   (   RE   t   rcParamsR3   R   R6   t   AssertionError(   R   t   keyt   colorsRG   R@   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_dont_modify_rcParamsY   s
    c         C   s7  |  j  j ƒ  \ } } |  j j d | ƒ } | j ƒ  \ } } | j ƒ  } | | d j d t ƒ d d k sr t ‚ | | d j d t ƒ d d k sœ t ‚ t	 j
 ƒ  |  j j d t d | ƒ } | j ƒ  \ } } | j ƒ  } | | d j d t ƒ d d k s	t ‚ | | d j d t ƒ d d k s3t ‚ d  S(   NR@   i    t   origiÿÿÿÿt   secondary_y(   RE   R3   R   R6   t   get_xlimt	   get_linest   get_dataR7   RJ   R   t   closeR9   (   R   t   figR@   t   xmint   xmaxt   lines(    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_ts_line_lima   s    **
*c         C   sœ  |  j  j ƒ  \ } } |  j j j d t d | ƒ } | j ƒ  \ } } | j ƒ  d j d t ƒ d } | | d k s{ t	 ‚ | | d k s‘ t	 ‚ t
 j ƒ  |  j  j ƒ  \ } } |  j j j d t d t d | ƒ } | j ƒ  \ } } | j ƒ  d j d t ƒ d } | | d k st	 ‚ | | d k s2t	 ‚ t
 j ƒ  |  j j ƒ  } | j d ƒ j d ƒ | _ |  j  j ƒ  \ } } | j j d t d t d | ƒ } | j ƒ  \ } } | j ƒ  d j d t ƒ d } | | d k sät	 ‚ | | d k sút	 ‚ t
 j ƒ  |  j  j ƒ  \ } } | j j d t d	 t d | ƒ } | j ƒ  \ } } | j ƒ  d j d t ƒ d } | | d k s‚t	 ‚ | | d k s˜t	 ‚ d  S(
   NR(   R@   i    RN   iÿÿÿÿt   x_compatt   GMTt   CETRO   (   RE   R3   R   R6   R;   R7   RP   RQ   RR   RJ   R   RS   R9   t   copyt   tz_localizet
   tz_convertt   index(   R   RG   R@   RU   RV   R)   t   tz_ts(    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_ts_area_limp   s:     
$ 
! 
! c         C   sÖ  t  d d g ƒ } |  j j ƒ  \ } } | j d d d t d | ƒ } |  j | d d g ƒ|  j j ƒ  |  j j ƒ  \ } } | j d t d | ƒ } |  j | d d g ƒ|  j j ƒ  d	 | _ |  j j ƒ  \ } } | j d t d | ƒ } |  j | d d	 g ƒ|  j j ƒ  |  j j ƒ  \ } } | j d t d d d | ƒ } |  j | d d g ƒ|  j j ƒ  |  j j ƒ  \ } } | j d t d d d | ƒ } | j	 ƒ  d  k s²t ‚ | j ƒ  |  j | d d g ƒd  S(
   Ni   i   R   t   LABELt   legendR@   t   labelst   Nonet   NAME(   R   RE   R3   R6   R9   t   _check_legend_labelsRS   R   R7   t
   get_legendRe   RJ   Rc   (   R   t   sRG   R@   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt
   test_label“   s.    	
c   	      C   sž  d d t  j d g } t | ƒ } t | d t j d d ƒ ƒ} xX| | g D]J} t | j ƒ } | j d j ƒ  } t  j	 d d d g d t  j
 ƒ} t j t  j | j d ƒ | ƒ t j | j t  j	 t t t t g ƒ ƒ t  j	 d d d d g d t  j
 ƒ} t | j d	 t ƒ} t j | j d j ƒ  | ƒ t | j j ƒ } t j | j d j ƒ  | ƒ t | j j d	 t ƒ} t j | j d j ƒ  | ƒ qL Wd  S(
   Ni   i   i   R_   t   ki   i    t   dtypeR(   (   t   npt   nanR   R   t   makeDateIndexR	   R6   RW   t	   get_ydatat   arrayt   float64t   assert_numpy_array_equalt   deletet   datat   maskR7   R9   R;   (	   R   t   valuesRi   R   t   dR@   t   maskedt   expt   expected(    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_line_area_nan_series¯   s"    !"$c         C   sÍ   t  d d d g d d d d g ƒ} d | j _ |  j j ƒ  \ } } | j d	 t d
 | ƒ } | j ƒ  } | d k s{ t ‚ |  j j ƒ  \ } } | j j	 d	 t d
 | ƒ } | j ƒ  } | d k sÉ t ‚ d  S(   Ni   i   i   R_   t   at   bt   cs	   The IndexR   R@   t    (
   R   R_   R   RE   R3   R6   R7   t
   get_xlabelRJ   R*   (   R   Ri   RG   R@   R   t   ax2t   label2(    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_line_use_index_falseÅ   s    $c         C   s;  t  j d d d d d d g ƒ } |  j j ƒ  \ } } t d d g ƒ j j d	 t d
 | ƒ } t j	 | j
 j ƒ  | ƒ t j ƒ  |  j j ƒ  \ } } t d d g ƒ j j d	 t d
 | ƒ } t j	 | j j ƒ  | ƒ t j ƒ  t  j d d d d d d d g ƒ } |  j j ƒ  \ } } t d d d g ƒ j d	 t d d d
 | ƒ } d } d } | j ƒ  } t j | d | ƒ t j | d | ƒ t j	 | j
 j ƒ  | ƒ t j ƒ  |  j j ƒ  \ } } t d d d g ƒ j d	 t d d d
 | ƒ } | j ƒ  } t j | d | ƒ t j | d | ƒ t j	 | j j ƒ  | ƒ d  S(   Ngš™™™™™¹?g      ð?g      $@g      Y@g     @@g     ˆÃ@iÈ   iô  R$   R@   gñhãˆµøä>g-Cëâ6?gü©ñÒMbP?g{®Gáz„?R/   R*   g!Ñ,åNJ?gÐ„–-?À?i    i   R+   (   Rm   Rq   RE   R3   R   R6   R*   R9   R   Rs   R#   t   get_ticklocsRS   R+   R&   t   get_ylimt   assert_almost_equalRP   (   R   R{   RG   R@   t   ymint   ymaxt   res(    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_bar_logÑ   s2    !'
'
$-
-c         C   s€   t  d d d d g d d d d d	 g ƒ} |  j j ƒ  \ } } | j j d
 t d | ƒ } |  j | j ƒ  d d d d g ƒ d  S(   Ni   i   i   i   R_   R}   R~   R   Rx   R   R@   t   0t   1t   2t   3(   R   RE   R3   R6   R*   R7   RF   t   get_xticklabels(   R   t   dfRG   R@   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_bar_ignore_indexó   s    *c         C   sƒ   t  d d d d g ƒ } | j j d d d d d g ƒ } g  | j D] } | j ƒ  ^ qC } d
 d d d g } | | k s t ‚ d  S(   Ni   i   i   i   R0   t   redt   blueg      ð?g        (   g      ð?g        g        g      ð?(   g        g        g      ð?g      ð?(   g        g        g      ð?g      ð?(   g      ð?g        g        g      ð?(   R   R6   R*   R=   t   get_facecolorRJ   (   R   Ri   R@   t   pt   resultR{   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_bar_user_colorsú   s    !"	c         C   s“   t  t d d ƒ ƒ } |  j j ƒ  \ } } | j d | ƒ } |  j | d d ƒ|  j j ƒ  \ } } | j d d d | ƒ } |  j | d d ƒd  S(   Ni   R@   R   i    R   i   (   R   R   RE   R3   R6   R8   (   R   R‘   RG   R@   R?   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_rotation  s    c      
   C   s¾   t  d d ƒ } | d d d d d d d	 d
 d g	 } t t t | ƒ ƒ | ƒ } |  j j ƒ  \ } } | j d | ƒ } t d d d ƒ j ƒ  } | j	 d d ƒ | | j
 ƒ  d k sº t ‚ d  S(   Ns   1/1/2000s   3/1/2000i    i   i   i   i   i	   i
   i   i   R@   iÏ  s   1/1/1999s   1/1/2001(   R   R   R   t   lenRE   R3   R6   R    t	   toordinalt   set_xlimRP   RJ   (   R   t   rngt   serRG   R@   t   xp(    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_irregular_datetime  s    %c      
   C   sé   t  d d t j d d d d g d d d d d t j d d g ƒ} |  j j ƒ  \ } } | j d	 | ƒ } | j ƒ  \ } } | j ƒ  } | t j | d
 j	 d t
 ƒ d
 ƒ k s¶ t ‚ | t j | d
 j	 d t
 ƒ d
 ƒ k så t ‚ d  S(   Ng        g      ð?g      @g      @g      @g      @R_   g       @R@   i    RN   (   R   Rm   Rn   RE   R3   R6   RP   RQ   t   nanminRR   R7   RJ   t   nanmax(   R   Rž   RG   R@   RU   RV   RW   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_unsorted_index_xlim  s    !!/c   
      C   sã  t  t j j d d ƒ d d d d d d g d	 d
 ƒ} t | j j ƒ } |  j | j | j	 ƒ | j
 ƒ  d
 k sv t ‚ t | j j d d  ƒ} |  j | j d g d ƒ d d d g } t | j j d | ƒ} d d d d d g } |  j | j d | ƒd d d d d g } d d d d d g } t | j j d | d | ƒ} |  j | j | ƒ |  j | j d | ƒt | j j d | d d d d ƒ} g  | j t | j ƒ  ƒ D] } d j | d ƒ ^ q©} t t j t | j	 | ƒ ƒ ƒ } |  j | j | ƒ x) | j D] }	 |	 j ƒ  d k st ‚ qWt j t ƒ B t  d d d d d  g d d d d d d g ƒ} | j j ƒ  Wd  QXt  d d t j d g d d d d d g d	 d
 ƒ} t | j j ƒ } |  j | j d d d d g ƒ d  S(!   Ni   i   R_   R}   R~   R   Rx   t   eR   t   YLABELRd   R€   t   rt   gRL   R2   t   At   Bt   Ct   Dt   Et   mt   autopcts   %.2ft   fontsizei   s   {0:.2f}id   i   i    i   iÿÿÿÿ(   R   Rm   t   randomt   randintR	   R6   t   pieRF   t   textsR_   t
   get_ylabelRJ   Re   R<   R=   Rw   t   floatt   sumt   formatt   listR   t   from_iterablet   zipt   get_fontsizet   pytestt   raisest
   ValueErrorRn   (
   R   R   R@   t
   color_argst   color_expectedRd   Ri   t   pctst   expected_textst   t(    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_pie_series#  s@    	6!0*	c         C   s•   t  d t j d d g ƒ } |  j j ƒ  \ } } | j j d t d | ƒ } d d d d g } g  | j D] } | j	 ƒ  ^ qg } | | k s‘ t
 ‚ d  S(   Ni   Rc   R@   RŒ   R€   RŽ   R   (   R   Rm   Rn   RE   R3   R6   R²   R9   R³   t   get_textRJ   (   R   Ri   RG   R@   R{   t   xR—   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_pie_nanU  s    "c         C   sj   t  t j j d d ƒ ƒ } |  j j ƒ  \ } } | j j d d d | ƒ } t | j	 ƒ d k sf t
 ‚ d  S(   Ni
   i   t   binsi   R@   (   R   Rm   R°   R   RE   R3   R6   R-   Rš   R=   RJ   (   R   R‘   RG   R@   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_hist_df_kwargs]  s    c         C   së   t  j d ƒ 2 t t j j d d ƒ d d d d d g ƒ} Wd  QXd	 d
 g d | d <|  j j ƒ  \ } } | j j	 d d d | ƒ } t
 | j ƒ d k s¢ t ‚ |  j j ƒ  \ } } | j j	 d | ƒ } t
 | j ƒ d k sç t ‚ d  S(   Ni   i
   i   t   columnsR¨   R©   Rª   R«   RÆ   t   yi   R¬   RÈ   R@   i   i(   (   R   t
   RNGContextR   Rm   R°   R   RE   R3   R6   R-   Rš   R=   RJ   (   R   R‘   RG   R@   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_hist_df_with_nonnumericsd  s    0c         C   s«  t  |  j j ƒ t  |  j j d t ƒt  |  j j d d ƒt j t ƒ $ t  |  j j d |  j j j ƒWd  QXt j t ƒ * t  |  j j d |  j j j d d ƒWd  QX|  j	 j
 d d ƒ \ } } t  |  j j d	 | ƒt  |  j j d	 | d
 | ƒt  |  j j d
 | ƒt j ƒ  |  j	 j
 d d ƒ \ } \ } } t  |  j j d
 | d	 | ƒt  |  j j d
 | d	 | ƒt j t ƒ $ |  j j d |  j j d
 | ƒ Wd  QXd  S(   Nt   gridRD   i   i
   t   byRÈ   i   i   R@   t   figurei   (   i   i
   (   R	   R   R-   R7   R   t   assert_produces_warningt   UserWarningR_   t   monthRE   R3   RS   R¼   R½   R¾   (   R   RT   R@   t   ax1R‚   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_hist_legacys  s&    
!c         C   sT   t  t j j d d ƒ ƒ } | j d d ƒ d d } t | j ƒ d k sP t ‚ d  S(   Ni
   i   RÈ   i    (   R   Rm   R°   R   R-   Rš   R=   RJ   (   R   R‘   R@   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_hist_bins_legacy  s    c      	   C   se   |  j  } t j t ƒ  | j j d d ƒ Wd  QXt j t ƒ  | j j d d d g ƒ Wd  QXd  S(   NR5   i   (   i   i   (   t   hist_dfR¼   R½   R¾   t   heightR-   (   R   R‘   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_hist_layout“  s
    	c         C   s€  |  j  } t j t ƒ & t | j j d | j d d ƒ} Wd  QX|  j | d d d d ƒt j t ƒ & t | j j d | j d d ƒ} Wd  QX|  j | d d d d ƒt j t ƒ & t | j j d | j	 d d ƒ} Wd  QX|  j | d d d d ƒt j t ƒ & t | j j d | j	 d d ƒ} Wd  QX|  j | d d d d ƒt j t ƒ & t | j j d | j	 d d ƒ} Wd  QX|  j | d d d d ƒt j t ƒ & t | j j d | j	 d d ƒ} Wd  QX|  j | d d d d ƒt j t ƒ & t | j j d | j
 d d ƒ} Wd  QX|  j | d d d d ƒ| j j d | j	 d d d	 d ƒ } |  j | d d d d d	 d ƒd  S(   NRÏ   R5   i   i   R4   i   iÿÿÿÿi   RD   i   i   (   i   i   (   i   i   (   i   iÿÿÿÿ(   i   i   (   i   i   (   i   i   (   i   iÿÿÿÿ(   i   i   (   i   iÿÿÿÿ(   i   i   (   iÿÿÿÿi   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   R×   R   RÑ   RÒ   R	   RØ   R-   t   genderR>   t   categoryt	   classroom(   R   R‘   R?   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_hist_layout_with_byœ  s@    	$c         C   s   d d l  m } m } t t d ƒ ƒ } t t d ƒ ƒ } | d ƒ | j ƒ  | d ƒ | j ƒ  | ƒ  } | j } t | ƒ d k sŒ t ‚ d  S(   Niÿÿÿÿ(   t   subplott   gcfi   iy   iz   (	   t   matplotlib.pyplotRÞ   Rß   R   R   R-   R?   Rš   RJ   (   R   RÞ   Rß   RÆ   RË   RT   R?   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_hist_no_overlapÈ  s    



		c         C   s?  t  t j j d d ƒ d t d ƒ ƒ} |  j j ƒ  \ } } | d j j d t	 d | ƒ } | d j j d | d t	 d	 t	 ƒ |  j
 | d
 d d g ƒ| j ƒ  j ƒ  s¯ t ‚ | j j ƒ  j ƒ  sÊ t ‚ t j ƒ  |  j j ƒ  \ } } | d j j d t	 d	 t	 d | ƒ } | d j j d | d t	 d	 t	 ƒ |  j
 | j d
 d d g ƒ| j j ƒ  j ƒ  sit ‚ | j ƒ  j ƒ  st ‚ t j ƒ  |  j j ƒ  \ } } | d j j d t	 d	 t	 d | ƒ } | d j j d | d t	 ƒ |  j
 | j d
 d d g ƒ| j j ƒ  j ƒ  st ‚ | j ƒ  j ƒ  s1t ‚ t j ƒ  d  S(   Ni   i   RÊ   t   abcdR}   Rc   R@   R~   RO   Rd   s	   b (right)s	   a (right)(   R   Rm   R°   R   R¸   RE   R3   R6   R-   R9   Rg   t	   get_yaxist   get_visibleRJ   t   right_axR   RS   t   left_ax(   R   R‘   RG   R@   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_hist_secondary_legendÕ  s.    '#
%#
%c         C   s”  t  t j j d d ƒ d t d ƒ ƒ} t t j j d ƒ d d ƒ} |  j j ƒ  \ } } | j d | ƒ } | j d t	 d	 t	 d | ƒ |  j
 | d
 d d d d g ƒ| j ƒ  j ƒ  s¿ t ‚ | j j ƒ  j ƒ  sÚ t ‚ t j ƒ  |  j j ƒ  \ } } | j d | ƒ } | j d | d t	 d	 t	 ƒ |  j
 | d
 d d d d g ƒ| j ƒ  j ƒ  s^t ‚ | j j ƒ  j ƒ  syt ‚ t j ƒ  |  j j ƒ  \ } } | j d	 t	 d | ƒ } | j d t	 d	 t	 d | ƒ d d d d g } |  j
 | j d
 | ƒ| j j ƒ  j ƒ  st ‚ | j ƒ  j ƒ  s(t ‚ t j ƒ  |  j j ƒ  \ } } | j d	 t	 d | ƒ } | j d | d t	 d	 t	 ƒ d d d d g } |  j
 | j | ƒ | j j ƒ  j ƒ  s¼t ‚ | j ƒ  j ƒ  sÔt ‚ t j ƒ  |  j j ƒ  \ } } | j d	 t	 d t d | ƒ } | j d | d t	 d	 t	 ƒ d d d d g } |  j
 | j | ƒ | j j ƒ  j ƒ  snt ‚ | j ƒ  j ƒ  s†t ‚ t j ƒ  d  S(   Ni   i   RÊ   t   abcR   RÆ   R@   Rc   RO   Rd   R}   R~   R   s	   x (right)s	   a (right)s	   b (right)s	   c (right)t
   mark_right(   R   Rm   R°   R   R¸   R   RE   R3   R6   R9   Rg   Rã   Rä   RJ   Rå   R   RS   Ræ   R7   (   R   R‘   Ri   RG   R@   R{   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_df_series_secondary_legendý  sP    '



c         C   sŽ   t  t j j d ƒ ƒ } t  t j j d ƒ ƒ } | j d t ƒ } | j d t d t ƒ } | j ƒ  d k sr t ‚ | j ƒ  d k sŠ t ‚ d  S(   Ni   R"   RO   R$   (   R   Rm   R°   R   R6   R9   t
   get_yscaleRJ   (   R   t   s1t   s2RÔ   R‚   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_secondary_logy=  s    c         C   s]   t  t d ƒ ƒ } t j t ƒ 6 |  j j ƒ  \ } } | j d d d d d | ƒ Wd  QXd  S(   Ni   R    s   k--R0   Rk   R@   (   R   R   R¼   R½   R¾   RE   R3   R6   (   R   RÆ   RG   R@   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt)   test_plot_fails_with_dupe_color_and_styleI  s    c         C   sa  |  j  j ƒ  \ } } |  j j j d t d | ƒ } |  j | d d ƒ| j ƒ  } |  j | d g t	 | ƒ ƒ | j
 ƒ  } |  j | d g t	 | ƒ ƒ t ƒ  t |  j j j ƒ t |  j j j ƒ |  j  j ƒ  \ } } |  j j j d t d | ƒ } |  j | d d ƒ| j ƒ  } |  j | d g t	 | ƒ ƒ | j
 ƒ  } |  j | d g t	 | ƒ ƒ d  S(   NR"   R@   R#   R$   R€   (   RE   R3   R   R6   R-   R9   R:   R   RF   Rš   t   get_yticklabelsR   R	   R,   t   density(   R   RG   R@   t   xlabelst   ylabels(    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_hist_kdeP  s"    c      	   C   s/  t  ƒ  t j d d d ƒ } t |  j j j d d d d ƒt |  j j j d d  d d ƒt |  j j j d d  d t j d ƒ ƒt |  j j j d d d | ƒt |  j j j	 d d d | ƒ|  j
 j ƒ  \ } } |  j j j d t d d d | d	 | ƒ } |  j | d
 d ƒ|  j | j j ƒ  d ƒ d  S(   Niœÿÿÿid   i   t	   bw_methodt   scottt   indg      à?R"   R@   R#   R$   t   Density(   R   Rm   t   linspaceR	   R   R6   R,   Re   t   intRñ   RE   R3   R9   R:   RF   R#   t	   get_label(   R   t   sample_pointsRG   R@   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_kde_kwargsh  s    (!	c         C   sn   t  ƒ  t t j j d d ƒ ƒ } t j | d <t | j j ƒ } t	 t j
 | j d j ƒ  ƒ ƒ sj t ‚ d  S(   Nt   sizei2   i    (   R   R   Rm   R°   t   uniformRn   R	   R6   R,   t   anyt   isnanRW   t	   get_xdataRJ   (   R   Ri   R?   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_kde_missing_valsz  s
    c         C   s  |  j  j ƒ  \ } } |  j j j d d d | ƒ } t | j ƒ d k sN t ‚ |  j | j	 j
 ƒ  d ƒ t j ƒ  |  j  j ƒ  \ } } |  j j j d d d | ƒ } |  j | j j
 ƒ  d ƒ t j ƒ  |  j  j ƒ  \ } } |  j j j d d d	 t d | ƒ } t j ƒ  d  S(
   NRÈ   i   R@   t	   Frequencyt   orientationt
   horizontalt   alignt   leftR(   (   RE   R3   R   R6   R-   Rš   R=   RJ   RF   R#   Rû   R   RS   R&   R9   (   R   RG   R@   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_hist_kwargs†  s    

$c      	   C   s  |  j  j ƒ  \ } } |  j j j d t d d d d d | ƒ } |  j | d d ƒt | j ƒ d k sm t	 ‚ |  j
 | j d	 d g d ƒt ƒ  |  j  j ƒ  \ } } |  j j j d t d d
 d | ƒ } |  j | d d ƒ| j ƒ  } t | ƒ d k st	 ‚ |  j
 | d
 g ƒ d  S(   NR"   RÈ   i
   R0   R~   R@   R#   R$   R2   R¦   i   (   RE   R3   R   R6   R-   R9   R:   Rš   R=   RJ   R<   R   R,   RQ   (   R   RG   R@   RW   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_hist_kde_color—  s    *$c         C   s˜   |  j  j ƒ  \ } } |  j j j d t d | ƒ } |  j | d d ƒ| j ƒ  } |  j | |  j j	 g ƒ | j
 ƒ  } |  j | d g t | ƒ ƒ d  S(   NR"   R@   R#   R$   R€   (   RE   R3   R   R6   R.   R9   R:   R   RF   R   Rð   Rš   (   R   RG   R@   Rò   Ró   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_boxplot_series¨  s    c         C   s   t  t d ƒ ƒ } t j j t j j } |  j j ƒ  \ } } xI | D]A } t | ƒ s\ qD n  | j	 d | d | ƒ t
 | j	 | ƒ ƒ  qD Wd  S(   Ni   R/   R@   (   R   R   t   plottingt   _coret   _common_kindst   _series_kindsRE   R3   R
   R6   t   getattr(   R   Ri   t   kindsRG   R@   R/   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_kind_both_ways²  s    	c      
   C   s€   t  t d ƒ ƒ } |  j j ƒ  \ } } xR t j j D]D } t | ƒ sL q4 n  t j	 t
 ƒ  | j d | d | ƒ Wd  QXq4 Wd  S(   NRâ   R/   R@   (   R   R¸   RE   R3   R  R  R  R
   R¼   R½   t	   TypeErrorR6   (   R   Ri   RG   R@   R/   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_invalid_plot_data¾  s    c         C   sX   t  t d ƒ d t ƒ} x9 t j j D]+ } t | ƒ s= q% n  t | j d | ƒq% Wd  S(   Ni
   Rl   R/   (	   R   R   t   objectR  R  R  R
   R	   R6   (   R   Ri   R/   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_valid_object_plotÈ  s
    c      
   C   s†   t  d d d d g ƒ } |  j j ƒ  \ } } xR t j j D]D } t | ƒ sR q: n  t j t	 ƒ  | j
 d | d | ƒ Wd  QXq: Wd  S(   NR}   R~   g      ð?i   R/   R@   (   R   RE   R3   R  R  R  R
   R¼   R½   R  R6   (   R   Ri   RG   R@   R/   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt    test_partially_invalid_plot_dataÐ  s    c         C   s<   t  d d g ƒ } t j t ƒ  | j d d ƒ Wd  QXd  S(   Ni   i   R/   t   aasdf(   R   R¼   R½   R¾   R6   (   R   Ri   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_invalid_kindÙ  s    c         C   se   t  d d d ƒ} t  d d d ƒ} | j | ƒ } t | j ƒ } t | d | ƒ} t | j ƒ d  S(   Ns   1/1/2009t   periodsi   s   1/2/2009R_   (   R   t   appendR   Rþ   R   R	   R6   (   R   t   dr1t   dr2R_   Rw   Ri   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_dup_datetime_index_plotÞ  s    c      	   C   sû  t  t j d ƒ d d ƒ} t j j d ƒ } t t d d ƒ d | j d d d g ƒ} d d	 g } x$| D]} t | j d
 t  | ƒ d | ƒ} |  j	 | d d d
 d ƒt | j d
 | d | ƒ} |  j	 | d d d
 d ƒt | j d
 | j
 ƒ  d | ƒ} |  j	 | d d d
 d ƒt | j d
 | d | ƒ} |  j	 | d d d
 d ƒt | j d d d
 d d | ƒ} |  j	 | d d d
 d ƒqj Wt | j d | ƒ} |  j	 | d d d
 d ƒt d d d d ƒ} t  t j d ƒ d | d d ƒ} t  t j j d ƒ d | ƒ}	 t t d d ƒ d | d d d g ƒ}
 t | j d
 |	 ƒ} |  j	 | d d d
 d ƒt | j d
 |
 ƒ} |  j	 | d d d
 d ƒt j t ƒ  | j d
 t j d ƒ ƒ Wd  QXd g d } t j t t f ƒ  | j d
 | ƒ Wd  QXd  S(   Ni
   R   RÆ   i   R_   RÊ   RË   R)   R*   t   yerrR/   t   xerri    i   gš™™™™™É?s   1/1/2000s   1/1/2001t   freqt   Mi   i   t   zzz(   R   Rm   t   arangeR°   R   R   R_   R	   R6   t   _check_has_errorbarst   tolistR   R¼   R½   R¾   R  (   R   Ri   t   s_errt   d_errR  R/   R@   t   ixR   t   ts_errt   td_err(    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_errorbar_plotç  s<    *!!!!'c         C   s3   t  |  j j d t ƒt  |  j j d |  j ƒd  S(   Nt   table(   R	   R   R6   R9   (   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt
   test_table  s    c         C   s3   |  j  t d d d g ƒ t j j t j j ƒ d  S(   Ni   i   i   (   t   _check_grid_settingsR   R  R  R  R  (   R   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_series_grid_settings  s    	c         C   sÛ   d d l  m } xÄ d d d d g D]° } | d d | ƒ} | | g k sP t ‚ | d d | g ƒ} | | g k sz t ‚ | d	 d | ƒ} | | g d	 k s¥ t ‚ | d	 d | g ƒ} | | g d	 k s# t ‚ q# Wd  S(
   Niÿÿÿÿ(   t   _get_standard_colorsR¦   R“   t   greens   #FF0000i   R0   i   (   t   pandas.plotting._styleR1  RJ   (   R   R1  R   R—   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_standard_colors  s    c         C   sº  d d  l  j } d d l m } xÇ | j D]¼ } | d d d | ƒ } | | g k sY t ‚ | d d d | g ƒ } | | g k s† t ‚ | d d d | ƒ } | | g d k s´ t ‚ | d d d | g ƒ } | | g d k s) t ‚ q) WxÊ | j j D]¼ } | d d d | ƒ } | | g k s&t ‚ | d d d | g ƒ } | | g k sSt ‚ | d d d | ƒ } | | g d k st ‚ | d d d | g ƒ } | | g d k sö t ‚ qö Wd  S(   Niÿÿÿÿ(   R1  t
   num_colorsi   R0   i   (   t   matplotlib.colorsRL   R3  R1  t   cnamesRJ   t   ColorConverter(   R   RL   R1  R   R—   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_standard_colors_all0  s(    c         C   s`   |  j  j ƒ  \ } } t t j d ƒ d ƒ j d d d | ƒ } |  j | j ƒ  d d g ƒd  S(   Ni   i   R0   R2  R@   t
   linecolors(   RE   R3   R   Rm   R$  R6   R<   RQ   (   R   RG   R@   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_series_plot_color_kwargsQ  s    +c         C   sr   |  j  j ƒ  \ } } t t j d ƒ d d t d d d ƒƒj d d d | ƒ } |  j | j ƒ  d	 d g ƒd  S(
   Ni   i   R_   s   1/1/2000R  R0   R2  R@   R:  (	   RE   R3   R   Rm   R$  R   R6   R<   RQ   (   R   RG   R@   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt"   test_time_series_plot_color_kwargsW  s    $c   	      C   s³   d d  l  } |  j | j ƒ } t d d d ƒ} t t j d d ƒ d | ƒ} d } |  j j ƒ  \ } } x& t	 | ƒ D] } | j
 d	 | ƒ } qv W|  j | j ƒ  d
 | |  ƒd  S(   Niÿÿÿÿs   1/1/2000R  i   i   i   R_   i   R@   R:  (   R   t   _unpack_cyclerRI   R   R   Rm   R$  RE   R3   R   R6   R<   RQ   (	   R   R   t
   def_colorsR_   Ri   t   ncolorsRG   R@   t   i(    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt-   test_time_series_plot_color_with_empty_kwargs^  s    c         C   s´   t  t j d ƒ d g  t d ƒ D] } d | ^ q ƒ} |  j j ƒ  \ } } | j d d d d d g d	 | ƒ } g  d d d d g D] } d | ^ q„ } |  j | j ƒ  | ƒ d  S(
   Ni
   R_   s   P%02dt   xticksi    i   i   i	   R@   (	   R   Rm   R$  R   RE   R3   R6   RF   R   (   R   R@  Ri   RG   R@   Rz   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_xticklabelsl  s
    8$)c         C   s`   d d l  m } t t d d ƒ d t j d d d d	 d
 | d d g ƒ ƒ ƒ} t | j ƒ d  S(   Niÿÿÿÿ(   t   CustomBusinessDayid   iy   R_   t   starts
   2014-05-01t   ends
   2014-06-01R!  t   holidayss
   2014-05-26(   t   pandas.tseries.offsetsRD  R   R   t   pdt   bdate_rangeR	   R6   (   R   RD  Ri   (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   test_custom_business_day_freqt  s
    c         C   sŸ   t  d d d d g ƒ } |  j j ƒ  \ } } | j d | ƒ } | j j ƒ  } | j d d g d t ƒ|  j j ƒ  \ } } | j j ƒ  } t j	 | | ƒ d  S(   Ni   i   i   i   R@   i    t   inplace(
   R   RE   R3   R6   R&   R…   t   dropR9   R   Rs   (   R   Ri   RG   R@   t   beforet   after(    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt%   test_plot_accessor_updates_on_inplace}  s    (<   t   __name__t
   __module__R   R¼   t   markt   slowRA   RH   RM   RX   Ra   Rj   R|   R„   R‹   R’   R˜   R™   R    R£   RÄ   RÇ   RÉ   RÍ   RÕ   RÖ   RÙ   RÝ   Rá   Rç   Rê   Rî   Rï   t   tdt   skip_if_no_scipyRô   Rý   R  R	  R
  R  R  R  R  R  R  R  R,  t   xfail_if_mpl_2_2R.  R0  R4  R9  R;  R<  RA  RC  RK  t   xfailRP  (    (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyR      sn   	&			#			"	
		
	
2		,(@				

				,!						(!   t   __doc__R    t	   itertoolsR   t   numpyRm   t   numpy.randomR   R¼   t   pandas.compatR   R   t   pandas.util._test_decoratorst   utilt   _test_decoratorsRU  t   pandasRI  R   R   R   t   pandas.tests.plotting.commonR   R	   R
   R   t   pandas.util.testingt   testingR   t   pandas.plottingR  t   skip_if_no_mplR   (    (    (    s@   lib/python2.7/site-packages/pandas/tests/plotting/test_series.pyt   <module>   s   "	