
    bMh                     Z   d Z ddlmZ ddlmZ ddlZddlZddlmZ ddl	m
Z
 ddlmc mZ ddlZddlmZmZmZmZmZ ddlmZ ddlmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$  ej%        d	          Z& ej%        d
          Z'ej(        d             Z)ej(        d             Z* G d d          Z+dS )z Test cases for Series.plot     )datetime)chainN)is_platform_linux)np_version_gte1p24)	DataFrameSeries
date_rangeperiod_rangeplotting)_check_ax_scales_check_axes_shape_check_colors_check_grid_settings_check_has_errorbars_check_legend_labels_check_plot_works_check_text_labels_check_ticks_props_unpack_cycler
get_y_axis
matplotlibzmatplotlib.pyplotc                      t          t          j        dt          j                  t	          dd          d          S )N
   dtype
2020-01-01periodstsindexname)r   nparangefloat64r	        a/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/plotting/test_series.pyr   r   '   s@    
	"BJ'''r222   r'   c            	          t          t          d          t          j        dd t          d          D                       S )N   seriesc                     g | ]}d | S )i_r&   .0is     r(   
<listcomp>zseries.<locals>.<listcomp>3   s    :W:W:W888:W:W:Wr'   )r   r"   r!   )r   ranger#   r%   r&   r'   r(   r+   r+   0   s@    b		(:W:WUSUYY:W:W:W   r'   c                      e Zd Zej        j        ej                            dddiddig          d                         Zej        j        d             Zej        j        ej                            dd	d
iddigdd
iddigdd
idddgg          d                         Z	ej        j        d             Z
ej        j        d             Zd Zej                            dddd ej        d ej        d                    ddg          d             Zd Zd  Zej                            di d!d"id!d#ig          d$             Zd% Zd& Zej                            di d'd
ig          d(             Zd) Zd* Zd+ Zd, Zd- Zd. Zd/ Zd0 Zd1 Zd2 Z d3 Z!ej                            d4d5 e"d6d78          g          d9             Z#d: Z$d; Z%ej        &                    e'o	 e(            d<d=          ej                            d>d?d@g          dA                         Z)ej        &                    e'o	 e(            d<d=          ej                            dBg dCg dDg          dE                         Z*dF Z+dG Z,dH Z-dI Z.dJ Z/dK Z0dL Z1dM Z2dN Z3dO Z4dP Z5dQ Z6dR Z7dS Z8dT Z9dU Z:dV Z;dW Z<dX Z=ej                            dYdZd[g          d\             Z>d] Z?ej                            d^d_d`gd5d`gd5 e@jA        d`          gda e@jB        dbdcd`          gg          dd             ZCde ZDdf ZEdg ZFej        &                    dhi          dj             ZGej                            deHjI        jJ        eHjI        jK        z             dk             ZLej                            deHjI        jJ        eHjI        jK        z             dl             ZMej                            deHjI        jJ                  dm             ZNej                            deHjI        jJ                  dn             ZOej                            deHjI        jJ                  do             ZPdp ZQdq ZRdr ZSej        j        ej                            dddg          ej                            ds eT e@jU        e@jV        W                    dt          X                    du                               e@jU        e@jV        W                    dt          X                    du                     eY e@jU        e@jV        W                    dt          X                    du                               eZ e@jU        e@jV        W                    dt          X                    dv                    dwdxgy          g          dz                                     Z[ej        j        d{             Z\ej        j        ej                            ds eT e@jU        e@jV        W                    dt          X                    d|                               eZ e@jU        e@jV        W                    dt          X                    d}                    dwdxgy          g          d~                         Z]ej        j        d             Z^ej        j        d             Z_ej        j        d             Z`ej        j        d             Zaej        j        d             Zbej                            dg d          d             Zcd Zdd Zed Zfd Zgd Zhd Zid Zjej        &                    di          d             Zkej                            dddg          d             Zld Zmd Znej                            dg dg dfg dg dfg          d             Zod Zpej                            dg d          ej                            dg d          d                         Zqej                            d4 erjs        ddtd           erjt        d           erjt        dt          gg          d             Zud Zvej        j        d             Zwd5S )TestSeriesPlotskwargslabelfoo	use_indexFc                 *    t          |j        fi | d S Nr   plot)selfr   r5   s      r(   	test_plotzTestSeriesPlots.test_plot8   s"     	"',,V,,,,,r'   c                 T    t          |j        d          }t          |d           d S )Nr   )rotxrot)r   r<   r   )r=   r   axess      r(   test_plot_tick_propsz$TestSeriesPlots.test_plot_tick_props=   s/     a0004a((((((r'   zscale, exp_scalelogyTyaxisloglogxxaxisloglog)rI   rF   c                 H    t          |j        fddi|}t          |fi | d S )Nstyle.)r   r<   r   )r=   r   scale	exp_scaleaxs        r(   test_plot_scalesz TestSeriesPlots.test_plot_scalesB   s<     rw;;c;U;;))y)))))r'   c                 H    t          |d d         j        j                   d S Nr   )r   r<   barr=   r   s     r(   test_plot_ts_barz TestSeriesPlots.test_plot_ts_barO   s#    "SbS',*+++++r'   c                 <    t          |j        j        d           d S )NFstacked)r   r<   arearU   s     r(   test_plot_ts_area_stackedz)TestSeriesPlots.test_plot_ts_area_stackedS   s    "',666666r'   c                     t          t          d          t          dd                    }t          |j                   d S )N   r   r   )r   r2   r
   r   r<   )r=   sers     r(   test_plot_iseriesz!TestSeriesPlots.test_plot_iseriesW   s:    U1XX|L!DDDEE#(#####r'   kindlinerT   barhkdescipy)markshistboxc                 B    t          |d d         j        |           d S )Nr]   r`   r;   )r=   r+   r`   s      r(   test_plot_series_kindsz&TestSeriesPlots.test_plot_series_kinds[   s'     	&!*/555555r'   c                 H    t          |d d         j        j                   d S rS   )r   r<   rb   r=   r+   s     r(   test_plot_series_barhz%TestSeriesPlots.test_plot_series_barhi   s$    &"+*/00000r'   c                     t          t          t          j                            d                              d                    j        j        d          }t          |j	        d         gdg           d S )N   r   blackcolorr   
facecolors)
r   r   r#   randomdefault_rngstandard_normalr<   rT   r   patches)r=   rP   s     r(   test_plot_series_bar_axz'TestSeriesPlots.test_plot_series_bar_axl   sm    29((++;;B??@@EIQX
 
 
 	rz!}o7)<<<<<<r'   layout)   )r|   r{   c                 R    t          |j        fddi|}t          |dd           d S )NsubplotsTr|   r|   r|   )axes_numrz   )r   r<   r   )r=   r   r5   rP   s       r(   test_plot_6951zTestSeriesPlots.test_plot_6951r   s;     rw@@@@@"q888888r'   c                     t           j                                        \  }}|                    dd|          }t	          |j        d           t          |ddd           d S )NTest)      )titlefigsizerP   r|   r   )r   rz   r   )mplpyplotr~   r<   r   r   r   )r=   r+   _rP   s       r(   test_plot_figsize_and_titlez+TestSeriesPlots.test_plot_figsize_and_titlex   s_    
##%%2[[vw2[>>28V,,,"qIIIIIIr'   c                     d}t           j        j        |         }t           j                                        \  }}t	          g d                              |           |t           j        j        |         k    sJ d S )Nzaxes.prop_cycler|   ro      rP   )r   r   rcParamsr~   r   r<   )r=   keycolorsr   rP   s        r(   test_dont_modify_rcParamsz)TestSeriesPlots.test_dont_modify_rcParams   sq    $S)
##%%2yyy"%%%,S1111111r'   secondary_yc                 t   t           j                                        \  }} |j        dd|i|}|                                \  }}|                                }||d                             d          d         d         k    sJ ||d                             d          d         d         k    sJ d S )NrP   r   Forigr{   r&   )r   r   r~   r<   get_xlim	get_linesget_data)r=   r   r5   r   rP   xminxmaxliness           r(   test_ts_line_limz TestSeriesPlots.test_ts_line_lim   s    
##%%2RW%%%f%%[[]]
duQx((e(44Q7:::::uQx((e(44Q7;;;;;;;r'   c                 p   t           j                                        \  }}|j                            d|          }|                                \  }}|                                d                             d          d         }||d         k    sJ ||d         k    sJ t          |d           d S )NF)rY   rP   r   r   r{   rA   	r   r   r~   r<   rZ   r   r   r   r   r=   r   r   rP   r   r   ra   s          r(   test_ts_area_limz TestSeriesPlots.test_ts_area_lim   s    
##%%2W\\%B\//[[]]
d||~~a ))u)55a8tAwtBx2A&&&&&&r'   c                 r   t           j                                        \  }}|j                            dd|          }|                                \  }}|                                d                             d          d         }||d         k    sJ ||d         k    sJ t          |d           d S )	NFTrY   x_compatrP   r   r   r{      rA   r   r   s          r(   test_ts_area_lim_xcompatz(TestSeriesPlots.test_ts_area_lim_xcompat   s    
##%%2W\\%$2\>>[[]]
d||~~a ))u)55a8tAwtBx2B''''''r'   c                    |                                 }|                    d                              d          |_        t          j                                        \  }}|j                            dd|          }|	                                \  }}|
                                d                             d          d         }||d         k    sJ ||d         k    sJ t          |d	           d S )
