
    .i                        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
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" ddl#m$Z$  ejJ                  d	      Z& ejJ                  d
      Z'ddl(m)Z) ddl*m+Z+ ejX                  j[                  d      ejX                  j[                  d      gZ.ej^                  d        Z0ej^                  d        Z1 G d d      Z2y)zTest cases for Series.plot    )datetime)chainN)is_platform_linux)	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)CustomBusinessDay
matplotlibzmatplotlib.pyplot)DatetimeConverterget_standard_colorszAignore:divide by zero encountered in scalar divide:RuntimeWarningzBignore:invalid value encountered in scalar multiply:RuntimeWarningc                  z    t        t        j                  dt        j                        t	        dd      d      S )N
   dtype
2020-01-01periodstsindexname)r   nparangefloat64r        _/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/plotting/test_series.pyr"   r"   5   s.    
		"BJJ'r2 r*   c            
          t        t        d      t        j                  dt        d      D  cg c]  } d|  	 c}       S c c} w )Nr   seriesi_)r   r%   r$   )r   ranger&   r(   )is    r+   r-   r-   >   s9    b	(USUY:WRs8:W :Ws   Ac                      e Zd Zej                  j
                  ej                  j                  dddiddig      d               Zej                  j
                  d        Zej                  j
                  ej                  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                  j                  dddd ej                  d ej                  d            ddg      d        Zd Zd  Zej                  j                  di d!d"id!d#ig      d$        Zd% Zd& Zej                  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                  j                  d4d5 e"d6d78      g      d9        Z#d: Z$d; Z%ej                  jM                   e'       d<d=      ej                  j                  d>d?d@g      dA               Z(ej                  jM                   e'       d<d=      ej                  j                  dBg dCg dDg      dE               Z)dF Z*dG Z+dH Z,dI Z-dJ Z.dK Z/dL Z0dM Z1dN Z2dO Z3dP Z4dQ Z5dR Z6dS Z7dT Z8dU Z9dV Z:dW Z;ej                  j                  dXdYdZg      ej                  j                  d[i d'd
ig      d\               Z<d] Z=ej                  j                  d^d_d`gd5d`gd5 e>j~                  d`      gda e>j                  dbdcd`      gg      dd        ZAej                  j                  deg dfg dgd5 e>j~                  d`      d5gda e>j                  dbdcd`      d5gd_dh e>j                  didjdk      gg      dl        ZBdm ZCdn ZDdo ZEej                  jM                  dpq      dr        ZFej                  j                  deGj                  j                  eGj                  j                  z         ds        ZKej                  j                  deGj                  j                  eGj                  j                  z         dt        ZLej                  j                  deGj                  j                        du        ZMej                  j                  deGj                  j                        dv        ZNej                  j                  deGj                  j                        dw        ZOdx ZPdy ZQdz ZRd{ ZSej                  j
                  ej                  j                  dddg      ej                  j                  d| eT e>j                  e>j                  j                  d}      j                  d~                   e>j                  e>j                  j                  d}      j                  d~             eY e>j                  e>j                  j                  d}      j                  d~                   eZ e>j                  e>j                  j                  d}      j                  d            ddg      g      d                      Z[ej                  j
                  d        Z\ej                  j
                  ej                  j                  d| eT e>j                  e>j                  j                  d}      j                  d                   eZ e>j                  e>j                  j                  d}      j                  d            ddg      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                  j                  dg d      d        Zcd Zdd Zed Zfd Zgd Zhd Zid Zjej                  jM                  dq      d        Zkej                  j                  dddg      d        Zld Zmd Znej                  j                  dg dg dfg dg dfg      d        Zod Zpej                  j                  dg d      ej                  j                  dg d      d               Zqej                  j                  d4 erj                  dd}d       erj                  d       erj                  d}      gg      d        Zud Zvej                  j
                  d        Zwd Zxd Zyy5)TestSeriesPlotskwargslabelfoo	use_indexFc                 0    t        |j                  fi | y Nr   plot)selfr"   r3   s      r+   	test_plotzTestSeriesPlots.test_plotF   s     	"'',V,r*   c                 L    t        |j                  d      }t        |d       y )Nr   )rotxrot)r   r:   r   )r;   r"   axess      r+   test_plot_tick_propsz$TestSeriesPlots.test_plot_tick_propsK   s     a04a(r*   zscale, exp_scalelogyTyaxisloglogxxaxisloglog)rG   rD   c                 L    t        |j                  fddi|}t        |fi | y )Nstyle.)r   r:   r   )r;   r"   scale	exp_scaleaxs        r+   test_plot_scalesz TestSeriesPlots.test_plot_scalesP   s)     rww;c;U;)y)r*   c                 H    t        |d d j                  j                         y Nr   )r   r:   barr;   r"   s     r+   test_plot_ts_barz TestSeriesPlots.test_plot_ts_bar]   s    "Sb',,**+r*   c                 F    t        |j                  j                  d       y )NFstacked)r   r:   arearS   s     r+   test_plot_ts_area_stackedz)TestSeriesPlots.test_plot_ts_area_stackeda   s    "'',,6r*   c                 n    t        t        d      t        dd            }t        |j                         y )N   r   r    )r   r/   r	   r   r:   r;   sers     r+   test_plot_iseriesz!TestSeriesPlots.test_plot_iseriese   s%    U1X|L!DE#((#r*   kindlinerR   barhkdescipy)markshistboxc                 8    t        |d d j                  |       y )Nr[   r_   r9   )r;   r-   r_   s      r+   test_plot_series_kindsz&TestSeriesPlots.test_plot_series_kindsi   s     	&!*//5r*   c                 H    t        |d d j                  j                         y rQ   )r   r:   ra   r;   r-   s     r+   test_plot_series_barhz%TestSeriesPlots.test_plot_series_barhw   s    &"+**//0r*   c                     t        t        t        j                  j	                  d      j                  d            j                  j                  d      }t        |j                  d   gdg       y )N   r   blackcolorr   
