
    I>qj                        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$ dd	l%m&Z&  ejN                  d
      Z( ejN                  d      Z)ddl*m+Z+ ddl,m-Z- ej\                  j_                  d      ej\                  j_                  d      gZ0ejb                  d        Z2ejb                  d        Z3 G d d      Z4y)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)Version)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        `/opt/rentech/trading_bot/.venv/lib/python3.12/site-packages/pandas/tests/plotting/test_series.pyr#   r#   6   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#   r4   s      r,   	test_plotzTestSeriesPlots.test_plotG   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_propsL   s     a04a(r+   zscale, exp_scalelogyTyaxisloglogxxaxisloglog)rH   rE   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_scalesQ   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;   arearT   s     r,   test_plot_ts_area_stackedz)TestSeriesPlots.test_plot_ts_area_stackedb   s    "'',,6r+   c                 n    t        t        d      t        dd            }t        |j                         y )N   r    r!   )r   r0   r	   r   r;   r<   sers     r,   test_plot_iseriesz!TestSeriesPlots.test_plot_iseriesf   s%    U1X|L!DE#((#r+   kindlinerS   barhkdescipy)markshistboxc                 8    t        |d d j                  |       y )Nr\   r`   r:   )r<   r.   r`   s      r,   test_plot_series_kindsz&TestSeriesPlots.test_plot_series_kindsj   s     	&!*//5r+   c                 H    t        |d d j                  j                         y rR   )r   r;   rb   r<   r.   s     r,   test_plot_series_barhz%TestSeriesPlots.test_plot_series_barhx   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;   rS   r   patches)r<   rO   s     r,   test_plot_series_bar_axz'TestSeriesPlots.test_plot_series_bar_ax{   sU    299((+;;B?@EEIIQX
 	rzz!}o7)<r+   layout)   )r|   r{   c                 P    t        |j                  fddi|}t        |dd       y )NsubplotsTr|   r|   r|   )axes_numrz   )r   r;   r   )r<   r#   r4   rO   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figsizerO   r|   r   )r   rz   r   )mplpyplotr~   r;   r   r   r   )r<   r.   _rO   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|   ro      rO   )r   r   rcParamsr~   r   r;   )r<   keycolorsr   rO   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 )NrO   r   Forigr{   r*   )r   r   r~   r;   get_xlim	get_linesget_data)r<   r#   r4   r   rO   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)rX   rO   r   r   r{   r@   	r   r   r~   r;   rY   r   r   r   r   r<   r#   r   rO   r   r   ra   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rX   x_compatrO   r   r   r{      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   r{   r@   copytz_localize
tz_convertr%   r   r   r~   r;   rY   r   r   r   r   r<   r#   tz_tsr   rO   r   r   ra   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)rX   r   rO   r   r   r{   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|   ro   T)shareyrY   )rO   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|   ro   LABELT)r5   legendrO   labelsr   r   r   r~   r;   r   r<   sr   rO   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|   ro   Tr   rO    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|   ro   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|   ro   r   r   Tr   r   r5   rO   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|   ro   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|   ro   r   r%   r   r   r   )FFTF)r|   ro   r   r   TrW   F)r'   nanr   r   r;   r   	get_ydataarrayr)   tmassert_numpy_array_equaldeletedatamaskrY   )r<   r%   valuesdrO   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r7   rO   r   )r   r%   r&   r   r   r~   r;   
get_xlabel)r<   r   r   rO   r5   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;   rS   r   )r<   r   r   rO   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)rE   rS   )rH   rb   c                    t        t        j                        t        d      k  rt        j                  g d      nt        j                  g d      }t        j
                  j                         \  }} t        t        ddg      j                  |      d|      }t        j                  t        ||      j                         |       y )N	3.11.0rc1)皙?      ?      $@      Y@     @@g     @)r   r   r  r  r     i  T)rF   rO   )r   r   __version__r'   r   r   r~   getattrr   r;   r   r   get_ticklocs)r<   axismethr   r   rO   s         r,   test_bar_logzTestSeriesPlots.test_bar_log   s     s''+*>> HH4545 	 

##%23WVS#J',,d3D
##GB$5$B$B$DhOr+   zaxis, kind, res_meth)rE   rS   get_ylim)rH   rb   r   c                    t        t        j                        t        d      k  rt        j                  g d      n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 )Nr   )gh㈵>-C6?MbP?{Gz?r   r   r  )r  r  r  r   r   )r   r  r  T)rF   r`   rO   g!,NJ?gЄ-??r   r|   )r   r   r  r'   r   r   r~   r   r;   r  r   assert_almost_equalr   r  )
r<   r  r`   res_methr   r   rO   yminymaxress
             r,   test_bar_log_kind_barz%TestSeriesPlots.test_bar_log_kind_bar3  s     s''+*>> HH=>78 	 

##%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|   ro   r   r   r   r   r   r   r   Fr   )0123)r   r   r   r~   r;   rS   r   get_xticklabels)r<   dfr   rO   s       r,   test_bar_ignore_indexz%TestSeriesPlots.test_bar_ignore_indexO  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!  rq   )r           r$  r   r$  r$  r   r   r%  r#  )r   r;   rS   rx   get_facecolor)r<   r   rO   presultr   s         r,   test_bar_user_colorsz$TestSeriesPlots.test_bar_user_colorsU  s[    < VVZZ<Z=-/ZZ8!//#88
 !!! 9s   Ac                     t        t        j                  j                  d      j	                  d            }t
        j                  j                         \  }}|j                  |      }t        |d       y )Nro   r\   r\   r   r   r@   
r   r'   ru   rv   rw   r   r   r~   r;   r   r<   r  r   rO   rB   s        r,   test_rotation_defaultz%TestSeriesPlots.test_rotation_defaulta  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 )Nro   r+  r   )r?   rO   r@   r,  r-  s        r,   test_rotation_30z TestSeriesPlots.test_rotation_30h  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|   ro   r   r\   	   r         ro   r   i  r|   r   z1/1/19991/1/2001r   r   r@   )r   r   r'   ru   rv   rw   lenr   r   r~   r;   r   convertr   set_xlimr   r   )r<   rngr^   r   rO   xps         r,   test_irregular_datetimez'TestSeriesPlots.test_irregular_datetimen  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   rO   r   r   r   s          r,   test_unsorted_index_xlimz(TestSeriesPlots.test_unsorted_index_xlimy  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 )Nro   r|   r\   r   r   r   r   eYLABELr$   r   )r   r'   ru   rv   integersr   r;   pier   textsr%   
get_ylabelr<   r.   rO   s      r,   test_pie_serieszTestSeriesPlots.test_pie_series  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;   rG  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 )	Nro   r|   r\   rC  rE  r$   r   r   )
r   r'   ru   rv   rF  r   r;   rG  r   rH  rJ  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 )Nro   r|   r\   rC  rE  r$   )rgr   )r   )rS  rT  r   rS  rT  rs   )
r   r'   ru   rv   rF  r   r;   rG  r   rx   )r<   r.   
color_argsrO   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 )Nro   r|   r\   rC  rE  r$   )ABCDErS  rT  r   r   m)r   r   rs   )r   r'   ru   rv   rF  r   r;   rG  r   rH  r   rx   )r<   r.   r   rU  rO   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        d      k  r4t        t        j                  t!        |j"                  |d                  n)t        t        j                  |j"                  |f            }t%        |j&                  |       |j&                  D ]  }|j)                         d	k(  rJ  y c c}w )Nro   r|   r\   rC  rE  r$   r^  z%.2f   )r   autopctfontsized   z.2fr   T)r   )r   r'   ru   rv   rF  r   r;   rG  r   sumr   r   r  listr   from_iterablezipr%   r   rH  get_fontsize)r<   r.   rU  rO   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 s''+*>> $$StD%IJKe))6<<*>?@ 	
 	288^4 	)A>>#q(((	) Hs   E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|   ro   r   r   r{   rC  r   z&pie plot doesn't allow negative valuesr   )r   r   r   
ValueErrorr;   rG  rl   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|   ro   r   r  rE  r$   )r   r   r   r   )r   r'   r   r   r;   rG  r   rH  rJ  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;   rG  rH  get_text)r<   r   r   rO   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 )Nro   r   r   abccolumnsr   rv  r   r   Tr   r   rO   r   r   r   	x (right)r   )r   r'   ru   rv   rw   rg  r   r   r   r~   r;   r   	get_yaxisget_visibleright_ax)r<   r  r   r   rO   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 )Nro   ry  rz  r{  r   rv  r   T)r   rO   r}  )z	a (right)z	b (right)z	c (right)r  r   r   r'   ru   rv   rw   rg  r   r   r   r~   r;   r   left_axr  r  r<   r  r   r   rO   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 )Nro   ry  rz  r{  r   rv  r   TF)r   
mark_rightrO   )rO   r   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    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)TrF   )symsymlogsecondary_kwargc                     t        t        j                  j                  d      j	                  d            } |j
                  dd|i|}|j                         |k(  sJ y )Nro   r   rD   r*   )r   r'   ru   rv   rw   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)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)rK   rr   rO   )r   r'   ru   rv   rw   r   r   r~   r   r   rp  r;   )r<   rv  r   rO   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         ?re  c                 r    t        j                  d       t        |j                  j                  ||       y )Nrd   	bw_methodind)r   rN  r   r;   rc   )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$  r>  2   c                     t        j                  d       t        t        j                  j                  d      j                  d            }t        |j                  j                  |||       y )Nrd   ro   r  size)r  r  weights)
r   rN  r   r'   ru   rv   uniformr   r;   rc   )r<   r  r  r  r   s        r,   test_kde_kwargs_weightsz'TestSeriesPlots.test_kde_kwargs_weights6  sO     	G$299((+333<=!&&**	sGTr+   c                     t        j                  d       t        j                  ddd      }t	        |j
                  j                  d|       y )Nrd   r  re  r  r  r  )r   rN  r'   linspacer   r;   density)r<   r#   sample_pointss      r,   test_density_kwargsz#TestSeriesPlots.test_density_kwargsF  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 )Nrd   r  re  r  Tr  )rD   r  r  rO   rF   rE   Density)r   rN  r   r   r~   r'   r  r;   rc   r   r   rE   	get_label)r<   r#   r   rO   r  s        r,   test_kde_kwargs_check_axesz*TestSeriesPlots.test_kde_kwargs_check_axesK  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 )Nrd   ro   r  r  r   )r   rN  r   r'   ru   rv   r  r   r   r;   rc   anyisnanr   	get_xdata)r<   r   rB   s      r,   test_kde_missing_valsz%TestSeriesPlots.test_kde_missing_valsS  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)rD   rO   rF   r  r   )r   r   r~   r;   rg   r   r  r   r&   get_yticklabelsr7  )r<   r#   r   rO   xlabelsylabelss         r,   test_boxplot_seriesz#TestSeriesPlots.test_boxplot_series\  sy    

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

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

r+   c                 
   t        j                  d       t        t        d            }t        j
                  j                         \  }} t        |j                  |              t        j
                  j                          y )Nrd   r   )
r   rN  r   r0   r   r   r~   r  r;   r  r  s        r,   test_kind_attrzTestSeriesPlots.test_kind_attrq  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   rg  r   r   r~   r   r   r   r;   r<   r`   r   r   rO   r   s         r,   test_invalid_plot_dataz&TestSeriesPlots.test_invalid_plot_data|  s^    4< 