NGMTCETFTr   r   r   r{   rA   copytz_localize
tz_convertr!   r   r   r~   r<   rZ   r   r   r   r   r=   r   tz_tsr   rP   r   r   ra   s           r(   test_ts_tz_area_lim_xcompatz+TestSeriesPlots.test_ts_tz_area_lim_xcompat   s    		''..99%@@
##%%2Z__UTb_AA[[]]
d||~~a ))u)55a8tAwtBx2A&&&&&&r'   c                    |                                 }|                    d                              d          |_        t          j                                        \  }}|j                            dd|          }|	                                \  }}|
                                d                             d          d         }||d         k    sJ ||d         k    sJ t          |d	           d S )
Nr   r   FT)rY   r   rP   r   r   r{   rA   r   r   s           r(   'test_ts_tz_area_lim_xcompat_secondary_yz7TestSeriesPlots.test_ts_tz_area_lim_xcompat_secondary_y   s    		''..99%@@
##%%2Z__U_DD[[]]
d||~~a ))u)55a8tAwtBx2A&&&&&&r'   c                    t           j                            ddd          \  }\  }}t          |                              |d           t          |                              |d           t          |                              ||          sJ t          |                              ||          sJ t                              |           d S )Nr|   ro   T)shareyrZ   )rP   r`   )	r   r   r~   absr<   r   joinedpltclose)r=   r   figax1ax2s        r(   test_area_sharey_dont_overwritez/TestSeriesPlots.test_area_sharey_dont_overwrite   s    *--a4-@@Zc3B&)))B&)))#%%c3/////#%%c3/////		#r'   c                     t          ddg          }t          j                                        \  }}|                    dd|          }t          |dg           t          j                            d           d S )Nr|   ro   LABELT)r6   legendrP   labelsallr   r   r   r~   r<   r   r   r=   sr   rP   s       r(   
test_labelzTestSeriesPlots.test_label   sp    Aq6NN
##%%2VV'$2V66R	2222
r'   c                     t          ddg          }t          j                                        \  }}|                    d|          }t          |dg           t          j                            d           d S )Nr|   ro   Tr   rP    r   r   r   r   s       r(   test_label_nonezTestSeriesPlots.test_label_none   sn    Aq6NN
##%%2VV4BV''R----
r'   c                     t          ddgd          }t          j                                        \  }}|                    d|          }t          |dg           t          j                            d           d S )	Nr|   ro   NAMEr"   Tr   r   r   r   r   s       r(   test_label_ser_namez#TestSeriesPlots.test_label_ser_name   su    Aq6'''
##%%2VV4BV''R1111
r'   c                     t          ddgd          }t          j                                        \  }}|                    dd|          }t          |dg           t          j                            d	           d S )
Nr|   ro   r   r   Tr   r   r6   rP   r   r   r   r   s       r(   test_label_ser_name_overridez,TestSeriesPlots.test_label_ser_name_override   sw    Aq6'''
##%%2VV4w2V66R	2222
r'   c                 T   t          ddgd          }t          j                                        \  }}|                    dd|          }|                                J |                                 t          |dg           t          j                            d	           d S )
Nr|   ro   r   r   Fr   r   r   r   )	r   r   r   r~   r<   
get_legendr   r   r   r   s       r(   &test_label_ser_name_override_dont_drawz6TestSeriesPlots.test_label_ser_name_override_dont_draw   s    Aq6'''
##%%2VV5BV77}}&&&
		R	2222
r'   c                     t          g d          }t          |j        d           d}t          j        t
          |          5  t          |j                   d d d            d S # 1 swxY w Y   d S )N)FFTT)include_boolno numeric data to plotmatch)r   r   r<   pytestraises	TypeError)r=   r   msgs      r(   test_booleanzTestSeriesPlots.test_boolean   s    '''((!&t4444']9C000 	& 	&af%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s   A''A+.A+r!   Nr      r   c                    ddt           j        dg}t          ||          }t          |j                  }|j        d                                         }t          j        g dt           j                  }t          j
        t          j        |j        d          |           t          j
        |j        t          j        g d                     t          j        g d	t           j                  }t          |j        d
          }t          j
        |j        d                                         |           t          |j        j                  }t          j
        |j        d                                         |           t          |j        j        d          }t          j
        |j        d                                         |           d S )Nr|   ro   r   r!   r   r   r   )FFTF)r|   ro   r   r   TrX   F)r#   nanr   r   r<   r   	get_ydataarrayr%   tmassert_numpy_array_equaldeletedatamaskrZ   )r=   r!   valuesdrP   maskedexpexpecteds           r(   test_line_area_nan_seriesz)TestSeriesPlots.test_line_area_nan_series   su   Q"6'''qv&&!&&((hyyy
