
    Owg                     b   d Z ddlmZ ddlmZ ddlZddlZddlmZ ddl	m
Z
 ddlmc mZ ddlZddlmZmZmZmZmZ ddlmZ ddlmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$  ejJ                  d	      Z& ejJ                  d
      Z'ejP                  d        Z)ejP                  d        Z* G d d      Z+y)z Test cases for Series.plot     )datetime)chainN)is_platform_linux)np_version_gte1p24)	DataFrameSeries
date_rangeperiod_rangeplotting)_check_ax_scales_check_axes_shape_check_colors_check_grid_settings_check_has_errorbars_check_legend_labels_check_plot_works_check_text_labels_check_ticks_props_unpack_cycler
get_y_axis
matplotlibzmatplotlib.pyplotc                  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	        X/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/plotting/test_series.pyr   r   '   s.    
		"BJJ'r2 r'   c            
          t        t        d      t        j                  dt        d      D  cg c]  } d|  	 c}       S c c} w )N   seriesi_)r   r"   r!   )r   ranger#   r%   )is    r(   r+   r+   0   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'xr  e(       d<d=      ej                  j                  d>d?d@g      dA               Z)ej                  jM                  e'xr  e(       d<d=      ej                  j                  dBg dCg dDg      dE               Z*dF Z+dG Z,dH Z-dI Z.dJ Z/dK Z0dL Z1dM Z2dN Z3dO Z4dP Z5dQ Z6dR Z7dS Z8dT Z9dU Z:dV Z;dW Z<dX Z=ej                  j                  dYdZd[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        ZCde ZDdf ZEdg ZFej                  jM                  dhi      dj        ZGej                  j                  deHj                  j                  eHj                  j                  z         dk        ZLej                  j                  deHj                  j                  eHj                  j                  z         dl        ZMej                  j                  deHj                  j                        dm        ZNej                  j                  deHj                  j                        dn        ZOej                  j                  deHj                  j                        do        ZPdp ZQdq ZRdr ZSej                  j
                  ej                  j                  dddg      ej                  j                  ds eT e@j                  e@j                  j                  dt      j                  du                   e@j                  e@j                  j                  dt      j                  du             eY e@j                  e@j                  j                  dt      j                  du                   eZ e@j                  e@j                  j                  dt      j                  dv            dwdxgy      g      dz                      Z[ej                  j
                  d{        Z\ej                  j
                  ej                  j                  ds eT e@j                  e@j                  j                  dt      j                  d|                   eZ e@j                  e@j                  j                  dt      j                  d}            dwdxgy      g      d~               Z]ej                  j
                  d        Z^ej                  j
                  d        Z_ej                  j
                  d        Z`ej                  j
                  d        Zaej                  j
                  d        Zbej                  j                  dg d      d        Zcd Zdd Zed Zfd Zgd Zhd Zid Zjej                  jM                  di      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                  ddtd       erj                  d       erj                  dt      gg      d        Zud Zvej                  j
                  d        Zwy5)TestSeriesPlotskwargslabelfoo	use_indexFc                 0    t        |j                  fi | y Nr   plot)selfr   r1   s      r(   	test_plotzTestSeriesPlots.test_plot8   s     	"'',V,r'   c                 L    t        |j                  d      }t        |d       y )Nr   )rotxrot)r   r8   r   )r9   r   axess      r(   test_plot_tick_propsz$TestSeriesPlots.test_plot_tick_props=   s     a04a(r'   zscale, exp_scalelogyTyaxisloglogxxaxisloglog)rE   rB   c                 L    t        |j                  fddi|}t        |fi | y )Nstyle.)r   r8   r   )r9   r   scale	exp_scaleaxs        r(   test_plot_scalesz TestSeriesPlots.test_plot_scalesB   s)     rww;c;U;)y)r'   c                 H    t        |d d j                  j                         y Nr   )r   r8   barr9   r   s     r(   test_plot_ts_barz TestSeriesPlots.test_plot_ts_barO   s    "Sb',,**+r'   c                 F    t        |j                  j                  d       y )NFstacked)r   r8   arearQ   s     r(   test_plot_ts_area_stackedz)TestSeriesPlots.test_plot_ts_area_stackedS   s    "'',,6r'   c                 n    t        t        d      t        dd            }t        |j                         y )N   r   r   )r   r-   r
   r   r8   )r9   sers     r(   test_plot_iseriesz!TestSeriesPlots.test_plot_iseriesW   s%    U1X|L!DE#((#r'   kindlinerP   barhkdescipy)markshistboxc                 8    t        |d d j                  |       y )NrY   r\   r7   )r9   r+   r\   s      r(   test_plot_series_kindsz&TestSeriesPlots.test_plot_series_kinds[   s     	&!*//5r'   c                 H    t        |d d j                  j                         y rO   )r   r8   r^   r9   r+   s     r(   test_plot_series_barhz%TestSeriesPlots.test_plot_series_barhi   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_normalr8   rP   r   patches)r9   rL   s     r(   test_plot_series_bar_axz'TestSeriesPlots.test_plot_series_bar_axl   sU    299((+;;B?@EEIIQX
 	rzz!}o7)<r'   layout)   )rx   rw   c                 P    t        |j                  fddi|}t        |dd       y )NsubplotsTrx   rx   rx   )axes_numrv   )r   r8   r   )r9   r   r1   rL   s       r(   test_plot_6951zTestSeriesPlots.test_plot_6951r   s(     rww@@@"q8r'   c                     t         j                  j                         \  }}|j                  dd|      }t	        |j
                  d       t        |ddd       y )NTest)      )titlefigsizerL   rx   r{   )r|   rv   r   )mplpyplotrz   r8   r   r   r   )r9   r+   _rL   s       r(   test_plot_figsize_and_titlez+TestSeriesPlots.test_plot_figsize_and_titlex   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rx   rk      rL   )r   r   rcParamsrz   r   r8   )r9   keycolorsr   rL   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 )NrL   r   Forigrw   r&   )r   r   rz   r8   get_xlim	get_linesget_data)r9   r   r1   r   rL   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)rU   rL   r   r   rw   r=   	r   r   rz   r8   rV   r   r   r   r   r9   r   r   rL   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rU   x_compatrL   r   r   rw      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   rw   r=   copytz_localize
tz_convertr!   r   r   rz   r8   rV   r   r   r   r   r9   r   tz_tsr   rL   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)rU   r   rL   r   r   rw   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                 b   t         j                  j                  ddd      \  }\  }}t        |      j	                  |d       t        |      j	                  |d       t        |      j                  ||      sJ t        |      j                  ||      sJ t        j                  |       y )Nrx   rk   T)shareyrV   )rL   r\   )	r   r   rz   absr8   r   joinedpltclose)r9   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       t        j                  j                  d       y )Nrx   rk   LABELT)r2   legendrL   labelsallr   r   r   rz   r8   r   r   r9   sr   rL   s       r(   
test_labelzTestSeriesPlots.test_label   sW    Aq6N

##%2VV'$2V6R	2

r'   c                     t        ddg      }t        j                  j                         \  }}|j	                  d|      }t        |dg       t        j                  j                  d       y )Nrx   rk   Tr   rL    r   r   r   r   s       r(   test_label_nonezTestSeriesPlots.test_label_none   sU    Aq6N

##%2VV4BV'R-

r'   c                     t        ddgd      }t        j                  j                         \  }}|j	                  d|      }t        |dg       t        j                  j                  d       y )	Nrx   rk   NAMEr"   Tr   r   r   r   r   s       r(   test_label_ser_namez#TestSeriesPlots.test_label_ser_name   sX    Aq6'

##%2VV4BV'R1

r'   c                     t        ddgd      }t        j                  j                         \  }}|j	                  dd|      }t        |dg       t        j                  j                  d	       y )
Nrx   rk   r   r   Tr   r   r2   rL   r   r   r   r   s       r(   test_label_ser_name_overridez,TestSeriesPlots.test_label_ser_name_override   sZ    Aq6'

##%2VV4w2V6R	2

r'   c                 *   t        ddgd      }t        j                  j                         \  }}|j	                  dd|      }|j                         J |j                          t        |dg       t        j                  j                  d	       y )
Nrx   rk   r   r   Fr   r   r   r   )	r   r   r   rz   r8   
get_legendr   r   r   r   s       r(   &test_label_ser_name_override_dont_drawz6TestSeriesPlots.test_label_ser_name_override_dont_draw   su    Aq6'

##%2VV5BV7}}&&&
		R	2

r'   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   r8   pytestraises	TypeError)r9   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 )Nrx   rk   r   r!   r   r   r   )FFTF)rx   rk   r   r   TrT   F)r#   nanr   r   r8   r   	get_ydataarrayr%   tmassert_numpy_array_equaldeletedatamaskrV   )r9   r!   valuesdrL   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r4   rL   r   )r   r!   r"   r   r   rz   r8   
get_xlabel)r9   r   r   rL   r2   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   rz   r8   rP   r   )r9   r   r   rL   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)rB   rP   )rE   r^   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)rC   rL   )r#   r   r   r   rz   getattrr   r8   r   r   get_ticklocs)r9   axismethr   r   rL   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)rB   rP   get_ylim)rE   r^   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)rC   r\   rL   g!,NJ?gЄ-??r   rx   )r#   r   r   r   rz   r   r8   r   r   assert_almost_equalr   r  )
r9   r  r\   res_methr   r   rL   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rx   rk   r   r   r   r   r   r   r   Fr   )0123)r   r   r   rz   r8   rP   r   get_xticklabels)r9   dfr   rL   s       r(   test_bar_ignore_indexz%TestSeriesPlots.test_bar_ignore_index:  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  rm   )r           r  r   r  r  r   r   r  r  )r   r8   rP   rt   get_facecolor)r9   r   rL   presultr   s         r(   test_bar_user_colorsz$TestSeriesPlots.test_bar_user_colors@  s[    < VVZZ<Z=-/ZZ8!//#88
 !!! 9s   Ac                     t        t        j                  j                  d      j	                  d            }t
        j                  j                         \  }}|j                  |      }t        |d       y )Nrk   rY   rY   r   r   r=   
r   r#   rq   rr   rs   r   r   rz   r8   r   r9   r  r   rL   r?   s        r(   test_rotation_defaultz%TestSeriesPlots.test_rotation_defaultL  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 )Nrk   r$  r   )r<   rL   r=   r%  r&  s        r(   test_rotation_30z TestSeriesPlots.test_rotation_30S  sX    ryy,,Q/??GH

##%2ww2"w%4b)r'   c                    ddl m} t        dd      }|g d   }t        t        j
                  j                  d      j                  t        |            |      }t        j                  j                         \  }}|j                  |      }|j                  t        dd	d	      d
|      }|j                  dd       ||j!                         d   k(  sJ t#        |d       y )Nr   )DatetimeConverter1/1/2000z3/1/2000)	r   rx   rk   r   rY   	   r         rk   r   i  rx   r   z1/1/19991/1/2001r   r=   )%pandas.plotting._matplotlib.converterr+  r	   r   r#   rq   rr   rs   lenr   r   rz   r8   convertr   set_xlimr   r   )r9   r+  rngrZ   r   rL   xps          r(   test_irregular_datetimez'TestSeriesPlots.test_irregular_datetimeY  s    KZ0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      @g       @r   r   r   Fr   )r   r#   r   r   r   rz   r8   r   r   nanminr   nanmax)r9   rZ   r   rL   r   r   r   s          r(   test_unsorted_index_xlimz(TestSeriesPlots.test_unsorted_index_xlimf  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 )Nrk   rx   rY   r   r   r   r   eYLABELr    )r   r#   rq   rr   integersr   r8   pier   textsr!   
get_ylabelr9   r+   rL   s      r(   test_pie_serieszTestSeriesPlots.test_pie_seriesr  sm     II!!!$--a3+

 v{{/288V\\2}}(***r'   c                     t        t        j                  j                  d      j	                  dd      g dd      }t        |j                  j                  d       }t        |j                  dgdz         y )	Nrk   rx   rY   r=  r?  r    r   r   )
r   r#   rq   rr   r@  r   r8   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 )Nrk   rx   rY   r=  r?  r    )rgr   r   )rI  rJ  r   rI  rJ  ro   )
r   r#   rq   rr   r@  r   r8   rA  r   rt   )r9   r+   
color_argsrL   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 )Nrk   rx   rY   r=  r?  r    )ABCDErI  rJ  r   r   m)r   r   ro   )r   r#   rq   rr   r@  r   r8   rA  r   rB  r   rt   )r9   r+   r   rL  rL   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                  |                  }t        |j                   |       |j                   D ]  }|j#                         d	k(  rJ  y c c}w )Nrk   rx   rY   r=  r?  r    rU  z%.2f   )r   autopctfontsized   z.2f)r   r#   rq   rr   r@  r   r8   rA  r   sumlistr   from_iterablezipr!   r   rB  get_fontsize)r9   r+   rL  rL   r   pctsexpected_textsts           r(   $test_pie_series_autopct_and_fontsizez4TestSeriesPlots.test_pie_series_autopct_and_fontsize  s    II!!!$--a3+

 /
KKOOJ
 )/

(DE11S5+EEe11#fllD2IJK288^4 	)A>>#q(((	) F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)rx   rk   r   r   rw   r=  r   z&pie plot doesn't allow negative valuesr   )r   r   r   
ValueErrorr8   rA  rh   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 )Nrx   rk   r   r  r?  r    )r   r   r   r   )r   r#   r   r   r8   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 )Nrx   Tr   )r  r   r  r  )
r   r#   r   r   r   rz   r8   rA  rB  get_text)r9   r   r   rL   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 )Nrk   r   r   abccolumnsr   rm  r   r   Tr   r   rL   r   r   r   	x (right)r   r   r#   rq   rr   rs   r^  r   r   r   rz   r8   r   	get_yaxisget_visibleright_axr9   r  r   r   rL   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        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 )Nrk   rp  rq  rr  r   rm  r   r   TrL   r   r   ru  r   rw  r{  s        r(   )test_df_series_secondary_legend_with_axesz9TestSeriesPlots.test_df_series_secondary_legend_with_axes  s    II!!!$44W=tE{
 299((+;;B?cJ

##%2WWW^	"Tt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 )Nrk   rp  rq  rr  r   rm  r   Tr   rL   rt  z	a (right)z	b (right)z	c (right)rv  r   r   r#   rq   rr   rs   r^  r   r   r   rz   r8   r   left_axrx  ry  r9   r  r   r   rL   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                 R   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 )Nrk   rp  rq  rr  r   rm  r   Tr  r~  r  r  r  s         r(   .test_df_series_secondary_legend_both_with_axisz>TestSeriesPlots.test_df_series_secondary_legend_both_with_axis  s    II!!!$44W=tE{
 299((+;;B?cJ

##%2WW"W-	"Tt4 HRZZ2::'')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 )Nrk   rp  rq  rr  r   rm  r   TF)r   
mark_rightrL   r~  ru  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)TrC   )symsymlogc                 ~   t        t        j                  j                  d      j	                  d            }t        t        j                  j                  d      j	                  d            }|j                  |      }|j                  d|      }|j                         |k(  sJ |j                         |k(  sJ y )Nrk   r\  )rA   T)r   rA   )r   r#   rq   rr   rs   r8   
get_yscale)r9   
input_logyexpected_scales1s2r   r   s          r(   test_secondary_logyz#TestSeriesPlots.test_secondary_logy  s    
 BII))!,<<SABBII))!,<<SAB gg:g&gg$Zg8~~>111~~>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)Nrk   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)rH   rn   rL   )r   r#   rq   rr   rs   r   r   rz   r   r   rg  r8   )r9   rm  r   rL   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scottr*         ?r\  c                 r    t        j                  d       t        |j                  j                  ||       y )Nr`   	bw_methodind)r   importorskipr   r8   r_   )r9   r   r  r  s       r(   test_kde_kwargszTestSeriesPlots.test_kde_kwargs2  s&     	G$"''++Dr'   c                     t        j                  d       t        j                  ddd      }t	        |j
                  j                  d|       y )Nr`   r  r\  r*   r  r  )r   r  r#   linspacer   r8   density)r9   r   sample_pointss      r(   test_density_kwargsz#TestSeriesPlots.test_density_kwargs?  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 )Nr`   r  r\  r*   Tr  )rA   r  r  rL   rC   rB   Density)r   r  r   r   rz   r#   r  r8   r_   r   r   rB   	get_label)r9   r   r   rL   r  s        r(   test_kde_kwargs_check_axesz*TestSeriesPlots.test_kde_kwargs_check_axesD  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 )Nr`   rk   2   )sizer   )r   r  r   r#   rq   rr   uniformr   r   r8   r_   anyisnanr   	get_xdata)r9   r   r?   s      r(   test_kde_missing_valsz%TestSeriesPlots.test_kde_missing_valsL  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)rA   rL   rC   r  r   )r   r   rz   r8   rc   r   r  r   r"   get_yticklabelsr2  )r9   r   r   rL   xlabelsylabelss         r(   test_boxplot_seriesz#TestSeriesPlots.test_boxplot_seriesU  sy    