facecolors)
r   r   r&   randomdefault_rngstandard_normalr:   rR   r   patches)r;   rN   s     r+   test_plot_series_bar_axz'TestSeriesPlots.test_plot_series_bar_axz   sU    299((+;;B?@EEIIQX
 	rzz!}o7)<r*   layout)   )r{   rz   c                 P    t        |j                  fddi|}t        |dd       y )NsubplotsTr{   r{   r{   )axes_numry   )r   r:   r   )r;   r"   r3   rN   s       r+   test_plot_6951zTestSeriesPlots.test_plot_6951   s(     rww@@@"q8r*   c                     t         j                  j                         \  }}|j                  dd|      }t	        |j
                  d       t        |ddd       y )NTest)      )titlefigsizerN   r{   r~   )r   ry   r   )mplpyplotr}   r:   r   r   r   )r;   r-   _rN   s       r+   test_plot_figsize_and_titlez+TestSeriesPlots.test_plot_figsize_and_title   sH    

##%2[[vw2[>288V,"qIr*   c                    d}t         j                  j                  |   }t         j                  j                         \  }}t	        g d      j                  |       |t         j                  j                  |   k(  sJ y )Nzaxes.prop_cycler{   rn      rN   )r   r   rcParamsr}   r   r:   )r;   keycolorsr   rN   s        r+   test_dont_modify_rcParamsz)TestSeriesPlots.test_dont_modify_rcParams   sd    $$S)

##%2y"%,,S1111r*   secondary_yc                 4   t         j                  j                         \  }} |j                  dd|i|}|j	                         \  }}|j                         }||d   j                  d      d   d   k  sJ ||d   j                  d      d   d   k\  sJ y )NrN   r   Forigrz   r)   )r   r   r}   r:   get_xlim	get_linesget_data)r;   r"   r3   r   rN   xminxmaxliness           r+   test_ts_line_limz TestSeriesPlots.test_ts_line_lim   s    

##%2RWW%%f%[[]
duQx((e(4Q7::::uQx((e(4Q7;;;;r*   c                 4   t         j                  j                         \  }}|j                  j	                  d|      }|j                         \  }}|j                         d   j                  d      d   }||d   k  sJ ||d   k\  sJ t        |d       y )NF)rW   rN   r   r   rz   r?   	r   r   r}   r:   rX   r   r   r   r   r;   r"   r   rN   r   r   r`   s          r+   test_ts_area_limz TestSeriesPlots.test_ts_area_lim   s    

##%2WW\\%B\/[[]
d||~a ))u)5a8tAwtBx2A&r*   c                 6   t         j                  j                         \  }}|j                  j	                  dd|      }|j                         \  }}|j                         d   j                  d      d   }||d   k  sJ ||d   k\  sJ t        |d       y )	NFTrW   x_compatrN   r   r   rz      r?   r   r   s          r+   test_ts_area_lim_xcompatz(TestSeriesPlots.test_ts_area_lim_xcompat   s    

##%2WW\\%$2\>[[]
d||~a ))u)5a8tAwtBx2B'r*   c                    |j                         }|j                  d      j                  d      |_        t        j
                  j                         \  }}|j                  j                  dd|      }|j                         \  }}|j                         d   j                  d      d   }||d   k  sJ ||d   k\  sJ t        |d	       y )
NGMTCETFTr   r   r   rz   r?   copytz_localize
tz_convertr$   r   r   r}   r:   rX   r   r   r   r   r;   r"   tz_tsr   rN   r   r   r`   s           r+   test_ts_tz_area_lim_xcompatz+TestSeriesPlots.test_ts_tz_area_lim_xcompat   s    	''.99%@

##%2ZZ__UTb_A[[]
d||~a ))u)5a8tAwtBx2A&r*   c                    |j                         }|j                  d      j                  d      |_        t        j
                  j                         \  }}|j                  j                  dd|      }|j                         \  }}|j                         d   j                  d      d   }||d   k  sJ ||d   k\  sJ t        |d	       y )
Nr   r   FT)rW   r   rN   r   r   rz   r?   r   r   s           r+   'test_ts_tz_area_lim_xcompat_secondary_yz7TestSeriesPlots.test_ts_tz_area_lim_xcompat_secondary_y   s    	''.99%@

##%2ZZ__U_D[[]
d||~a ))u)5a8tAwtBx2A&r*   c                 8   t         j                  j                  ddd      \  }\  }}t        |      j	                  |d       t        |      j	                  |d       t        |      j                  ||      sJ t        |      j                  ||      sJ y )Nr{   rn   T)shareyrX   )rN   r_   )r   r   r}   absr:   r   joined)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                  j                         \  }}|j	                  dd|      }t        |dg       y )Nr{   rn   LABELT)r4   legendrN   labelsr   r   r   r}   r:   r   r;   sr   rN   s       r+   
test_labelzTestSeriesPlots.test_label   sE    Aq6N

##%2VV'$2V6R	2r*   c                     t        ddg      }t        j                  j                         \  }}|j	                  d|      }t        |dg       y )Nr{   rn   Tr   rN    r   r   r   s       r+   test_label_nonezTestSeriesPlots.test_label_none   sC    Aq6N

##%2VV4BV'R-r*   c                     t        ddgd      }t        j                  j                         \  }}|j	                  d|      }t        |dg       y )Nr{   rn   NAMEr%   Tr   r   r   r   s       r+   test_label_ser_namez#TestSeriesPlots.test_label_ser_name   sF    Aq6'

##%2VV4BV'R1r*   c                     t        ddgd      }t        j                  j                         \  }}|j	                  dd|      }t        |dg       y )	Nr{   rn   r   r   Tr   r   r4   rN   r   r   r   s       r+   test_label_ser_name_overridez,TestSeriesPlots.test_label_ser_name_override   sH    Aq6'

##%2VV4w2V6R	2r*   c                     t        ddgd      }t        j                  j                         \  }}|j	                  dd|      }|j                         J |j                          t        |dg       y )	Nr{   rn   r   r   Fr   r   r   )r   r   r   r}   r:   
get_legendr   r   r   s       r+   &test_label_ser_name_override_dont_drawz6TestSeriesPlots.test_label_ser_name_override_dont_draw   sc    Aq6'