333
#BIfk1$=$=sCCC
#FK:U:U:U1V1VWWW8LLL
;;;qvt444
#BHQK$9$9$;$;XFFFqv{++
#BHQK$9$9$;$;XFFFqv{E:::
#BHQK$9$9$;$;XFFFFFr'   c                     t          g dg d          }d|j        _        t          j                                        \  }}|                    d|          }|                                }|dk    sJ d S Nr   abcr   z	The IndexFr8   rP   r   )r   r!   r"   r   r   r~   r<   
get_xlabel)r=   r   r   rP   r6   s        r(   test_line_use_index_falsez)TestSeriesPlots.test_line_use_index_false  so    999OOO444"
##%%2VVeV++{{{{{{r'   c                     t          g dg d          }d|j        _        t          j                                        \  }}|j                            d|          }|                                }|dk    sJ d S r   )	r   r!   r"   r   r   r~   r<   rT   r   )r=   r   r   rP   r   label2s         r(   "test_line_use_index_false_diff_varz2TestSeriesPlots.test_line_use_index_false_diff_var  ss    999OOO444"
##%%2fjj5Rj00!!||||||r'   zWeird rounding problems)reasonstrictz
axis, meth)rF   rT   )rI   rb   c                 <   t          j        g d          }t          j                                        \  }} t          t          ddg          j        |          d|          }t          j	        t          ||          
                                |           d S )N)皙?      ?      $@g      Y@g     @@g     @   i  T)rG   rP   )r#   r   r   r   r~   getattrr   r<   r   r   get_ticklocs)r=   axismethr   r   rP   s         r(   test_bar_logzTestSeriesPlots.test_bar_log  s     8;;;<<
##%%23WVS#J'',d33DDD
#GB$5$5$B$B$D$DhOOOOOr'   zaxis, kind, res_meth)rF   rT   get_ylim)rI   rb   r   c                    t          j        g d          }t          j                                        \  }}t          g d                              d||          }d}d} t          ||                      }	t          j	        |	d         |           t          j	        |	d         |           t          j
        t          ||                                          |           d S )	N)gh㈵>g-C6?MbP?{Gz?r   r  r  )r   r  r  T)rG   r`   rP   g!,NJ?gЄ-??r   r|   )r#   r   r   r   r~   r   r<   r  r   assert_almost_equalr   r  )
r=   r  r`   res_methr   r   rP   yminymaxress
             r(   test_bar_log_kind_barz%TestSeriesPlots.test_bar_log_kind_bar$  s     8DDDEE
##%%2&&&'',,DR,HH$"#gb(##%%
s1vt,,,
s1vt,,,
#GB$5$5$B$B$D$DhOOOOOr'   c                     t          g dg d          }t          j                                        \  }}|j                            d|          }t          |                                g d           d S )Nr|   ro   r   r   r   r   r   r   r   Fr   )0123)r   r   r   r~   r<   rT   r   get_xticklabels)r=   dfr   rP   s       r(   test_bar_ignore_indexz%TestSeriesPlots.test_bar_ignore_index:  sv    LLL(<(<(<===
##%%2W[[5R[002--//1E1E1EFFFFFr'   c                     t          g d          }|j                            g d          }d |j        D             }g d}||k    sJ d S )Nr  )redbluer  r  rq   c                 6    g | ]}|                                 S r&   )get_facecolor)r/   ps     r(   r1   z8TestSeriesPlots.test_bar_user_colors.<locals>.<listcomp>C  s"    888!//##888r'   )r          r$  r  r$  r$  r  r  r%  r#  )r   r<   rT   rx   )r=   r   rP   resultr   s        r(   test_bar_user_colorsz$TestSeriesPlots.test_bar_user_colors@  sn    <<<  VZZ<<<Z==88RZ888
 
 
 !!!!!!r'   c                    t          t          j                            d                              d                    }t
          j                                        \  }}|                    |          }t          |d           d S )Nro   r]   r]   r   r   rA   
r   r#   ru   rv   rw   r   r   r~   r<   r   r=   r  r   rP   rC   s        r(   test_rotation_defaultz%TestSeriesPlots.test_rotation_defaultL  sn    ry,,Q//??GGHH
##%%2ww"w~~4a((((((r'   c                    t          t          j                            d                              d                    }t
          j                                        \  }}|                    d|          }t          |d           d S )Nro   r)  r   )r@   rP   rA   r*  r+  s        r(   test_rotation_30z TestSeriesPlots.test_rotation_30S  sr    ry,,Q//??GGHH
##%%2ww2"w%%4b))))))r'   c                 (   ddl m} t          dd          }|g d         }t          t          j                            d                              t          |                    |          }t          j
                                        \  }}|                    |          }|                    t          dd	d	          d
|          }|                    dd           ||                                d         k    sJ t#          |d           d S )Nr   )DatetimeConverter1/1/2000z3/1/2000)	r   r|   ro   r   r]   	   r         ro   r   i  r|   r   z1/1/19991/1/2001r   rA   )%pandas.plotting._matplotlib.converterr0  r	   r   r#   ru   rv   rw   lenr   r   r~   r<   convertr   set_xlimr   r   )r=   r0  rngr^   r   rP   xps          r(   test_irregular_datetimez'TestSeriesPlots.test_irregular_datetimeY  s    KKKKKKZ000001RY**1--==c#hhGGMM
##%%2XXX__&&xa';';RDD
J
+++R[[]]1%%%%%2B''''''r'   c           
         t          ddt          j        ddddgddddt          j        ddg          }t          j                                        \  }}|                    |	          }|                                \  }}|                                }|t          j	        |d
         
                    d          d
                   k    sJ |t          j        |d
         
                    d          d
                   k    sJ d S )Nr$  r  g      @g      @g      @g      @g       @r   r   r   Fr   )r   r#   r   r   r   r~   r<   r   r   nanminr   nanmax)r=   r^   r   rP   r   r   r   s          r(   test_unsorted_index_xlimz(TestSeriesPlots.test_unsorted_index_xlimf  s    #rvsCc2S#rvsC8
 
 
 