##%2WW[[dr[*5)$$&7RWWI.$$&7RD3w<$78r'   c                     t        j                  d       t        t        d            }t        j
                  j                         \  }}|j                  ||       t        j
                  j                          y )Nr`   r   r\   rL   )	r   r  r   r-   r   r   rz   r8   r   r9   r\   r   r   rL   s        r(   test_kind_kwargzTestSeriesPlots.test_kind_kwarg_  sV    
 	G$58

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

r'   c                 
   t        j                  d       t        t        d            }t        j
                  j                         \  }} t        |j                  |              t        j
                  j                          y )Nr`   r   )
r   r  r   r-   r   r   rz   r   r8   r   r  s        r(   test_kind_attrzTestSeriesPlots.test_kind_attrj  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   r^  r   r   rz   r   r   r   r8   r9   r\   r   r   rL   r   s         r(   test_invalid_plot_dataz&TestSeriesPlots.test_invalid_plot_datau  s^    4< 

##%2']]9C0 	%FFF$	% 	% 	%s   A00A9c                     t        j                  d       t        t        d      t              }t        |j                  |       y )Nr`   r   r   re   )r   r  r   r-   objectr   r8   )r9   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   rk   r   r   r  )r   r   r   rz   r   r   r   r8   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)Nrx   rk   z%invalid_kind is not a valid plot kindr   invalid_kindre   )r   r   r   rg  r8   r9   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/2009rk   r   )
r	   appendr#   rq   rr   rs   r  r   r   r8   )r9   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                  ||       d	t!        |       d
}t#        j$                  t&        |      5  |j                  t        j                  j	                  d      j                  d             d d d        y c c}w # 1 sw Y   y xY w)Nr   rm  r   rk   )rk   r   )yerrxerrrx   rw   z?Asymmetrical error bars should be provided with the shape \(2, z\)r   )rk   r.  r  )r   r#   r$   rq   rr   r8   vstackcollections	get_pathsverticesTr   to_numpyreshaper   r   r2  r   r   rg  )r9   r   errrL   r.   r!  r   r   s           r(   test_errorbar_asymmetricalz*TestSeriesPlots.test_errorbar_asymmetrical  s9   299R=s+ii##A&--g6VV3V'bnnQ6G6Q6Q6STAJJq!t,TUEEBHHb!W--1E1Eb!1LL
##FH5$$'F830 	 ]]:S1 	BFF		--a077@FA	B 	B U	B 	Bs   E>6?FFr  rk   r   )r   rk   rm  yrr  c                     t        t        j                  d      d      }t        |j                  ||      }t        |dd       y )Nr   rm  r   )r  r\   r   rx   r  r  )r   r#   r$   r   r8   r   )r9   r\   r  r   rL   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   rm  r   rk   )r  rx   r   r  )
r   r#   r$   r   rq   rr   rs   r   r8   r   )r9   r   s_errrL   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/  rk   c                     t        ddd      }t        t        j                  d      |d      }||_        t        |j                  |      }t        |d	d
       y )Nr,  r0  ME)freqr/  rm  r    r  r   rx   r  )r	   r   r#   r$   r!   r   r8   r   )r9   r  ixr   rL   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   rm  r   r.  r  )r   r#   r$   r   external_error_raisedrg  r8   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   rm  r   zzzr  )r   r#   r$   r   r  r   r8   )r9   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tabler7   rh   s     r(   test_table_truezTestSeriesPlots.test_table_true  s    &++T2r'   c                 2    t        |j                  |       y )Nr  r7   rh   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 )Nr`   r   )r   r  r   r   r   PlotAccessor_series_kinds_common_kinds)r9   s    r(   test_series_grid_settingsz)TestSeriesPlots.test_series_grid_settings  sB     	G$9!!//(2G2G2U2UU	