##%2VV5BV7}}&&&
		R	2r*   c                     t        g d      }t        |j                  d       d}t        j                  t
        |      5  t        |j                         d d d        y # 1 sw Y   y xY w)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   sO    '(!&&t4']]9C0 	&aff%	& 	& 	&s   A!!A*r$   Nr      r    c                    ddt         j                  dg}t        ||      }t        |j                        }|j
                  d   j                         }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   j                         |       t        |j                  j                        }t        j                  |j
                  d   j                         |       t        |j                  j                  d      }t        j                  |j
                  d   j                         |       y )Nr{   rn   r   r$   r   r   r   )FFTF)r{   rn   r   r   TrV   F)r&   nanr   r   r:   r   	get_ydataarrayr(   tmassert_numpy_array_equaldeletedatamaskrX   )r;   r$   valuesdrN   maskedexpexpecteds           r+   test_line_area_nan_seriesz)TestSeriesPlots.test_line_area_nan_series   sB   Q"6'qvv&!&&(hhy

3
##BIIfkk1$=sC
##FKK:U1VW88L

;qvvt4
##BHHQK$9$9$;XFqvv{{+
##BHHQK$9$9$;XFqvv{{E:
##BHHQK$9$9$;XFr*   c                     t        g dg d      }d|j                  _        t        j                  j                         \  }}|j                  d|      }|j                         }|dk(  sJ y Nr   abcr   z	The IndexFr6   rN   r   )r   r$   r%   r   r   r}   r:   
get_xlabel)r;   r   r   rN   r4   s        r+   test_line_use_index_falsez)TestSeriesPlots.test_line_use_index_false  sX    9O4"

##%2VVeV+{{r*   c                     t        g dg d      }d|j                  _        t        j                  j                         \  }}|j                  j                  d|      }|j                         }|dk(  sJ y r   )	r   r$   r%   r   r   r}   r:   rR   r   )r;   r   r   rN   r   label2s         r+   "test_line_use_index_false_diff_varz2TestSeriesPlots.test_line_use_index_false_diff_var  s]    9O4"

##%2ffjj5Rj0!||r*   zWeird rounding problems)reasonstrictz
axis, meth)rD   rR   )rG   ra   c                 "   t        j                  g d      }t        j                  j	                         \  }} t        t        ddg      j                  |      d|      }t        j                  t        ||      j                         |       y )N)皙?      ?      $@g      Y@g     @@g     @   i  T)rE   rN   )r&   r   r   r   r}   getattrr   r:   r   r   get_ticklocs)r;   axismethr   r   rN   s         r+   test_bar_logzTestSeriesPlots.test_bar_log  sm     88;<

##%23WVS#J',,d3D
##GB$5$B$B$DhOr*   zaxis, kind, res_meth)rD   rR   get_ylim)rG   ra   r   c                    t        j                  g d      }t        j                  j	                         \  }}t        g d      j                  d||      }d}d} t        ||             }	t        j                  |	d   |       t        j                  |	d   |       t        j                  t        ||      j                         |       y )	N)gh㈵>g-C6?MbP?{Gz?r   r   r   )r   r	  r  T)rE   r_   rN   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   rN   yminymaxress
             r+   test_bar_log_kind_barz%TestSeriesPlots.test_bar_log_kind_bar,  s     88DE

##%2&',,DR,H$"#gb(#%
s1vt,
s1vt,
##GB$5$B$B$DhOr*   c                     t        g dg d      }t        j                  j                         \  }}|j                  j                  d|      }t        |j                         g d       y )Nr{   rn   r   r   r   r   r   r   r   Fr   )0123)r   r   r   r}   r:   rR   r   get_xticklabels)r;   dfr   rN   s       r+   test_bar_ignore_indexz%TestSeriesPlots.test_bar_ignore_indexB  sO    L(<=

##%2WW[[5R[02--/1EFr*   c                     t        g d      }|j                  j                  g d      }|j                  D cg c]  }|j	                          }}g d}||k(  sJ y c c}w )Nr  )redbluer  r  rp   )r           r  r   r  r  r   r   r  r  )r   r:   rR   rw   get_facecolor)r;   r   rN   presultr   s         r+   test_bar_user_colorsz$TestSeriesPlots.test_bar_user_colorsH  s[    < VVZZ<Z=-/ZZ8!//#88
 !!! 9s   Ac                     t        t        j                  j                  d      j	                  d            }t
        j                  j                         \  }}|j                  |      }t        |d       y )Nrn   r[   r[   r   r   r?   
r   r&   rt   ru   rv   r   r   r}   r:   r   r;   r  r   rN   rA   s        r+   test_rotation_defaultz%TestSeriesPlots.test_rotation_defaultT  sU    ryy,,Q/??GH

##%2ww"w~4a(r*   c                     t        t        j                  j                  d      j	                  d            }t
        j                  j                         \  }}|j                  d|      }t        |d       y )Nrn   r%  r   )r>   rN   r?   r&  r'  s        r+   test_rotation_30z TestSeriesPlots.test_rotation_30[  sX    ryy,,Q/??GH

##%2ww2"w%4b)r*   c                    t        dd      }|g d   }t        t        j                  j	                  d      j                  t        |            |      }t        j                  j                         \  }}|j                  |      }t        j                  t        ddd      d|      }|j                  d	d
       ||j                         d   k(  sJ t!        |d       y )N1/1/2000z	1/15/2000)	r   r{   rn   r   r[   	   r         rn   r   i  r{   r   z1/1/19991/1/2001r   r   r?   )r   r   r&   rt   ru   rv   lenr   r   r}   r:   r   convertr   set_xlimr   r   )r;   rngr]   r   rN   xps         r+   test_irregular_datetimez'TestSeriesPlots.test_irregular_datetimea  s    [101RYY**1-==c#hGM

##%2XXX_&&xa';R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                  j                         \  }}|j                  |	      }|j                         \  }}|j                         }|t        j                  |d
   j                  d      d
         k  sJ |t        j                  |d
   j                  d      d
         k\  sJ y )Nr  r   g      @g      @g      @g      @       @r   r   r   Fr   )r   r&   r   r   r   r}   r:   r   r   nanminr   nanmax)r;   r]   r   rN   r   r   r   s          r+   test_unsorted_index_xlimz(TestSeriesPlots.test_unsorted_index_xliml  s    #rvvsCc2S#rvvsC8
 

##%2XXX_[[]
dryyq!2!2!2!>q!ABBBBryyq!2!2!2!>q!ABBBBr*   c                 &   t        t        j                  j                  d      j	                  dd      g dd      }t        |j                  j                        }t        |j                  |j                         |j                         dk(  sJ y )Nrn   r{   r[   r   r   r   r   eYLABELr#   r   )r   r&   rt   ru   integersr   r:   pier   textsr$   
get_ylabelr;   r-   rN   s      r+   test_pie_serieszTestSeriesPlots.test_pie_seriesx  sm     II!!!$--a3+

 v{{/288V\\2}}"$$$r*   c                     t        j                  d       t        g dd      }t        |j                  j
                         y )Npyarrowr  zint32[pyarrow]r   )r   importorskipr   r   r:   rA  r\   s     r+   test_pie_arrow_typez#TestSeriesPlots.test_pie_arrow_type  s-    I&\)9:#((,,'r*   c                     t        t        j                  j                  d      j	                  dd      g dd      }t        |j                  j                  d       }t        |j                  dgdz         y )	Nrn   r{   r[   r=  r?  r#   r   r   )