##%%2XXX__[[]]
dryq!2!2!2!>!>q!ABBBBBBryq!2!2!2!>!>q!ABBBBBBBBr'   c                 *   t          t          j                            d                              dd          g dd          }t          |j        j                  }t          |j	        |j
                   |                                dk    sJ d S )Nro   r|   r]   r   r   r   r   eYLABELr    )r   r#   ru   rv   integersr   r<   pier   textsr!   
get_ylabelr=   r+   rP   s      r(   test_pie_serieszTestSeriesPlots.test_pie_seriesr  s     I!!!$$--a33+++
 
 

 v{//28V\222}}(******r'   c                     t          t          j                            d                              dd          g dd          }t          |j        j        d           }t          |j	        dgdz             d S )	Nro   r|   r]   rB  rD  r    r   r   )
r   r#   ru   rv   rE  r   r<   rF  r   rG  rI  s      r(   test_pie_series_no_labelz(TestSeriesPlots.test_pie_series_no_label~  s{    I!!!$$--a33+++
 
 

 v{t<<<28bTAX.....r'   c                    t          t          j                            d                              dd          g dd          }g d}t          |j        j        |          }g d	}t          |j	        |
           d S )Nro   r|   r]   rB  rD  r    )rgr   r   )rN  rO  r   rN  rO  rs   )
r   r#   ru   rv   rE  r   r<   rF  r   rx   )r=   r+   
color_argsrP   color_expecteds        r(   )test_pie_series_less_colors_than_elementsz9TestSeriesPlots.test_pie_series_less_colors_than_elements  s    I!!!$$--a33+++
 
 

 %__
v{zBBB222bj^<<<<<<r'   c                 .   t          t          j                            d                              dd          g dd          }g d}g d}t          |j        j        ||	          }t          |j	        |           t          |j        |
           d S )Nro   r|   r]   rB  rD  r    )ABCDErN  rO  r   r   m)r   r   rs   )r   r#   ru   rv   rE  r   r<   rF  r   rG  r   rx   )r=   r+   r   rQ  rP   s        r(   !test_pie_series_labels_and_colorsz1TestSeriesPlots.test_pie_series_labels_and_colors  s    I!!!$$--a33+++
 
 
 +**...
v{vjQQQ28V,,,bjZ888888r'   c                    t          t          j                            d                              dd          g dd          }g d}t          |j        j        |dd	
          }d |j        |	                                z  D             }t          t          j        t          |j        |                              }t          |j        |           |j        D ]}|                                d	k    sJ d S )Nro   r|   r]   rB  rD  r    rZ  z%.2f   )r   autopctfontsizec                     g | ]	}|d z  d
S )d   z.2fr&   )r/   r   s     r(   r1   zHTestSeriesPlots.test_pie_series_autopct_and_fontsize.<locals>.<listcomp>  s     EEE11S5EEEr'   )r   r#   ru   rv   rE  r   r<   rF  r   sumlistr   from_iterablezipr!   r   rG  get_fontsize)r=   r+   rQ  rP   pctsexpected_textsts          r(   $test_pie_series_autopct_and_fontsizez4TestSeriesPlots.test_pie_series_autopct_and_fontsize  s   I!!!$$--a33+++
 
 

 /..
KOJ
 
 
 FE

(DEEEe1#flD2I2IJJKK28^444 	) 	)A>>##q(((((	) 	)r'   c                     t          g dg d          }t          j        t          d          5  |j                                         d d d            d S # 1 swxY w Y   d S )N)r|   ro   r   r   r{   rB  r   z&pie plot doesn't allow negative valuesr   )r   r   r   
ValueErrorr<   rF  rl   s     r(   test_pie_series_negative_raisesz/TestSeriesPlots.test_pie_series_negative_raises  s    (((0I0I0IJJJ]:-UVVV 	 	KOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAc                     t          ddt          j        dgg dd          }t          |j        j                  }t          |j        g d           d S )Nr|   ro   r   r  rD  r    )r   r   r   r   )r   r#   r   r   r<   rF  r   rG  rI  s      r(   test_pie_series_nanz#TestSeriesPlots.test_pie_series_nan  sX    Arvq)1E1E1EHUUUv{//28%8%8%899999r'   c                     t          dt          j        ddg          }t          j                                        \  }}|j                            d|          }g d}d |j        D             }||k    sJ d S )Nr|   Tr   )r  r   r  r  c                 6    g | ]}|                                 S r&   )get_text)r/   xs     r(   r1   z0TestSeriesPlots.test_pie_nan.<locals>.<listcomp>  s     1111!**,,111r'   )	r   r#   r   r   r   r~   r<   rF  rG  )r=   r   r   rP   r   r&  s         r(   test_pie_nanzTestSeriesPlots.test_pie_nan  s    Arvq!$%%
##%%2VZZtZ++&&&11111!!!!!!r'   c                    t          t          j                            d                              d          t          d                    }t          t          j                            d                              d          d          }t          j        	                                \  }}|
                    |          }|
                    d	d	|
           t          |g d           |                                                                sJ |j                                                                        sJ d S )Nro   r   r   abccolumnsr   rt  r   r   Tr   r   rP   r   r   r   	x (right)r   r   r#   ru   rv   rw   rd  r   r   r   r~   r<   r   	get_yaxisget_visibleright_axr=   r  r   r   rP   s        r(   test_df_series_secondary_legendz/TestSeriesPlots.test_df_series_secondary_legend  s   I!!!$$44W==tE{{
 
 
 29((++;;B??cJJJ 
##%%2WWW^^	d444 	R(D(D(DEEEE||~~))+++++{$$&&224444444r'   c                    t          t          j                            d                              d          t          d                    }t          t          j                            d                              d          d          }t          j        	                                \  }}|
                    |          }|
                    |d	d	
           t          |g d           |                                                                sJ |j                                                                        sJ d S )Nro   rw  rx  ry  r   rt  r   r   TrP   r   r   r|  r   r~  r  s        r(   )test_df_series_secondary_legend_with_axesz9TestSeriesPlots.test_df_series_secondary_legend_with_axes  s   I!!!$$44W==tE{{
 
 
 29((++;;B??cJJJ
##%%2WWW^^	"Tt444 	R(D(D(DEEEE||~~))+++++{$$&&224444444r'   c                    t          t          j                            d                              d          t          d                    }t          t          j                            d                              d          d          }t          j        	                                \  }}|
                    d|	          }|
                    dd|
           g d}t          |j        |           |j                                                                        rJ |                                                                sJ d S )Nro   rw  rx  ry  r   rt  r   Tr   rP   r{  z	a (right)z	b (right)z	c (right)r}  r   r   r#   ru   rv   rw   rd  r   r   r   r~   r<   r   left_axr  r  r=   r  r   r   rP   r   s         r(   $test_df_series_secondary_legend_bothz4TestSeriesPlots.test_df_series_secondary_legend_both  s$   I!!!$$44W==tE{{
 
 
 29((++;;B??cJJJ
##%%2WW"W--	d444 HGGRZ9999:''))5577777||~~))+++++++r'   c                    t          t          j                            d                              d          t          d                    }t          t          j                            d                              d          d          }t          j        	                                \  }}|
                    d|	          }|
                    |dd
           g d}t          |j        |           |j                                                                        rJ |                                                                sJ d S )Nro   rw  rx  ry  r   rt  r   Tr  r  r  r  r  s         r(   .test_df_series_secondary_legend_both_with_axisz>TestSeriesPlots.test_df_series_secondary_legend_both_with_axis  s!   I!!!$$44W==tE{{
 
 
 29((++;;B??cJJJ
##%%2WW"W--	"Tt444 HGGRZ222:''))5577777||~~))+++++++r'   c                    t          t          j                            d                              d          t          d                    }t          t          j                            d                              d          d          }t          j        	                                \  }}|
                    dd	|
          }|
                    |dd           g d}t          |j        |           |j                                                                        rJ |                                                                sJ d S )Nro   rw  rx  ry  r   rt  r   TF)r   
mark_rightrP   r  r|  r  r  s         r(   0test_df_series_secondary_legend_both_with_axis_2z@TestSeriesPlots.test_df_series_secondary_legend_both_with_axis_2  s"   I!!!$$44W==tE{{
 
 
 29((++;;B??cJJJ
##%%2WW%BW??	"Tt444 0//RZ222:''))5577777||~~))+++++++r'   zinput_logy, expected_scale)TrG   )symsymlogc                    t          t          j                            d                              d                    }t          t          j                            d                              d                    }|                    |          }|                    d|          }|                                |k    sJ |                                |k    sJ d S )Nro   rb  )rE   T)r   rE   )r   r#   ru   rv   rw   r<   
get_yscale)r=   
input_logyexpected_scales1s2r   r   s          r(   test_secondary_logyz#TestSeriesPlots.test_secondary_logy  s    
 BI))!,,<<SAABBBI))!,,<<SAABB gg:g&&gg$Zg88~~>1111~~>111111r'   c                 b   t          t          j                            d                              d                    }t
          j                                        \  }}d}t          j	        t          |          5  |                    dd|           d d d            d S # 1 swxY w Y   d S )Nro   zCannot pass 'style' string with a color symbol and 'color' keyword argument. Please use one or the other or pass 'style' without a color symbolr   zk--k)rL   rr   rP   )r   r#   ru   rv   rw   r   r   r~   r   r   rm  r<   )r=   rt  r   rP   r   s        r(   )test_plot_fails_with_dupe_color_and_stylez9TestSeriesPlots.test_plot_fails_with_dupe_color_and_style'  s    29((++;;A>>??