r'   r   )rI  r  greenz#FF0000c                     ddl m}  |d|      }||gk(  sJ  |d|g      }||gk(  sJ  |d|      }||gdz  k(  sJ  |d|g      }||gdz  k(  sJ y )Nr   get_standard_colorsrx   rm   r   )!pandas.plotting._matplotlib.styler  )r9   r   r  r!  s       r(   test_standard_colorsz$TestSeriesPlots.test_standard_colors  s}    I$Qa0!}}$Qqc2!}}$Qa0!q   $Qqc2!q   r'   c                    ddl m} ddlm} |j                  D ]R  } |d|      }||gk(  sJ  |d|g      }||gk(  sJ  |d|      }||gdz  k(  sJ  |d|g      }||gdz  k(  rRJ  |j
                  j                  D ]R  } |d|      }||gk(  sJ  |d|g      }||gk(  sJ  |d|      }||gdz  k(  sJ  |d|g      }||gdz  k(  rRJ  y )Nr   rK  r  rx   )
num_colorsrn   r   )r   r   r  r  cnamesColorConverter)r9   r   r  r   r!  s        r(   test_standard_colors_allz(TestSeriesPlots.test_standard_colors_all  s*   %I  	%A(AQ?FaS= =(AaSAFaS= =(AQ?FaS1W$$$(AaSAFaS1W$$$	% &&-- 	%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/  rx   r  rn   rL   
linecolors)	r   r   rz   r   r#   r$   r8   r   r   r9   r   rL   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/  rx   r,  r   r   r  r  r  )
r   r   rz   r   r#   r$   r	   r8   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                 P   dd l }t        |j                        }t        dd      }t	        t        j                  dd      |      }d}|j                  j                         \  }}t        |      D ]  }|j                  |	      } t        |j                         |d | 
       y )Nr   r,  r/  r   rx      r   r   r   r  )r   r   r   r	   r   r#   r$   r   rz   r-   r8   r   r   )	r9   r   
def_colorsr!   r   ncolorsr   rL   r.   s	            r(   -test_time_series_plot_color_with_empty_kwargsz=TestSeriesPlots.test_time_series_plot_color_with_empty_kwargs6  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   rY   r-  )xticksrL   )
r   r#   r$   r-   r   r   rz   r8   r   r  )r9   r.   r   r   rL   r   s         r(   test_xticklabelsz TestSeriesPlots.test_xticklabelsD  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.  rk   )r  )
r   r-   r8   rP   r#   r   r^  r   r   
get_xticks)r9   r.   r   rL   r   s        r(   test_xtick_barPlotz"TestSeriesPlots.test_xtick_barPlotL  s|    59%)$DQq3[$DEVVZZuQAZ/hhtE!RO,-
##C9 %Es   B'
c           
          ddl m} t        t        dd      t	        j
                  dd |dg      	      
      }t        |j                         y )Nr   )CustomBusinessDayr\  y   z