r   r&   rt   ru   r@  r   r:   rA  r   rB  rD  s      r+   test_pie_series_no_labelz(TestSeriesPlots.test_pie_series_no_label  s[    II!!!$--a3+

 v{{t<288bTAX.r*   c                     t        t        j                  j                  d      j	                  dd      g dd      }g d}t        |j                  j                  |      }g d	}t        |j                  |
       y )Nrn   r{   r[   r=  r?  r#   )rgr   )r   )rM  rN  r   rM  rN  rr   )
r   r&   rt   ru   r@  r   r:   rA  r   rw   )r;   r-   
color_argsrN   color_expecteds        r+   )test_pie_series_less_colors_than_elementsz9TestSeriesPlots.test_pie_series_less_colors_than_elements  s_    II!!!$--a3+

 %
v{{zB2bjj^<r*   c                 ,   t        t        j                  j                  d      j	                  dd      g dd      }g d}g d}t        |j                  j                  ||	      }t        |j                  |       t        |j                  |
       y )Nrn   r{   r[   r=  r?  r#   )ABCDErM  rN  r   r   m)r   r   rr   )r   r&   rt   ru   r@  r   r:   rA  r   rB  r   rw   )r;   r-   r   rO  rN   s        r+   !test_pie_series_labels_and_colorsz1TestSeriesPlots.test_pie_series_labels_and_colors  so    II!!!$--a3+
 +.
v{{vjQ288V,bjjZ8r*   c           	         t        t        j                  j                  d      j	                  dd      g dd      }g d}t        |j                  j                  |dd	
      }|j                  |j                         z  D cg c]	  }|dz  d }}t        t        j                  t        |j                  |d                  }t        |j                   |       |j                   D ]  }|j#                         d	k(  rJ  y c c}w )Nrn   r{   r[   r=  r?  r#   rX  z%.2f   )r   autopctfontsized   z.2fT)r   )r   r&   rt   ru   r@  r   r:   rA  r   sumlistr   from_iterablezipr$   r   rB  get_fontsize)r;   r-   rO  rN   r   pctsexpected_textsts           r+   $test_pie_series_autopct_and_fontsizez4TestSeriesPlots.test_pie_series_autopct_and_fontsize  s    II!!!$--a3+

 /
KKOOJ
 +1--&**,*FGQ1s73- GGe11#fllDQU2VWX288^4 	)A>>#q(((	) Hs   Dc                     t        g dg d      }t        j                  t        d      5  |j                  j                          d d d        y # 1 sw Y   y xY w)N)r{   rn   r   r   rz   r=  r   z&pie plot doesn't allow negative valuesr   )r   r   r   
ValueErrorr:   rA  rk   s     r+   test_pie_series_negative_raisesz/TestSeriesPlots.test_pie_series_negative_raises  sB    (0IJ]]:-UV 	KKOO	 	 	s   AAc                     t        ddt        j                  dgg dd      }t        |j                  j
                        }t        |j                  g d       y )Nr{   rn   r   r  r?  r#   )r   r   r   r   )r   r&   r   r   r:   rA  r   rB  rD  s      r+   test_pie_series_nanz#TestSeriesPlots.test_pie_series_nan  s?    Arvvq)1EHUv{{/288%89r*   c                 (   t        dt        j                  ddg      }t        j                  j                         \  }}|j                  j                  d|      }g d}|j                  D cg c]  }|j                          }}||k(  sJ y c c}w )Nr{   Tr   )r  r   r  r  )
r   r&   r   r   r   r}   r:   rA  rB  get_text)r;   r   r   rN   r   xr"  s          r+   test_pie_nanzTestSeriesPlots.test_pie_nan  sz    Arvvq!$%

##%2VVZZtZ+&(*11!**,11!!! 2s   .Bc                 :   t        t        j                  j                  d      j	                  d      t        d            }t        t        j                  j                  d      j	                  d      d      }t        j                  j                         \  }}|j                  |      }|j                  d	d	|
       t        |g d       |j                         j                         sJ |j                  j                         j                         sJ y )Nrn   r   r   abccolumnsr   rp  r   r   Tr   r   rN   r   r   r   	x (right)r   )r   r&   rt   ru   rv   ra  r   r   r   r}   r:   r   	get_yaxisget_visibleright_ax)r;   r  r   r   rN   s        r+   test_df_series_secondary_legendz/TestSeriesPlots.test_df_series_secondary_legend  s    II!!!$44W=tE{
 299((+;;B?cJ 

##%2WWW^	d4 	R(DE||~))+++{{$$&22444r*   c                 T   t        t        j                  j                  d      j	                  d      t        d            }t        t        j                  j                  d      j	                  d      d      }t        j                  j                         \  }}|j                  d|	      }|j                  dd|
       g d}t        |j                  |       |j                  j                         j                         rJ |j                         j                         sJ y )Nrn   rs  rt  ru  r   rp  r   T)r   rN   rw  )z	a (right)z	b (right)z	c (right)ry  r   r   r&   rt   ru   rv   ra  r   r   r   r}   r:   r   left_axrz  r{  r;   r  r   r   rN   r   s         r+   $test_df_series_secondary_legend_bothz4TestSeriesPlots.test_df_series_secondary_legend_both  s    II!!!$44W=tE{
 299((+;;B?cJ

##%2WW"W-	d4 HRZZ9::'')55777||~))+++r*   c                 T   t        t        j                  j                  d      j	                  d      t        d            }t        t        j                  j                  d      j	                  d      d      }t        j                  j                         \  }}|j                  dd	|
      }|j                  |dd       g d}t        |j                  |       |j                  j                         j                         rJ |j                         j                         sJ y )Nrn   rs  rt  ru  r   rp  r   TF)r   