##%%2 	
 ]:S111 	2 	2FFcbF111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2s   >B$$B(+B(zbw_method, indscottr*         ?rb  c                 f    t          j        d           t          |j        j        ||           d S )Nrd   	bw_methodind)r   importorskipr   r<   rc   )r=   r   r  r  s       r(   test_kde_kwargszTestSeriesPlots.test_kde_kwargs2  s4     	G$$$"'+DDDDDDr'   c                     t          j        d           t          j        ddd          }t	          |j        j        d|           d S )Nrd   r  rb  r*   r  r  )r   r  r#   linspacer   r<   density)r=   r   sample_pointss      r(   test_density_kwargsz#TestSeriesPlots.test_density_kwargs?  sE    G$$$D#r22"'/SmLLLLLLr'   c                 H   t          j        d           t          j                                        \  }}t          j        ddd          }|j                            dd||          }t          |d	           t          |j                                        d
           d S )Nrd   r  rb  r*   Tr  )rE   r  r  rP   rG   rF   Density)r   r  r   r   r~   r#   r  r<   rc   r   r   rF   	get_label)r=   r   r   rP   r  s        r(   test_kde_kwargs_check_axesz*TestSeriesPlots.test_kde_kwargs_check_axesD  s    G$$$
##%%2D#r22W[[dc}[LL5))))28--//;;;;;r'   c                    t          j        d           t          t          j                            d                              d                    }t          j        |d<   t          |j	        j
                  }t          t          j        |j        d                                                              sJ d S )Nrd   ro   2   )sizer   )r   r  r   r#   ru   rv   uniformr   r   r<   rc   anyisnanr   	get_xdata)r=   r   rC   s      r(   test_kde_missing_valsz%TestSeriesPlots.test_kde_missing_valsL  s    G$$$29((++333<<==v! ,, BHTZ]44667778888888r'   zApi changed in 3.6.0)r   c                 `   t           j                                        \  }}|j                            d|          }t          |d           |                                }t          ||j        g           |	                                }t          |dgt          |          z             d S )NT)rE   rP   rG   r  r   )r   r   r~   r<   rg   r   r  r   r"   get_yticklabelsr7  )r=   r   r   rP   xlabelsylabelss         r(   test_boxplot_seriesz#TestSeriesPlots.test_boxplot_seriesU  s    
##%%2W[[dr[**5))))$$&&7RWI...$$&&7RD3w<<$788888r'   c                    t          j        d           t          t          d                    }t          j                                        \  }}|                    ||           t          j                                         d S )Nrd   r   r`   rP   )	r   r  r   r2   r   r   r~   r<   r   r=   r`   r   r   rP   s        r(   test_kind_kwargzTestSeriesPlots.test_kind_kwarg_  so    
 	G$$$588