##%2']]9C0 	%FFF$	% 	% 	%s   A00A9c                     t        j                  d       t        t        d      t              }t        |j                  |       y )Nrd   r   r   ri   )r   rN  r   r0   objectr   r;   )r<   r`   r   s      r,   test_valid_object_plotz&TestSeriesPlots.test_valid_object_plot  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   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 	%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|   ro   z%invalid_kind is not a valid plot kindr   invalid_kindri   )r   r   r   rp  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/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  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   rv  r   ro   )ro   r   )yerrxerrr|   r{   )r   r'   r(   ru   rv   r;   vstackcollections	get_pathsverticesTr   to_numpyreshaper   r   )r<   r   errrO   r1   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   rv  r   z?Asymmetrical error bars should be provided with the shape \(2, z\)r   ro   )ro   r4  r  )
r   r'   r(   r7  r   r   rp  r;   ru   rv   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  ro   r   )r   ro   rv  yr{  c                     t        t        j                  d      d      }t        |j                  ||      }t        |dd       y )Nr   rv  r   )r  r`   r   r|   r  r  )r   r'   r(   r   r;   r   )r<   r`   r  r   rO   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   rv  r   ro   )r  r|   r   r  )
r   r'   r(   r   ru   rv   rw   r   r;   r   )r<   r   s_errrO   s       r,   test_errorbar_plot_yerr_0z)TestSeriesPlots.test_errorbar_plot_yerr_0  sZ    299R=s+ryy,,Q/??CDqvvE2Raa0r+   r5  )r5  ro   c                     t        ddd      }t        t        j                  d      |d      }||_        t        |j                  |      }t        |d	d
       y )Nr2  r6  ME)freqr5  rv  r$   r  r   r|   r  )r   r   r'   r(   r%   r   r;   r   )r<   r  ixr#   rO   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   rv  r   r4  r  )r   r'   r(   r   external_error_raisedrp  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   rv  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tabler:   rl   s     r,   test_table_truezTestSeriesPlots.test_table_true  s    &++T2r+   c                 2    t        |j                  |       y )Nr  r:   rl   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 )Nrd   r   )r   rN  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   )rS  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|   rq   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_colorsrr   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 )Nr5  r|   r  rr   rO   
linecolors)	r   r   r~   r   r'   r(   r;   r   r   r<   r   rO   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 )	Nr5  r|   r2  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_kwargs2  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 )
Nr2  r5  r!   r|      r   r   r   r  )r   r   r   r   r   r'   r(   r   r~   r0   r;   r   r   )r<   
def_colorsr%   r   ncolorsr   rO   r1   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\   r3  )xticksrO   )
r   r'   r(   r0   r   r   r~   r;   r   r  )r<   r1   r   r   rO   r   s         r,   test_xticklabelsz TestSeriesPlots.test_xticklabelsF  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   r4  ro   )r  )
r   r0   r;   rS   r'   r   rg  r   r   
get_xticks)r<   r1   r   rO   r   s        r,   test_xtick_barPlotz"TestSeriesPlots.test_xtick_barPlotN  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 )	Nre  y   z
2014-05-01z
2014-06-01z
2014-05-26)holidays)startendr  r   )r   r0   pdbdate_ranger   r   r;   r  s     r,   test_custom_business_day_freqz-TestSeriesPlots.test_custom_business_day_freqU  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;   rH   r  dropr   r   )r<   r^   r   rO   beforeafters         r,   %test_plot_accessor_updates_on_inplacez5TestSeriesPlots.test_plot_accessor_updates_on_inplaceb  s     \"

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

##%2%%'
##FE2r+   rY   c                     t        ddg      }t        j                  j                         \  }}|j	                  ||       |j                         }|d   dk  sJ |d   dkD  sJ y )Nro   r   r  r   r|   )r   r   r   r~   r;   r   )r<   r`   r   r   rO   xlimss         r,   test_plot_xlim_for_seriesz)TestSeriesPlots.test_plot_xlim_for_seriesr  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;   r7  r   r  r   )r<   r  rO   ra   s       r,   test_plot_no_rowsz!TestSeriesPlots.test_plot_no_rows~  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_data  s9    O$]]9,EF 	GGI	 	 	s   AAzdata, indexr  )r   ro   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%   rS   ri   c                 6    | j                         j                  S r9   )get_bboxr   )patchs    r,   <lambda>z1TestSeriesPlots.test_plot_order.<locals>.<lambda>  s    enn>N>S>S r+   )r   )r   r;   tolistsortedrx   r9  r  )r<   r   r%   r^   rO   r   r:  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|   ro   r   C3)rK   rr   r   )r   r;   r   	get_color)r<   r   rO   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)oldrD  rC  )Nr   r   )ra   rY   rS   rb   rf   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  ri   rb   r   rf   	Frequency)r`   ylabelxlabel)r   r%   r&   r;   r   rI  )r<   r`   
index_name	old_label	new_labelr^   rO   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   r\  )r#  r"   r  r|   )daysc                 p    d}t        ddg|      j                  |      }|j                         dk(  sJ y )N)r   r|   r|   ro   r   )xlim)r   r;   r   )r<   r%   r/  rO   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   rq   r|   r  )r   r;   r   r   r   r   r   r   )r<   r.   rO   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\   rb     r   rb  )r|   ro   r   r   r\   r   )rW  r   r\   r   r   ro   r|   r   T)rO   r   r   )r   pltsubplotr;   r7  rH   get_minor_ticksr  )r<   r  s2rO   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   rS   r  ra   rS  )r`   rO   rr   r   r|   r{   N)r	   setyearastypestrr   rX  rY  r;   r  ru  r7  r   get_position)	r<   r%   yearsr   rO   r5   
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=   rC   rP   rU   rZ   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.  r0  r<  rA  rK  rO  rQ  rW  r`  rn  rq  rs  rw  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   ru   rv   rw   rg  r   r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r  r'  r-  r0  r4  r6  r>  rB  rL  r%  timedelta_range	TimedeltarP  rR  rU  r\  ri  r*   r+   r,   r3   r3   F   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+   r3   )5__doc__r   	itertoolsr   numpyr'   r   pandas.compatr   pandas.util._test_decoratorsutil_test_decoratorsrq  pandasr%  r   r   r   r	   r
   pandas._testing_testingr   pandas.tests.plotting.commonr   r   r   r   r   r   r   r   r   r   r   pandas.util.versionr   pandas.tseries.offsetsr   rN  r   rX  %pandas.plotting._matplotlib.converterr   !pandas.plotting._matplotlib.styler   rm  filterwarnings
pytestmarkfixturer#   r.   r3   r*   r+   r,   <module>r     s          + ) )       ( 4f,'f-. C A KKK KKL	
    x? x?r+   