mark_rightrN   )rN   r   r   rx  r  r  s         r+   0test_df_series_secondary_legend_both_with_axis_2z@TestSeriesPlots.test_df_series_secondary_legend_both_with_axis_2  s    II!!!$44W=tE{
 299((+;;B?cJ

##%2WW%BW?	"Tt4 0RZZ2::'')55777||~))+++r*   zinput_logy, expected_scale)TrE   )symsymlogsecondary_kwargc                     t        t        j                  j                  d      j	                  d            } |j
                  dd|i|}|j                         |k(  sJ y )Nrn   r   rC   r)   )r   r&   rt   ru   rv   r:   
get_yscale)r;   
input_logyexpected_scaler  s1r   s         r+   test_secondary_logyz#TestSeriesPlots.test_secondary_logy  sU     BII))!,<<R@Abgg9:99~~>111r*   c                 @   t        t        j                  j                  d      j	                  d            }t
        j                  j                         \  }}d}t        j                  t        |      5  |j                  dd|       d d d        y # 1 sw Y   y xY w)Nrn   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)rJ   rq   rN   )r   r&   rt   ru   rv   r   r   r}   r   r   rj  r:   )r;   rp  r   rN   r   s        r+   )test_plot_fails_with_dupe_color_and_stylez9TestSeriesPlots.test_plot_fails_with_dupe_color_and_style  s}    299((+;;A>?

##%2 	
 ]]:S1 	2FFcbF1	2 	2 	2s   6BBzbw_method, indscott         ?r_  c                 r    t        j                  d       t        |j                  j                  ||       y )Nrc   	bw_methodind)r   rH  r   r:   rb   )r;   r"   r  r  s       r+   test_kde_kwargszTestSeriesPlots.test_kde_kwargs  s&     	G$"''++Dr*   zbw_method, ind, weights)r  r  N)Nr  N(   r  r8  2   c                     t        j                  d       t        t        j                  j                  d      j                  d            }t        |j                  j                  |||       y )Nrc   rn   r  size)r  r  weights)
r   rH  r   r&   rt   ru   uniformr   r:   rb   )r;   r  r  r  r   s        r+   test_kde_kwargs_weightsz'TestSeriesPlots.test_kde_kwargs_weights%  sO     	G$299((+333<=!&&**	sGTr*   c                     t        j                  d       t        j                  ddd      }t	        |j
                  j                  d|       y )Nrc   r  r_  r  r  r  )r   rH  r&   linspacer   r:   density)r;   r"   sample_pointss      r+   test_density_kwargsz#TestSeriesPlots.test_density_kwargs5  s6    G$D#r2"''//SmLr*   c                 >   t        j                  d       t        j                  j	                         \  }}t        j                  ddd      }|j                  j                  dd||      }t        |d	       t        |j                  j                         d
       y )Nrc   r  r_  r  Tr  )rC   r  r  rN   rE   rD   Density)r   rH  r   r   r}   r&   r  r:   rb   r   r   rD   	get_label)r;   r"   r   rN   r  s        r+   test_kde_kwargs_check_axesz*TestSeriesPlots.test_kde_kwargs_check_axes:  ss    G$

##%2D#r2WW[[dc}[L5)288--/;r*   c                 z   t        j                  d       t        t        j                  j                  d      j                  d            }t        j                  |d<   t        |j                  j                        }t        t        j                  |j                  d   j                                      sJ y )Nrc   rn   r  r  r   )r   rH  r   r&   rt   ru   r  r   r   r:   rb   anyisnanr   	get_xdata)r;   r   rA   s      r+   test_kde_missing_valsz%TestSeriesPlots.test_kde_missing_valsB  s    G$299((+333<=vv! , BHHTZZ]44677888r*   zApi changed in 3.6.0)r   c                 :   t         j                  j                         \  }}|j                  j	                  d|      }t        |d       |j                         }t        ||j                  g       |j                         }t        |dgt        |      z         y )NT)rC   rN   rE   r  r   )r   r   r}   r:   rf   r   r  r   r%   get_yticklabelsr1  )r;   r"   r   rN   xlabelsylabelss         r+   test_boxplot_seriesz#TestSeriesPlots.test_boxplot_seriesK  sy    

##%2WW[[dr[*5)$$&7RWWI.$$&7RD3w<$78r*   c                     t        j                  d       t        t        d            }t        j
                  j                         \  }}|j                  ||       t        j
                  j                          y )Nrc   r   r_   rN   )	r   rH  r   r/   r   r   r}   r:   closer;   r_   r   r   rN   s        r+   test_kind_kwargzTestSeriesPlots.test_kind_kwargU  sV    
 	G$58

##%2	DR 

r*   c                 
   t        j                  d       t        t        d            }t        j
                  j                         \  }} t        |j                  |              t        j
                  j                          y )Nrc   r   )