##%%2	DR   
r'   c                    t          j        d           t          t          d                    }t          j                                        \  }} t          |j        |                       t          j        	                                 d S )Nrd   r   )
r   r  r   r2   r   r   r~   r  r<   r   r  s        r(   test_kind_attrzTestSeriesPlots.test_kind_attrj  ss    
 	G$$$588
##%%2
r'   c                    t          t          d                    }t          j                                        \  }}d}t          j        t          |          5  |                    ||           d d d            d S # 1 swxY w Y   d S )Nabcdr   r   r  )	r   rd  r   r   r~   r   r   r   r<   r=   r`   r   r   rP   r   s         r(   test_invalid_plot_dataz&TestSeriesPlots.test_invalid_plot_datau  s    4<<  
##%%2']9C000 	% 	%FFF$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   B  BBc                     t          j        d           t          t          d          t                    }t          |j        |           d S )Nrd   r   r   ri   )r   r  r   r2   objectr   r<   )r=   r`   r   s      r(   test_valid_object_plotz&TestSeriesPlots.test_valid_object_plot}  sF    G$$$599F+++!&t,,,,,,r'   c                    t          g d          }t          j                                        \  }}d}t	          j        t          |          5  |                    ||           d d d            d S # 1 swxY w Y   d S )N)r   r   r  ro   r   r   r  )r   r   r   r~   r   r   r   r<   r  s         r(    test_partially_invalid_plot_dataz0TestSeriesPlots.test_partially_invalid_plot_data  s    %%%&&
##%%2']9C000 	% 	%FFF$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   A55A9<A9c                     t          ddg          }t          j        t          d          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nr|   ro   z%invalid_kind is not a valid plot kindr   invalid_kindri   )r   r   r   rm  r<   r=   r   s     r(   test_invalid_kindz!TestSeriesPlots.test_invalid_kind  s    Aq6NN]:-TUUU 	( 	(FFF'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   AAAc                 ,   t          dd          }t          dd          }|                    |          }t          j                            d                              |j                  }t          ||          }t          |j	                   d S )Nz1/1/2009r   r   z1/2/2009ro   r   )
r	   appendr#   ru   rv   rw   r  r   r   r<   )r=   dr1dr2r!   r   r   s         r(   test_dup_datetime_index_plotz,TestSeriesPlots.test_dup_datetime_index_plot  s    Q///Q///

3&&q))99%*EE6'''!&!!!!!r'   c                 &   t          t          j        d          d          }t          j                            d                              d          }|                    ||          }t          j        d |j        d                                         D                       }|j	        t          j
        d	dg          z  |                                                    d	d          z   }t          j        ||           d
t          |           d}t!          j        t$          |          5  |                    t          j                            d                              d                     d d d            d S # 1 swxY w Y   d S )Nr   rt  r   ro   )ro   r   )yerrxerrc                 0    g | ]}|j         d d df         S )Nr|   )verticesr.   s     r(   r1   z>TestSeriesPlots.test_errorbar_asymmetrical.<locals>.<listcomp>  s'    TTTAJqqq!t,TTTr'   r|   r{   z?Asymmetrical error bars should be provided with the shape \(2, z\)r   )ro   r3  r  )r   r#   r$   ru   rv   r<   vstackcollections	get_pathsTr   to_numpyreshaper   r   r7  r   r   rm  )r=   r   errrP   r&  r   r   s          r(   test_errorbar_asymmetricalz*TestSeriesPlots.test_errorbar_asymmetrical  s   29R==s+++i##A&&--g66VV3V''TTbnQ6G6Q6Q6S6STTTUUEBHb!W---1E1Eb!1L1LL
#FH5550$'FF0 0 0 	 ]:S111 	B 	BFF	--a0077@@FAAA	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	Bs   2AFF
F
r  ro   r   )r   ro   rt  yry  c                     t          t          j        d          d          }t          |j        ||          }t          |dd           d S )Nr   rt  r   )r  r`   r   r|   r  r  )r   r#   r$   r   r<   r   )r=   r`   r  r   rP   s        r(   test_errorbar_plotz"TestSeriesPlots.test_errorbar_plot  sO     29R==s+++qvDt<<<Raa000000r'   c                 $   t          t          j        d          d          }t          j        t          j                            d                              d                    }t          |j        |          }t          |dd           d S )	Nr   rt  r   ro   )r  r|   r   r  )
r   r#   r$   r   ru   rv   rw   r   r<   r   )r=   r   s_errrP   s       r(   test_errorbar_plot_yerr_0z)TestSeriesPlots.test_errorbar_plot_yerr_0  sx    29R==s+++ry,,Q//??CCDDqvE222Raa000000r'   r4  )r4  ro   c                     t          ddd          }t          t          j        d          |d          }||_        t          |j        |          }t          |d	d
           d S )Nr1  r5  ME)freqr4  rt  r    r  r   r|   r  )r	   r   r#   r$   r!   r   r<   r   )r=   r  ixr   rP   s        r(   test_errorbar_plot_tsz%TestSeriesPlots.test_errorbar_plot_ts  sj     
JT:::BIbMM#666
rwT222Raa000000r'   c                     t          t          j        d          d          }t          j        t
                    5  |                    t          j        d                     d d d            d S # 1 swxY w Y   d S )Nr   rt  r   r3  r  )r   r#   r$   r   external_error_raisedrm  r<   r  s     r(   %test_errorbar_plot_invalid_yerr_shapez5TestSeriesPlots.test_errorbar_plot_invalid_yerr_shape  s    29R==s+++%j11 	' 	'FF	"F&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's   )A33A7:A7c                     t          t          j        d          d          }dgdz  }t          j        t
                    5  |                    |           d d d            d S # 1 swxY w Y   d S )Nr   rt  r   zzzr  )r   r#   r$   r   r  r   r<   )r=   r   r  s      r(   test_errorbar_plot_invalid_yerrz/TestSeriesPlots.test_errorbar_plot_invalid_yerr  s    29R==s+++"%i00 	 	FFF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A''A+.A+c                 2    t          |j        d           d S )NTtabler;   rl   s     r(   test_table_truezTestSeriesPlots.test_table_true  s    &+T222222r'   c                 2    t          |j        |           d S )Nr  r;   rl   s     r(   test_table_selfzTestSeriesPlots.test_table_self  s    &+V444444r'   c                     t          j        d           t          t          g d          t          j        j        t          j        j        z              d S )Nrd   r   )r   r  r   r   r   PlotAccessor_series_kinds_common_kinds)r=   s    r(   test_series_grid_settingsz)TestSeriesPlots.test_series_grid_settings  sT     	G$$$999!/(2G2UU	
 	
 	
 	
 	
r'   r   )rN  r  greenz#FF0000c                     ddl m}  |d|          }||gk    sJ  |d|g          }||gk    sJ  |d|          }||gdz  k    sJ  |d|g          }||gdz  k    sJ d S )Nr   get_standard_colorsr|   rq   r   )!pandas.plotting._matplotlib.styler  )r=   r   r  r&  s       r(   test_standard_colorsz$TestSeriesPlots.test_standard_colors  s    IIIIII$$Qa000!}}}}$$Qqc222!}}}}$$Qa000!q    $$Qqc222!q      r'   c                    ddl m} ddlm} |j        D ]b} |d|          }||gk    sJ  |d|g          }||gk    sJ  |d|          }||gdz  k    sJ  |d|g          }||gdz  k    sJ c|j        j        D ]b} |d|          }||gk    sJ  |d|g          }||gk    sJ  |d|          }||gdz  k    sJ  |d|g          }||gdz  k    sJ cd S )Nr   rP  r  r|   )
num_colorsrr   r   )r   r   r  r  cnamesColorConverter)r=   r   r  r   r&  s        r(   test_standard_colors_allz(TestSeriesPlots.test_standard_colors_all  s   %%%%%%IIIIII  	% 	%A((AQ???FaS====((AaSAAAFaS====((AQ???FaS1W$$$$((AaSAAAFaS1W$$$$$ &- 	% 	%A((AQ???FaS====((AaSAAAFaS====((AQ???FaS1W$$$$((AaSAAAFaS1W$$$$$	% 	%r'   c                    t           j                                        \  }}t          t	          j        d          dz                                 d|          }t          |                                dg           d S )Nr4  r|   r  rr   rP   
linecolors)	r   r   r~   r   r#   r$   r<   r   r   r=   r   rP   s      r(   test_series_plot_color_kwargsz-TestSeriesPlots.test_series_plot_color_kwargs(  si    
##%%2BIbMMA%&&++'b+AAbllnn';;;;;;r'   c                 $   t           j                                        \  }}t          t	          j        d          dz   t          dd                                        d|          }t          |	                                dg           d S )	Nr4  r|   r1  r   r   r  r  r  )
r   r   r~   r   r#   r$   r	   r<   r   r   r  s      r(   "test_time_series_plot_color_kwargsz2TestSeriesPlots.test_time_series_plot_color_kwargs.  s    
##%%2BIbMMA%Z
B-O-O-OPPPUUb V 
 
 	bllnn';;;;;;r'   c                    dd l }t          |j                  }t          dd          }t	          t          j        dd          |          }d}|j                                        \  }}t          |          D ]}|
                    |	          }t          |                                |d |         
           d S )Nr   r1  r4  r   r|      r   r   r   r  )r   r   r   r	   r   r#   r$   r   r~   r2   r<   r   r   )	r=   r   
def_colorsr!   r   ncolorsr   rP   r0   s	            r(   -test_time_series_plot_color_with_empty_kwargsz=TestSeriesPlots.test_time_series_plot_color_with_empty_kwargs6  s        #CL11
:r22229Q##5111
##%%2w 	 	A2BBbllnnHWH1EFFFFFFr'   c                 J   t          t          j        d          d t          d          D                       }t          j                                        \  }}|                    g d|          }d dD             }t          |	                                |           d S )Nr   c                     g | ]}d |d	S P02dr&   r.   s     r(   r1   z4TestSeriesPlots.test_xticklabels.<locals>.<listcomp>F  s     (H(H(HQ(H(H(Hr'   r   )r   r   r]   r2  )xticksrP   c                     g | ]}d |d	S r  r&   r.   s     r(   r1   z4TestSeriesPlots.test_xticklabels.<locals>.<listcomp>I  s     111q{1{{{111r'   )
r   r#   r$   r2   r   r   r~   r<   r   r  )r=   r   r   rP   r   s        r(   test_xticklabelsz TestSeriesPlots.test_xticklabelsD  s    29R==(H(HeBii(H(H(HIII
##%%2VV<<<BV//11L1112--//55555r'   c           	      r   t          t          d          d t          d          D                       }|j                            t          ddd                    }t	          j        t          t          ddd                              }t          j        ||	                                           d S )Nr   c                     g | ]}d |d	S r  r&   r.   s     r(   r1   z6TestSeriesPlots.test_xtick_barPlot.<locals>.<listcomp>N  s     $D$D$DQ[[[[$D$D$Dr'   r   r   r3  ro   )r  )
r   r2   r<   rT   r#   r   rd  r   r   
get_xticks)r=   r   rP   r   s       r(   test_xtick_barPlotz"TestSeriesPlots.test_xtick_barPlotL  s    599$D$D%))$D$D$DEEEVZZuQAZ//htE!ROO,,--
#C99999r'   c           
          ddl m} t          t          dd          t	          j        dd |dg          	          
          }t          |j                   d S )Nr   )CustomBusinessDayrb  y   z
2014-05-01z
2014-06-01z
2014-05-26)holidays)startendr  r   )pandas.tseries.offsetsr'  r   r2   pdbdate_ranger   r<   )r=   r'  r   s      r(   test_custom_business_day_freqz-TestSeriesPlots.test_custom_business_day_freqS  sx    <<<<<<#sOO." &&???  
 
 
 	!&!!!!!r'   ziGH#24426, see also github.com/pandas-dev/pandas/commit/ef1bd69fa42bbed5d09dd17f08c44fc8bfc2b685#r61470674c                    t          g d          }t          j                                        \  }}|                    |          }|j                                        }|                    ddgd           t          j                                        \  }}|j                                        }t          j	        ||           d S )Nr  r   r   r|   T)inplace)
r   r   r   r~   r<   rI   r  dropr   r   )r=   r^   r   rP   beforeafters         r(   %test_plot_accessor_updates_on_inplacez5TestSeriesPlots.test_plot_accessor_updates_on_inplaceb  s     \\\""
##%%2XXX__&&((!Q&&&
##%%2%%''
#FE22222r'   rZ   c                     t          ddg          }t          j                                        \  }}|                    ||           |                                }|d         dk     sJ |d         dk    sJ d S )Nro   r   r  r   r|   )r   r   r   r~   r<   r   )r=   r`   r   r   rP   xlimss         r(   test_plot_xlim_for_seriesz)TestSeriesPlots.test_plot_xlim_for_seriesr  ss     Aq6NN
##%%2	DR   Qx!||||Qx!||||||r'   c                    t          t                    }|j        sJ |                                }t	          |                                          dk    sJ |                                d         }t	          |                                          dk    sJ t	          |                                          dk    sJ d S )Nr   r|   r   )r   intemptyr<   r7  r   r  r   )r=   r  rP   ra   s       r(   test_plot_no_rowsz!TestSeriesPlots.test_plot_no_rows~  s    #xWWYY2<<>>""a''''||~~a 4>>##$$))))4>>##$$))))))r'   c                     t          g d          }t          j        t          d          5  |                                 d d d            d S # 1 swxY w Y   d S )Nr   r   r   )r   r   r   r   r<   )r=   r  s     r(   test_plot_no_numeric_dataz)TestSeriesPlots.test_plot_no_numeric_data  s    OOO$$]9,EFFF 	 	GGIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAzdata, indexr  )r   ro   r|   r   )r   r  r*   r   )iv  i  i  i  c                     t          ||          }|                    d          }|                                }d t          |j        d           D             }||k    sJ d S )N)r   r!   rT   ri   c                 @    g | ]}|                                 j        S r&   )get_bboxr  )r/   patchs     r(   r1   z3TestSeriesPlots.test_plot_order.<locals>.<listcomp>  s5     
 
 
 NN!
 
 
