ó
šxŠ\c           @   sû   d  Z  d d l Z d d l m Z d d l m Z d d l Z d d l m Z d d l	 j
 j Z d d l m Z d d l m Z m Z d d l j
 j Z d d l j Z e j d „  ƒ Z e j d	 e f d
 „  ƒ  Yƒ Z e j d e f d „  ƒ  Yƒ Z d S(   s$    Test cases for misc plot functions iÿÿÿÿN(   t   random(   t   randn(   t   lmap(   t	   DataFrame(   t   TestPlotBaset   _check_plot_worksc          C   sC   t  i d d g d 6ƒ }  t j t d d ƒ |  j ƒ  Wd  QXd  S(   Ni   i   t   At   matchs   matplotlib is required(   R   t   pytestt   raisest   ImportErrort   plot(   t   df(    (    s>   lib/python2.7/site-packages/pandas/tests/plotting/test_misc.pyt   test_import_error_message   s    t   TestSeriesPlotsc           B   sP   e  Z d  „  Z e j j d „  ƒ Z e j j d „  ƒ Z e j j d „  ƒ Z RS(   c         C   sE   t  j |  | ƒ d d  l } | j ƒ  t j ƒ  |  _ d |  j _ d  S(   Niÿÿÿÿt   ts(   R   t   setup_methodt
   matplotlibt
   rcdefaultst   tmt   makeTimeSeriesR   t   name(   t   selft   methodt   mpl(    (    s>   lib/python2.7/site-packages/pandas/tests/plotting/test_misc.pyR       s
    
c         C   sh   d d l  m } t | d |  j ƒt | d |  j j ƒ| |  j d d ƒ} |  j | d d g ƒd  S(   Niÿÿÿÿ(   t   autocorrelation_plott   seriest   labelt   Testt   labels(   t   pandas.plottingR   R   R   t   valuest   _check_legend_labels(   R   R   t   ax(    (    s>   lib/python2.7/site-packages/pandas/tests/plotting/test_misc.pyt   test_autocorrelation_plot(   s
    c         C   s@   d d l  m } t | d |  j ƒt | d |  j d d ƒd  S(   Niÿÿÿÿ(   t   lag_plotR   t   lagi   (   R   R#   R   R   (   R   R#   (    (    s>   lib/python2.7/site-packages/pandas/tests/plotting/test_misc.pyt   test_lag_plot1   s    c         C   s-   d d l  m } t | d |  j d d ƒd  S(   Niÿÿÿÿ(   t   bootstrap_plotR   t   sizei
   (   R   R&   R   R   (   R   R&   (    (    s>   lib/python2.7/site-packages/pandas/tests/plotting/test_misc.pyt   test_bootstrap_plot7   s    (	   t   __name__t
   __module__R   R   t   markt   slowR"   R%   R(   (    (    (    s>   lib/python2.7/site-packages/pandas/tests/plotting/test_misc.pyR      s   		t   TestDataFramePlotsc           B   s¶   e  Z e j e j d  „  ƒ ƒ Z e j j d „  ƒ Z	 e j j d „  ƒ Z
 e j j d ƒ d „  ƒ Z e j j d „  ƒ Z e j j d „  ƒ Z d „  Z d „  Z d	 „  Z d
 „  Z RS(   c         C   sl  t  j } t j d ƒ  t t d d ƒ ƒ } Wd  QXt j t ƒ # t | d d d | d d ƒ} Wd  QX| d	 d	 j	 j
 ƒ  } d
 d d g } |  j | | ƒ |  j | d d d d d d d d	 ƒ| d	 d d | d	 <t j t ƒ # t | d d d | d d ƒ} Wd  QX| d	 d	 j	 j
 ƒ  } d d d g } |  j | | ƒ |  j | d d d d d d d d	 ƒd  S(   Ni*   id   i   t   filterwarningst   alwayst   framet   range_paddinggš™™™™™¹?i    s   -2t   0t   2t
   xlabelsizei   t   xrotiZ   t
   ylabelsizet   yroti   s   -1.0s   -0.5s   0.0(   t   plottingt   scatter_matrixR   t
   RNGContextR   R   t   assert_produces_warningt   UserWarningR   t   yaxist   get_majorticklabelst   _check_text_labelst   _check_ticks_props(   R   R9   R   t   axest   axes0_labelst   expected(    (    s>   lib/python2.7/site-packages/pandas/tests/plotting/test_misc.pyt   test_scatter_matrix_axisA   s(    	c      	   C   s—  d d l  m } d d l m } | } t | d | d d ƒd } t | d | d d d
 | ƒ} |  j | j ƒ  d  d | d | d d  ƒd d d g } t | d | d d d
 | ƒ} |  j | j ƒ  d  d | d | d d  ƒt | d | d d d | j ƒ} t | j t	 j
 d d | d j ƒ  ƒ ƒ } |  j | j ƒ  d  d | d | d d  ƒd }	 t i t j |	 ƒ d 6t j |	 ƒ d 6t j |	 ƒ d 6d g |	 d 6ƒ } t | d | d d ƒd } t | d | d d d
 | ƒ} |  j | j ƒ  d  d | d | d d  ƒd d d g } t | d | d d d
 | ƒ} |  j | j ƒ  d  d | d | d d  ƒt | d | d d d | j ƒ} t | j t	 j
 d d | d j ƒ  ƒ ƒ } |  j | j ƒ  d  d | d | d d  ƒd d d g }
 t i d d d g d 6d d d g d 6d d d g d 6|
 d 6ƒ } | | d d
 |
 ƒ} | j ƒ  \ } } |  j | d |
 ƒt j t ƒ  | d | d d ƒ Wd  QXd  S(   Niÿÿÿÿ(   t   andrews_curves(   t   cmR0   t   class_columnt   Names   #556270s   #4ECDC4s   #C7F464t   colori
   t
   linecolorst   mappingt
   dodgerbluet
   aquamarinet   seagreent   colormapi    i   R   t   Bt   Ct   bt   gt   ri   i   t   data(   s   #556270s   #4ECDC4s   #C7F464(   s   #556270s   #4ECDC4s   #C7F464(   R   RE   R   RF   R   t   _check_colorst	   get_linest   jetR   t   npt   linspacet   nuniqueR   R    t   randt   get_legend_handles_labelsR   R;   t   FutureWarning(   R   t   irisRE   RF   R   t   rgbaR!   t   cnamest   cmapst   lengtht   colorst   handlesR   (    (    s>   lib/python2.7/site-packages/pandas/tests/plotting/test_misc.pyt   test_andrews_curvesa   sd    %%+%%%+%c      
   C   s¥  d d l  m } d d l m } | } t | d | d d ƒ} t | j ƒ  ƒ } t | j j ƒ  ƒ } d } t | d | d d d
 | ƒ} |  j	 | j ƒ  d  d | d | d d  ƒd d d g }	 t | d | d d d
 |	 ƒ} |  j	 | j ƒ  d  d |	 d | d d  ƒt | d | d d d | j
 ƒ} t | j
 t j d d | d j ƒ  ƒ ƒ }
 |  j	 | j ƒ  d  d |
 d | d d  ƒt | d | d d d t ƒ} t | j ƒ  ƒ | | k sÃt ‚ d d d g } t i d d d g d 6d d d g d 6d d d g d 6| d 6ƒ } | | d d
 | ƒ} | j ƒ  \ } } |  j	 | d | ƒt j t ƒ  | d | d d ƒ Wd  QXt j t ƒ  | | d d | ƒWd  QXd  S(    Niÿÿÿÿ(   t   parallel_coordinates(   RF   R0   RG   RH   s   #556270s   #4ECDC4s   #C7F464RI   i
   RJ   RK   RL   RM   RN   RO   i    i   t   axvlinesRR   RS   RT   i   i   R   RP   RQ   RU   Rd   (   s   #556270s   #4ECDC4s   #C7F464(   R   Rg   R   RF   R   t   lenRW   t   xaxist   get_ticklabelsRV   RX   R   RY   RZ   R[   t   Falset   AssertionErrorR   R]   R   R;   R^   (   R   R_   Rg   RF   R   R!   t   nlinest   nxticksR`   Ra   Rb   Rd   Re   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/plotting/test_misc.pyt   test_parallel_coordinates¢   sJ    		%	%	+%	"s$   ignore:Attempting to set:UserWarningc         C   sƒ  d d l  m } t i g  t d ƒ D] } | ^ q# d 6g  t d ƒ D] } d ^ qC g  t d ƒ D] } d ^ q_ g  t d ƒ D] } d ^ q| d	 6ƒ } | | d	 d
 t ƒ} | j ƒ  \ } } t g  | D] } | j ƒ  ^ qÇ | ƒ }	 t |	 d d „  ƒ}
 t g  |
 d d !D] } | ^ qg  |
 d D] } | ^ q%ƒ } xB | D]: \ } } | d | d k  ru| d | d k  sAt	 ‚ qAWd S(   s    For #15908 iÿÿÿÿ(   Rg   i   t   feati
   i   i   i   t   classt   sort_labelst   keyc         S   s   |  d S(   Ni   (    (   t   x(    (    s>   lib/python2.7/site-packages/pandas/tests/plotting/test_misc.pyt   <lambda>á   s    i    N(
   R   Rg   R   t   ranget   TrueR]   t   zipt	   get_colort   sortedRm   (   R   Rg   t   it   _R   R!   t	   polylinesR   t   polylinet   color_label_tuplest   ordered_color_label_tuplest   prev_next_tupelst   prevt   nxt(    (    s>   lib/python2.7/site-packages/pandas/tests/plotting/test_misc.pyt,   test_parallel_coordinates_with_sorted_labelsÓ   s    &9'(	  c         C   s  d d l  m } d d l m } | } t | d | d d ƒd! } t | d | d d d
 | ƒ} g  | j d  D] } | j ƒ  d k rn | ^ qn } |  j | d  d | d | d d  ƒd d d g }	 t | d | d d d
 |	 ƒg  | j d  D] } | j ƒ  d k rð | ^ qð } |  j | d |	 d | d d  ƒt | d | d d d | j ƒt	 | j t
 j d d | d j ƒ  ƒ ƒ }
 g  | j d  D] } | j ƒ  d k r| ^ q} |  j | d |
 d | d d  ƒd d d d g d d d d g d d d d g g } t i d d d g d 6d d d g d 6d d d g d 6d d d  g d 6ƒ } | | d d
 | ƒ} | j ƒ  \ } } |  j | d | ƒd  S("   Niÿÿÿÿ(   t   radviz(   RF   R0   RG   RH   s   #556270s   #4ECDC4s   #C7F464RI   i   t    i
   t
   facecolorsRK   RL   RM   RN   RO   i    i   g        g      ð?g      à?i   i   R   RP   RQ   RR   RS   RT   (   s   #556270s   #4ECDC4s   #C7F464(   R   R†   R   RF   R   t   patchest	   get_labelRV   RX   R   RY   RZ   R[   R   R]   (   R   R_   R†   RF   R   R`   R!   t   pR‰   Ra   Rb   Rd   Re   R   (    (    s>   lib/python2.7/site-packages/pandas/tests/plotting/test_misc.pyt   test_radvizè   s:    22!+2!c   	      C   sS  | j  d d d ƒj ƒ  } t | j ƒ } | j d t d | ƒ } g  | D] } | j ƒ  ^ qI | k sm t ‚ t j	 t
 | j d t d | d g ƒt j	 t
 | j d t d | d  ƒt j	 t
 | j d t d | ƒ| j  d d d ƒj d t d	 d d | d
  ƒ } g  | D] } | D] } | j ƒ  ^ qq} | | d  d g k sOt ‚ d  S(   NRH   t   axisi   t   subplotst   titles   kittens > puppiesi   t
   SepalWidtht   layoutiÿÿÿÿi   R‡   (   i   i   (   t   dropt   headt   listt   columnsR   Rx   t	   get_titleRm   R   R	   t
   ValueErrorRl   (	   R   R_   R   R   R   R‹   t   sublistR!   t
   title_list(    (    s>   lib/python2.7/site-packages/pandas/tests/plotting/test_misc.pyt   test_subplot_titles  s    +#$,c         C   s©   t  t j d ƒ ƒ } t j | d ƒ t j ƒ  } t j | d ƒ t j ƒ  } | | k s_ t ‚ d d l m } | d d d ƒ} | d d d ƒ} | | k s¥ t ‚ d  S(	   Ni
   i    iÿÿÿÿ(   t   _get_standard_colorsi   t
   color_typeR    (   i
   i
   (	   R   RY   t   zerosR8   Rg   R    Rm   t   pandas.plotting._styleR›   (   R   R   t   rand1t   rand2R›   t   color1t   color2(    (    s>   lib/python2.7/site-packages/pandas/tests/plotting/test_misc.pyt$   test_get_standard_colors_random_seed(  s    c         C   s’   d d l  m } | d d d ƒ} | d d d ƒ} | d d d ƒ} t | ƒ d k s^ t ‚ t | ƒ d k sv t ‚ t | ƒ d k sŽ t ‚ d  S(   Niÿÿÿÿ(   R›   i   Rœ   t   defaulti	   i   (   Rž   R›   Ri   Rm   (   R   R›   R¡   R¢   t   color3(    (    s>   lib/python2.7/site-packages/pandas/tests/plotting/test_misc.pyt+   test_get_standard_colors_default_num_colors9  s    c            sÉ   t  i d d d g d 6d d d g d 6d	 d
 d g d 6d d d g d 6d d d g d 6d d d g d 6ƒ } | j j ƒ  j j ƒ  } t d „  | j ƒ  d d !ƒ ‰  t ‡  f d †  ˆ  Dƒ ƒ sÅ t ‚ d  S(   Ns
   2017-02-03s
   2017-03-03s
   2017-01-01s   account-starts   Alice Anderss	   Bob Bakers   Charlie Chaplint   clientgáz®Ga–Àg\Âõ(Ü$@g     LÝ@t   balanceiÒ  ix	  iû   s   db-idi  iõ  iî	  s   proxy-idi4   i    t   rankc         S   s
   |  j  ƒ  S(   N(   t   get_facecolor(   t   rect(    (    s>   lib/python2.7/site-packages/pandas/tests/plotting/test_misc.pyRv   P  s    i    i   c         3   s   |  ] } | ˆ  d  k Vq d S(   i    N(    (   t   .0RI   (   Rd   (    s>   lib/python2.7/site-packages/pandas/tests/plotting/test_misc.pys	   <genexpr>R  s    (	   R   R§   t   value_countsR   t   barR   t   get_childrent   allRm   (   R   R   R!   (    (   Rd   s>   lib/python2.7/site-packages/pandas/tests/plotting/test_misc.pyt   test_plot_single_colorD  s    

	c         C   sî   d d l  m } | j t d ƒ ƒ } t j j d d | ƒ} t | ƒ t | ƒ k s[ t ‚ t	 t
 j j d d ƒ d t d	 ƒ ƒ} | j t
 j d
 d d ƒ ƒ } | j j j d d d | ƒ } | j d j ƒ  | j d j ƒ  k sê t ‚ d  S(   Niÿÿÿÿ(   RF   i   i   RI   i0   i   R•   t   ABCDi    i   t   figsizei   i   (   i   i   (   R   RF   t   gnuplotRw   R8   t   _styleR›   Ri   Rm   R   RY   R    R   R”   RZ   R   R   R®   R‰   Rª   (   R   RF   t   color_beforet   color_afterR   t
   color_listR‹   (    (    s>   lib/python2.7/site-packages/pandas/tests/plotting/test_misc.pyt%   test_get_standard_colors_no_appendingT  s    	'(   R)   R*   t   tdt   xfail_if_mpl_2_2t   skip_if_no_scipyRD   R   R+   R,   Rf   Rp   R.   R…   RŒ   Rš   R£   R¦   R±   R¹   (    (    (    s>   lib/python2.7/site-packages/pandas/tests/plotting/test_misc.pyR-   =   s   A1&			(   t   __doc__t   numpyRY   R    t   numpy.randomR   R   t   pandas.compatR   t   pandas.util._test_decoratorst   utilt   _test_decoratorsRº   t   pandasR   t   pandas.tests.plotting.commonR   R   t   pandas.util.testingt   testingR   R   R8   t   skip_if_mplR   t   skip_if_no_mplR   R-   (    (    (    s>   lib/python2.7/site-packages/pandas/tests/plotting/test_misc.pyt   <module>   s   			