r   rH  r   r/   r   r   r}   r  r:   r  r  s        r+   test_kind_attrzTestSeriesPlots.test_kind_attr`  sY    
 	G$58

##%2

r*   c                     t        t        d            }t        j                  j	                         \  }}d}t        j                  t        |      5  |j                  ||       d d d        y # 1 sw Y   y xY w)Nabcdr   r   r  )	r   ra  r   r   r}   r   r   r   r:   r;   r_   r   r   rN   r   s         r+   test_invalid_plot_dataz&TestSeriesPlots.test_invalid_plot_datak  s^    4< 

##%2']]9C0 	%FFF$	% 	% 	%s   A00A9c                     t        j                  d       t        t        d      t              }t        |j                  |       y )Nrc   r   r   rh   )r   rH  r   r/   objectr   r:   )r;   r_   r   s      r+   test_valid_object_plotz&TestSeriesPlots.test_valid_object_plots  s.    G$59F+!&&t,r*   c                     t        g d      }t        j                  j                         \  }}d}t	        j
                  t        |      5  |j                  ||       d d d        y # 1 sw Y   y xY w)N)r   r   r   rn   r   r   r  )r   r   r   r}   r   r   r   r:   r  s         r+    test_partially_invalid_plot_dataz0TestSeriesPlots.test_partially_invalid_plot_datay  s[    %&

##%2']]9C0 	%FFF$	% 	% 	%s   A))A2c                     t        ddg      }t        j                  t        d      5  |j	                  d       d d d        y # 1 sw Y   y xY w)Nr{   rn   z%invalid_kind is not a valid plot kindr   invalid_kindrh   )r   r   r   rj  r:   r;   r   s     r+   test_invalid_kindz!TestSeriesPlots.test_invalid_kind  sA    Aq6N]]:-TU 	(FFF'	( 	( 	(s   AAc                    t        dd      }t        dd      }|j                  |      }t        j                  j	                  d      j                  |j                        }t        ||      }t        |j                         y )Nz1/1/2009r   r    z1/2/2009rn   r   )
r   appendr&   rt   ru   rv   r  r   r   r:   )r;   dr1dr2r$   r   r   s         r+   test_dup_datetime_index_plotz,TestSeriesPlots.test_dup_datetime_index_plot  sb    Q/Q/

3&&q)99%**E6'!&&!r*   c                 $   t        t        j                  d      d      }t        j                  j	                  d      j                  d      }|j                  ||      }t        j                  |j                  d   j                         D cg c]  }|j                  d d df    c}      }|j                  t        j                  ddg      z  |j                         j                  dd      z   }t        j                  ||       y c c}w )	Nr   rp  r   rn   )rn   r   )yerrxerrr{   rz   )r   r&   r'   rt   ru   r:   vstackcollections	get_pathsverticesTr   to_numpyreshaper   r   )r;   r   errrN   r0   r"  r   s          r+   test_errorbar_asymmetricalz*TestSeriesPlots.test_errorbar_asymmetrical  s    299R=s+ii##A&--g6VV3V'bnnQ6G6Q6Q6STAJJq!t,TUEEBHHb!W--1E1Eb!1LL
##FH5 Us   Dc                 >   t        t        j                  d      d      }dt        |       d}t	        j
                  t        |      5  |j                  t        j                  j                  d      j                  d      	       d d d        y # 1 sw Y   y xY w)
Nr   rp  r   z?Asymmetrical error bars should be provided with the shape \(2, z\)r   rn   )rn   r.  r  )
r   r&   r'   r1  r   r   rj  r:   rt   ru   r   s      r+    test_errorbar_asymmetrical_errorz0TestSeriesPlots.test_errorbar_asymmetrical_error  s    299R=s+$$'F830 	 ]]:S1 	BFF		--a077@FA	B 	B 	Bs   ?BBr  rn   r   )r   rn   rp  yru  c                     t        t        j                  d      d      }t        |j                  ||      }t        |dd       y )Nr   rp  r   )r  r_   r   r{   r  r  )r   r&   r'   r   r:   r   )r;   r_   r  r   rN   s        r+   test_errorbar_plotz"TestSeriesPlots.test_errorbar_plot  s6     299R=s+qvvDt<Raa0r*   c                    t        t        j                  d      d      }t        j                  t        j                  j                  d      j                  d            }t        |j                  |      }t        |dd       y )	Nr   rp  r   rn   )r  r{   r   r  )
r   r&   r'   r   rt   ru   rv   r   r:   r   )r;   r   s_errrN   s       r+   test_errorbar_plot_yerr_0z)TestSeriesPlots.test_errorbar_plot_yerr_0  sZ    299R=s+ryy,,Q/??CDqvvE2Raa0r*   r/  )r/  rn   c                     t        ddd      }t        t        j                  d      |d      }||_        t        |j                  |      }t        |d	d
       y )Nr,  r0  ME)freqr/  rp  r#   r  r   r{   r  )r   r   r&   r'   r$   r   r:   r   )r;   r  ixr"   rN   s        r+   test_errorbar_plot_tsz%TestSeriesPlots.test_errorbar_plot_ts  sK     
JT:BIIbM#6
rwwT2Raa0r*   c                     t        t        j                  d      d      }t        j                  t
              5  |j                  t        j                  d             d d d        y # 1 sw Y   y xY w)Nr   rp  r   r.  r  )r   r&   r'   r   external_error_raisedrj  r:   r  s     r+   %test_errorbar_plot_invalid_yerr_shapez5TestSeriesPlots.test_errorbar_plot_invalid_yerr_shape  sO    299R=s+%%j1 	'FF		"F&	' 	' 	's   &A))A2c                     t        t        j                  d      d      }dgdz  }t        j                  t
              5  |j                  |       d d d        y # 1 sw Y   y xY w)Nr   rp  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  sR    299R=s+"%%i0 	FFF	 	 	s    AA%c                 2    t        |j                  d       y )NTtabler9   rk   s     r+   test_table_truezTestSeriesPlots.test_table_true  s    &++T2r*   c                 2    t        |j                  |       y )Nr  r9   rk   s     r+   test_table_selfzTestSeriesPlots.test_table_self  s    &++V4r*   c                     t        j                  d       t        t        g d      t        j
                  j                  t        j
                  j                  z          y )Nrc   r   )r   rH  r   r   r
   PlotAccessor_series_kinds_common_kinds)r;   s    r+   test_series_grid_settingsz)TestSeriesPlots.test_series_grid_settings  sB     	G$9!!//(2G2G2U2UU	
r*   r   )rM  r  greenz#FF0000c                     t        d|      }||gk(  sJ t        d|g      }||gk(  sJ t        d|      }||gdz  k(  sJ t        d|g      }||gdz  k(  sJ y )Nr{   rp   r   r   r;   r   r"  s      r+   test_standard_colorsz$TestSeriesPlots.test_standard_colors  sz    $Qa0!}}$Qqc2!}}$Qa0!q   $Qqc2!q   r*   c                    t         j                  j                  D ]^  }t        d|      }||gk(  sJ t        d|g      }||gk(  sJ t        d|      }||gdz  k(  sJ t        d|g      }||gdz  k(  r^J  t         j                  j                  j                  D ]^  }t        d|      }||gk(  sJ t        d|g      }||gk(  sJ t        d|      }||gdz  k(  sJ t        d|g      }||gdz  k(  r^J  y )Nr{   )
num_colorsrq   r   )r   r   cnamesr   ColorConverterr  s      r+   test_standard_colors_allz(TestSeriesPlots.test_standard_colors_all  s,   "" 	%A(AQ?FaS= =(AaSAFaS= =(AQ?FaS1W$$$(AaSAFaS1W$$$	% **11 	%A(AQ?FaS= =(AaSAFaS= =(AQ?FaS1W$$$(AaSAFaS1W$$$	%r*   c                     t         j                  j                         \  }}t        t	        j
                  d      dz         j                  d|      }t        |j                         dg       y )Nr/  r{   r  rq   rN   
linecolors)	r   r   r}   r   r&   r'   r:   r   r   r;   r   rN   s      r+   test_series_plot_color_kwargsz-TestSeriesPlots.test_series_plot_color_kwargs  sQ    

##%2BIIbMA%&++'b+Ablln';r*   c                     t         j                  j                         \  }}t        t	        j
                  d      dz   t        dd            j                  d|      }t        |j                         dg       y )	Nr/  r{   r,  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!  sb    

##%2BIIbMA%Z
B-OPUUb V 
 	blln';r*   c                 X   t        t        j                        }t        dd      }t	        t        j                  dd      |      }d}t        j                  j                         \  }}t        |      D ]  }|j                  |      } t        |j                         |d | 	       y )
Nr,  r/  r    r{      r   r   r   r  )r   r   r   r   r   r&   r'   r   r}   r/   r:   r   r   )r;   
def_colorsr$   r   ncolorsr   rN   r0   s           r+   -test_time_series_plot_color_with_empty_kwargsz=TestSeriesPlots.test_time_series_plot_color_with_empty_kwargs)  s    #CLL1
:r2299Q#51

##%2w 	A2B	bllnHW1EFr*   c           	      T   t        t        j                  d      t        d      D cg c]  }d|d
 c}      }t        j
                  j                         \  }}|j                  g d|      }dD cg c]  }d|d
 }}t        |j                         |       y c c}w c c}w )Nr   P02dr   )r   r   r[   r-  )xticksrN   )
r   r&   r'   r/   r   r   r}   r:   r   r  )r;   r0   r   r   rN   r   s         r+   test_xticklabelsz TestSeriesPlots.test_xticklabels5  s    299R=eBi(H1QsG(HI

##%2VV<BV/$01q1S'{112--/5	 )I 2s   B 
6B%c           	      X   t        t        d      t        d      D cg c]  }d|d
 c}      }|j                  j                  t        ddd            }t	        j
                  t        t        ddd                  }t        j                  ||j                                y c c}w )	Nr   r  r  r   r   r.  rn   )r  )
r   r/   r:   rR   r&   r   ra  r   r   
get_xticks)r;   r0   r   rN   r   s        r+   test_xtick_barPlotz"TestSeriesPlots.test_xtick_barPlot=  s|    59%)$DQq3[$DEVVZZuQAZ/hhtE!RO,-
##C9 %Es   B'
c           
          t        t        dd      t        j                  ddt	        dg                  }t        |j                         y )	Nr_  y   z
2014-05-01z
2014-06-01z
2014-05-26)holidays)startendr  r   )r   r/   pdbdate_ranger   r   r:   r  s     r+   test_custom_business_day_freqz-TestSeriesPlots.test_custom_business_day_freqD  s?    #sO.." &?
 	!&&!r*   ziGH#24426, see also github.com/pandas-dev/pandas/commit/ef1bd69fa42bbed5d09dd17f08c44fc8bfc2b685#r61470674c                    t        g d      }t        j                  j                         \  }}|j	                  |      }|j
                  j                         }|j                  ddgd       t        j                  j                         \  }}|j
                  j                         }t        j                  ||       y )Nr  r   r   r{   T)inplace)
r   r   r   r}   r:   rG   r  dropr   r   )r;   r]   r   rN   beforeafters         r+   %test_plot_accessor_updates_on_inplacez5TestSeriesPlots.test_plot_accessor_updates_on_inplaceQ  s     \"

##%2XXX_&&(!Q&

##%2%%'
##FE2r*   rX   c                     t        ddg      }t        j                  j                         \  }}|j	                  ||       |j                         }|d   dk  sJ |d   dkD  sJ y )Nrn   r   r  r   r{   )r   r   r   r}   r:   r   )r;   r_   r   r   rN   xlimss         r+   test_plot_xlim_for_seriesz)TestSeriesPlots.test_plot_xlim_for_seriesa  sb     Aq6N

##%2	DR Qx!||Qx!||r*   c                 :   t        t              }|j                  sJ |j                         }t	        |j                               dk(  sJ |j                         d   }t	        |j                               dk(  sJ t	        |j                               dk(  sJ y )Nr   r{   r   )r   intemptyr:   r1  r   r  r   )r;   r  rN   r`   s       r+   test_plot_no_rowsz!TestSeriesPlots.test_plot_no_rowsm  s    #xxxWWY2<<>"a'''||~a 4>>#$)))4>>#$)))r*   c                     t        g d      }t        j                  t        d      5  |j	                          d d d        y # 1 sw Y   y xY w)Nr   r   r   )r   r   r   r   r:   )r;   r  s     r+   test_plot_no_numeric_dataz)TestSeriesPlots.test_plot_no_numeric_dataw  s9    O$]]9,EF 	GGI	 	 	s   AAzdata, indexr  )r   rn   r{   r   )r   r  r  r   )iv  i  i  i  c                     t        ||      }|j                  d      }|j                         }t        |j                  d       D cg c]  }|j                         j                   }}||k(  sJ y c c}w )N)r   r$   rR   rh   c                 6    | j                         j                  S r8   )get_bboxr   )patchs    r+   <lambda>z1TestSeriesPlots.test_plot_order.<locals>.<lambda>  s    enn>N>S>S r*   )r   )r   r:   tolistsortedrw   r3  r  )r;   r   r$   r]   rN   r   r4  r"  s           r+   test_plot_orderzTestSeriesPlots.test_plot_order|  sx     $e,XX5X!::<  