r'   c                 4    |                                  j        S r:   )rA  r   )rB  s    r(   <lambda>z1TestSeriesPlots.test_plot_order.<locals>.<lambda>  s    enn>N>N>S r'   )r   )r   r<   tolistsortedrx   )r=   r   r!   r^   rP   r   r&  s          r(   test_plot_orderzTestSeriesPlots.test_plot_order  s     $e,,,XX5X!!::<<
 

0S0STTT
 
 
 6!!!!!!r'   c                     t          ddg          }|                    dd          }|j        d                                         dk    sJ d S )Nr|   ro   r   C3)rL   rr   r   )r   r<   r   	get_color)r=   r   rP   s      r(   test_style_single_okz$TestSeriesPlots.test_style_single_ok  sO    Aq6NNVV#TV**x{$$&&$......r'   z index_name, old_label, new_label))Nr   new)oldrM  rL  )Nr   r   )ra   rZ   rT   rb   rf   c                 X   t          g d          }||j        _        |                    |          }|dk    r5|                                dk    sJ |                                |k    sJ no|dk    r5|                                dk    sJ |                                dk    sJ n4|                                dk    sJ |                                |k    sJ |                    |||          }|                                |k    sJ |                                |k    sJ d S )Nr  ri   rb   r   rf   	Frequency)r`   ylabelxlabel)r   r!   r"   r<   r   rH  )r=   r`   