2014-05-01z
2014-06-01z
2014-05-26)holidays)startendr  r   )pandas.tseries.offsetsr  r   r-   pdbdate_ranger   r8   )r9   r  r   s      r(   test_custom_business_day_freqz-TestSeriesPlots.test_custom_business_day_freqS  sB    <#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   rx   T)inplace)
r   r   r   rz   r8   rE   r  dropr   r   )r9   rZ   r   rL   beforeafters         r(   %test_plot_accessor_updates_on_inplacez5TestSeriesPlots.test_plot_accessor_updates_on_inplaceb  s     \"

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

##%2%%'
##FE2r'   rV   c                     t        ddg      }t        j                  j                         \  }}|j	                  ||       |j                         }|d   dk  sJ |d   dkD  sJ y )Nrk   r   r  r   rx   )r   r   r   rz   r8   r   )r9   r\   r   r   rL   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   rx   r   )r   intemptyr8   r2  r   r  r   )r9   r  rL   r]   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   r8   )r9   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   rk   rx   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!   rP   re   c                 6    | j                         j                  S r6   )get_bboxr   )patchs    r(   <lambda>z1TestSeriesPlots.test_plot_order.<locals>.<lambda>  s    enn>N>S>S r'   )r   )r   r8   tolistsortedrt   r5  r  )r9   r   r!   rZ   rL   r   r6  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 )Nrx   rk   r   C3)rH   rn   r   )r   r8   r   	get_color)r9   r   rL   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]   rV   rP   r^   rb   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  re   r^   r   rb   	Frequency)r\   ylabelxlabel)r   r!   r"   r8   r   rC  )r9   r\   
index_name	old_label	new_labelrZ   rL   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   rS  )r  r   r  rx   )daysc                 p    d}t        ddg|      j                  |      }|j                         dk(  sJ y )N)r   rx   rx   rk   r   )xlim)r   r8   r   )r9   r!   r+  rL   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   rm   rx   r  )r   r8   r   r   r   r   r   r   )r9   r+   rL   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_warningr8   )r9   r   r   s      r(   test_plot_no_warningz$TestSeriesPlots.test_plot_no_warning  s2     ''. 		A	 	 	s   09)x__name__
__module____qualname__r   markslowparametrizer:   r@   rM   rR   rW   r[   paramtd
skip_if_norf   ri   ru   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r   xfailr   r   r  r  r  r"  r'  r)  r7  r;  rE  rG  rN  rW  re  rh  rj  rn  r|  r  r  r  r  r  r  r#   int_r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r   r   rq   rr   rs   r^  r   r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r#  r)  r,  r0  r2  r:  r>  rH  r!  timedelta_range	TimedeltarL  rN  rQ  r&   r'   r(   r0   r0   7   s	   [[[[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<'(	'	'	     & [[WtZa-P&QRG SG$ [[202(  
 [[\,<>O+PQP RP [[202(  
 [[	%'DEP	PG
")*(
C
+/
=9) :"5"5 ,","," [[$}6G&H
2
2	2 [[bM2J72772;+"++dC,-		
EE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%(
"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!%B<<G6:" [[=  
	3
	3 [[Vff%56	 7	*
 [[<(78	

"
"/
 [[*B [[V%LM, N	
,, [[BQ<R\\q!<2<<Q#78	
''; [[ r'   r0   ),__doc__r   	itertoolsr   numpyr#   r   pandas.compatr   pandas.compat.numpyr   pandas.util._test_decoratorsutil_test_decoratorsrY  pandasr!  r   r   r	   r
   r   pandas._testing_testingr   pandas.tests.plotting.commonr   r   r   r   r   r   r   r   r   r   r   r  r   r   fixturer   r+   r0   r&   r'   r(   <module>rl     s    "     + 2 ) )       f,'f-.    b br'   