0ST
 NN!!
 
 6!!!	
s   
!A5c                     t        ddg      }|j                  dd      }|j                  d   j                         dk(  sJ y )Nr{   rn   r   C3)rJ   rq   r   )r   r:   r   	get_color)r;   r   rN   s      r+   test_style_single_okz$TestSeriesPlots.test_style_single_ok  s@    Aq6NVV#TV*xx{$$&$...r*   z index_name, old_label, new_label))Nr   new)oldr>  r=  )Nr   r   )r`   rX   rR   ra   re   c                    t        g d      }||j                  _        |j                  |      }|dk(  r*|j	                         dk(  sJ |j                         |k(  s[J |dk(  r*|j	                         dk(  sJ |j                         dk(  s,J |j                         dk(  sJ |j	                         |k(  sJ |j                  |||      }|j                         |k(  sJ |j	                         |k(  sJ y )Nr  rh   ra   r   re   	Frequency)r_   ylabelxlabel)r   r$   r%   r:   r   rC  )r;   r_   
index_name	old_label	new_labelr]   rN   s          r+   test_xlabel_ylabel_seriesz)TestSeriesPlots.test_xlabel_ylabel_series  s     \"#		 XX4X 6>==?b(((==?i///V^==?b(((==?k111==?b(((==?i/// XX4	)XD}})+++}})+++r*   r   rV  )r  r!   r  r{   )daysc                 p    d}t        ddg|      j                  |      }|j                         dk(  sJ y )N)r   r{   r{   rn   r   )xlim)r   r:   r   )r;   r$   r)  rN   s       r+   test_timedelta_indexz$TestSeriesPlots.test_timedelta_index  s;     QF%(--E-;{{}&&&r*   c                     t        g d      }|j                  d       }t        t        j                  j
                        d d }t        |j                         |       y )Nr   rp   r{   r  )r   r:   r   r   r   r   r   r   )r;   r-   rN   r   s       r+   test_series_none_colorz&TestSeriesPlots.test_series_none_color  sG    	"[[t[$!#**"5"56r:blln:r*   c                 x    t        j                  d      5  |j                         }d d d        y # 1 sw Y   y xY w)NF)r   assert_produces_warningr:   )r;   r"   r   s      r+   test_plot_no_warningz$TestSeriesPlots.test_plot_no_warning  s2     ''. 		A	 	 	s   09c                    t        g dg d      }t        g dg d      }t        j                  ddd      }|j                  |       |j                  |d	       t        j                  ddd      }|j                  |       t	        |j
                  j                               d