index_name	old_label	new_labelr^   rP   s          r(   test_xlabel_ylabel_seriesz)TestSeriesPlots.test_xlabel_ylabel_series  s2    \\\""#	 XX4X  6>>==??b((((==??i/////V^^==??b((((==??k11111==??b((((==??i//// XX4	)XDD}})++++}})++++++r'   r   rX  )r*  r   r  r|   )daysc                     d}t          ddg|                              |          }|                                dk    sJ d S )N)r   r|   r|   ro   r   )xlim)r   r<   r   )r=   r!   r7  rP   s       r(   test_timedelta_indexz$TestSeriesPlots.test_timedelta_index  sO     QF%(((--E-;;{{}}&&&&&&r'   c                     t          g d          }|                    d           }t          t          j        j                  d d         }t          |                                |           d S )Nr   rq   r|   r  )r   r<   r   r   r   r   r   r   )r=   r+   rP   r   s       r(   test_series_none_colorz&TestSeriesPlots.test_series_none_color  sb    			""[[t[$$!#*"566rr:bllnn::::::r'   c                     t          j        d          5  |                                }d d d            d S # 1 swxY w Y   d S )NF)r   assert_produces_warningr<   )r=   r   r   s      r(   test_plot_no_warningz$TestSeriesPlots.test_plot_no_warning  s     '.. 	 			A	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   7;;)x__name__
__module____qualname__r   markslowparametrizer>   rD   rQ   rV   r[   r_   paramtd
skip_if_norj   rm   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   xfailr   r   r  r  r  r'  r,  r.  r<  r@  rJ  rL  rS  r\  rk  rn  rp  ru  r  r  r  r  r  r  r  r#   int_r  r  r  r  r  r  r   r  r   r  r  r  r  r  r  r  r  r  r   r   ru   rv   rw   rd  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r%  r/  r5  r8  r<  r>  rG  rK  rU  r-  timedelta_range	TimedeltarY  r[  r^  r&   r'   r(   r4   r4   7   s       [[X%(8;:N'OPP- - QP - [) ) ) [[d^gu-.d^gu-.??@	
 * *  * [, , , [7 7 7$ $ $ [FLmbmG&<&<===	

 
6 6
 
61 1 1= = = [XXw,?(GAT'UVV9 9 WV9
J J J2 2 2 [X]D,A'BCC< < DC<' ' '( ( (	' 	' 	'	' 	' 	'	 	 	                         & & & [WtZZa-P-P-P&QRRG G SRG$     [20022(   
 [\,<>O+PQQP P RQ P [20022(   
 [	%	%	%'D'D'DE P P	  PG G G
" 
" 
") ) )* * *( ( (
C 
C 
C
+ 
+ 
+/ / /
= 
= 
=9 9 9) ) )   : : :" " "5 5 5"5 5 5 , , ,", , ,", , ," [$}6G&H 
2 
2 
2	2 	2 	2 [bM2J7272;;+"+dC,,-		
 E E EM M M
< < <9 9 9 [4559 9 659 [+h.C.QQ  	  [+h.C.QQ  	  [VX%:%HII% % JI% [VX%:%HII- - JI-
 [VX%:%HII% % JI%( ( (
" " "B B B$ [[Vfe_55[F626")//22BB2FFGGHHBF29((++;;B??@@D	--a00@@DDEEFFIry,,Q//??HHIIc
  		
 1 1  65 1
 [1 1 1 [[F626")//22BB2FFGGHHIry,,Q//??HHIIc
  	
	 	1 1	 	 1 [' ' ' [   [3 3 3 [5 5 5 [
 
 
 [S"B"B"BCC! ! DC!% % %B< < << < <G G G6 6 6: : :" " " [=   
	3 	3 
	3 [Vff%566	 	 76	* * *  
 [\\<<<(7778	
 
" 
" 
"/ / /
 [*BBB  [V%L%L%LMM, , NM	 
,, [BQ<<<R\q!!!<2<Q#7#7#78	
 ' ' '; ; ; [    r'   r4   ),__doc__r   	itertoolsr   numpyr#   r   pandas.compatr   pandas.compat.numpyr   pandas.util._test_decoratorsutil_test_decoratorsrf  pandasr-  r   r   r	   r
   r   pandas._testing_testingr   pandas.tests.plotting.commonr   r   r   r   r   r   r   r   r   r   r   r  r   r   fixturer   r+   r4   r&   r'   r(   <module>ry     s   " "                  + + + + + + 2 2 2 2 2 2 ) ) ) ) ) ) ) ) )                                                 f,''f-..      b b b b b b b b b br'   