k(  sJ t	        |j                               d
kD  sJ y )N)r[   r\     r   r\  )r{   rn   r   r   r[   r   )rQ  r   r[   r   r   rn   r{   r   T)rN   r   r   )r   pltsubplotr:   r1  rG   get_minor_ticksr  )r;   r  s2rN   r   s        r+   $test_secondary_y_subplot_axis_labelsz4TestSeriesPlots.test_secondary_y_subplot_axis_labels  s    O?;O?;[[Aq!
2
24(kk!Q"
3288++-.!3332%%'(1,,,r*   c                    t        ddd      }t        |j                  j                  t                    }t        g d|      }t        j                         }|j                  d|       |j                         D cg c]  }|j                         |v s| }}|j                  d	|d
       |j                         D cg c]  }|j                         |v s| }}t        |      t        |      k(  sJ ||k(  sJ |j                         }|d   |d   j                         d   k  sJ |d   |d   j                         d   k\  sJ yc c}w c c}w )z
        Test that bar and line plots with the same x values are superposed
        and that the x limits are set such that the plots are visible.
        2023r   Y)r!   r  r   r   rR   r  r`   rM  )r_   rN   rq   r   r{   rz   N)r	   setyearastypestrr   rR  rS  r:   r  ro  r1  r   get_position)	r;   r$   yearsr   rN   r4   
bar_xticksline_xticksx_limitss	            r+   test_bar_line_plotz"TestSeriesPlots.test_bar_line_plot  sK    VQS9EJJ%%c*+9E*[[]	Eb!!113
u~~7G57PE

 
 	
Fr-!113
u~~7G57PE
 
 :#e*,,,[(((;;={jm88:1===={jn99;A>>>>

s   ?EEEE)z__name__
__module____qualname__r   markslowparametrizer<   rB   rO   rT   rY   r^   paramtd
skip_if_nori   rl   rx   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*  r6  r;  rE  rI  rK  rQ  rZ  rh  rk  rm  rq  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  r   r   rt   ru   rv   ra  r   r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r!  r'  r*  r.  r0  r8  r<  rF  r  timedelta_range	TimedeltarJ  rL  rO  rV  rc  r)   r*   r+   r2   r2   E   s7
   [[[[X%(8;:N'OP- Q - [[) ) [[[[d^gu-.d^gu-.?@	
* * [[, , [[7 7$ [[FLLmbmmG&<=	

6
61= [[XXw,?(GAT'UV9 W9
J2 [[X]D,A'BC< D<'(	'	'03.233& [[WtZa-P&QRG SG$ [[(  
 [[\,<>O+PQP RP [[(  
 [[	%'DEP	PG
")*	(
C
%(/
=9) :"5","," [[$}6G&H [[.mT5J0KL2 M2	2 [[bM2J72772;+"++dC,-		
EE [[!72772;%+"++dC,d3b+"++c334	
	U	UM
<9 [[459 69 [[++h.C.C.Q.QQ	 [[++h.C.C.Q.QQ	 [[VX%:%:%H%HI% J% [[VX%:%:%H%HI- J-
 [[VX%:%:%H%HI% J%(
"	6B [[[[Vfe_5[[6266"))//2BB2FGHBFF299((+;;B?@		--a0@@DEFryy,,Q/??HIc
		
1 6 1
 [[1 1 [[[[6266"))//2BB2FGHryy,,Q/??HIc
	
	1	 1 [[' ' [[  [[3 3 [[5 5 [[
 
 [[S"BC! D!%:<<
G6:" [[=  
	3
	3 [[Vff%56	 7	*
 [[<(78	

"
"/
 [[*B [[V%LM, N	
,, [[BQ<R\\q!<2<<Q#78	
''; [[ -?r*   r2   )3__doc__r   	itertoolsr   numpyr&   r   pandas.compatr   pandas.util._test_decoratorsutil_test_decoratorsrk  pandasr  r   r   r   r	   r
   pandas._testing_testingr   pandas.tests.plotting.commonr   r   r   r   r   r   r   r   r   r   r   pandas.tseries.offsetsr   rH  r   rR  %pandas.plotting._matplotlib.converterr   !pandas.plotting._matplotlib.styler   rg  filterwarnings
pytestmarkfixturer"   r-   r2   r)   r*   r+   <module>r     s          + ) )       5f,'f-. C A KKK KKL	
    h? h?r*   