
    dGx                     .   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 ddlmZ ddlmZmZ ej        d	             Zej        d
             Zej        d             Zej         G d de                      Z dS )z Test cases for Series.plot     )datetime)chainN)is_platform_linux)np_version_gte1p24)	DataFrameSeries
date_rangeplotting)TestPlotBase_check_plot_worksc                  ,    t          j        d          S )Ntsname)tmmakeTimeSeries     ]/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/plotting/test_series.pyr   r      s    $''''r   c                  ,    t          j        d          S )Nseriesr   )r   makeStringSeriesr   r   r   r   r      s    H----r   c                  ,    t          j        d          S )Niseriesr   )r   makePeriodSeriesr   r   r   r   r   $   s    I....r   c            
          e Zd Zej        j        d             Zd Zej                            dddd ej	        de
j                  d	d
g          d             Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zej                            dd ej        d          g          d             Zd Zej                            eo	 e            dd          d             Zd  Zd! Z d" Z!d# Z"d$ Z#d% Z$d& Z%d' Z&ej                            d(d)d*g          d+             Z'd, Z(e
j        d-             Z)e
j        d.             Z*ej                            d/0          d1             Z+e
j        ej                            de,j-        j.        e,j-        j/        z             d2                         Z0ej                            de,j-        j.                  d3             Z1e
j        ej                            de,j-        j.                  d4                         Z2ej                            de,j-        j.                  d5             Z3d6 Z4d7 Z5d8 Z6ej        j        d9             Z7ej        j        d:             Z8ej        j        e
j        d;                         Z9ej                            d<g d=          d>             Z:d? Z;d@ Z<dA Z=dB Z>dC Z?dD Z@dE ZAej                            dF0          dG             ZBej                            dddHg          dI             ZCdJ ZDdK ZEej                            dLg dMg dNfg dOg dPfg          dQ             ZFdR ZGej                            dSg dT          ej                            dg dU          dV                         ZHej                            d eIjJ        dWdXdYZ           eIjK        d[\           eIjK        dX\          gg          d]             ZLdS )^TestSeriesPlotsc                 F   t          |j        d           t          |j        d           t          |j        d          }|                     |d           t          |j        dd	
          }|                     |d           t          |j        dd	          }|                     |d           t          |j        dd	          }|                     |dd           t          |d d         j        j                   t          |j        j        d           d S )Nfoo)labelF)	use_indexr   )rotxrot.T)stylelogylogyaxis)r&   logx)xaxis)r&   loglog)r,   r*   
   stacked)r   plot_check_ticks_props_check_ax_scalesbararea)selfr   axesaxs       r   	test_plotzTestSeriesPlots.test_plot+   s    "'////"'U3333 a0001---rwc===b...rwc===b...rwc$???bU;;;"SbS',*+++"',666666r   c                 .    t          |j                   d S Nr   r1   )r6   r   s     r   test_plot_iseriesz!TestSeriesPlots.test_plot_iseries>   s    ','''''r   kindliner4   barhkde)markshistboxc                 B    t          |d d         j        |           d S )N   r>   r<   )r6   r   r>   s      r   test_plot_series_kindsz&TestSeriesPlots.test_plot_series_kindsA   s'     	&!*/555555r   c                 H    t          |d d         j        j                   d S )Nr.   )r   r1   r@   r6   r   s     r   test_plot_series_barhz%TestSeriesPlots.test_plot_series_barhO   s$    &"+*/00000r   c                     t          t          t          j                            d                    j        j        d          }|                     |j        d         gdg           d S )Nr.   blackcolorr   
facecolors)	r   r   nprandomrandnr1   r4   _check_colorspatches)r6   r8   s     r   test_plot_series_bar_axz'TestSeriesPlots.test_plot_series_bar_axR   sY    vbioob&9&9::?C7SSSBJqM?yAAAAAr   c                    t          |j        d          }|                     |dd           t          |j        dd          }|                     |dd           t          |j        dd          }|                     |dd           d S )	NT)subplots   rZ   rZ   )axes_numlayout)rZ   )rY   r]   )rZ   r^   )r   r1   _check_axes_shape)r6   r   r8   s      r   test_plot_6951zTestSeriesPlots.test_plot_6951V   s    rw666rAf===rwgFFFrAf===rwgFFFrAf=====r   c                     | j                                         \  }}|                    dd|          }|                     |j        d           |                     |ddd           d S )NTest)      )titlefigsizer8   rZ   r[   )r\   r]   rf   )pltrY   r1   _check_text_labelsre   r_   )r6   r   _r8   s       r   test_plot_figsize_and_titlez+TestSeriesPlots.test_plot_figsize_and_title`   sk    !!##2[[vw2[>>&111rAfgNNNNNr   c                     d}| j         j        |         }| j                                         \  }}t          g d                              |           || j         j        |         k    sJ d S )Nzaxes.prop_cyclerZ         r8   )rg   rcParamsrY   r   r1   )r6   keycolorsri   r8   s        r   test_dont_modify_rcParamsz)TestSeriesPlots.test_dont_modify_rcParamsg   sq    "3'!!##2yyy"%%%*3///////r   c                    | j                                         \  }}|                    |          }|                                \  }}|                                }||d                             d          d         d         k    sJ ||d                             d          d         d         k    sJ t          j                     |                    d|          }|                                \  }}|                                }||d                             d          d         d         k    sJ ||d                             d          d         d         k    sJ d S )Nro   r   Forigr^   Tsecondary_yr8   )rg   rY   r1   get_xlim	get_linesget_datar   close)r6   r   figr8   xminxmaxliness          r   test_ts_line_limz TestSeriesPlots.test_ts_line_limo   sL   (##%%RWWW^^[[]]
duQx((e(44Q7:::::uQx((e(44Q7;;;;;



WW"W--[[]]
duQx((e(44Q7:::::uQx((e(44Q7;;;;;;;r   c                    | j                                         \  }}|j                            d|          }|                                \  }}|                                d                             d          d         }||d         k    sJ ||d         k    sJ |                     |d           t          j	                     | j                                         \  }}|j                            dd|          }|                                \  }}|                                d                             d          d         }||d         k    sJ ||d         k    sJ |                     |d	           t          j	                     |
                                }|                    d
                              d          |_        | j                                         \  }}|j                            dd|          }|                                \  }}|                                d                             d          d         }||d         k    sJ ||d         k    sJ |                     |d           t          j	                     | j                                         \  }}|j                            dd|          }|                                \  }}|                                d                             d          d         }||d         k    sJ ||d         k    sJ |                     |d           d S )NF)r0   r8   r   ru   r^   r#   T)r0   x_compatr8      GMTCET)r0   rx   r8   )rg   rY   r1   r5   ry   rz   r{   r2   r   r|   copytz_localize
tz_convertindex)r6   r   ri   r8   r~   r   r?   tz_tss           r   test_ts_area_limz TestSeriesPlots.test_ts_area_lim~   s   !!##2W\\%B\//[[]]
d||~~a ))u)55a8tAwtBx+++



 !!##2W\\%$2\>>[[]]
d||~~a ))u)55a8tAwtBx,,,



		''..99%@@!!##2Z__UTb_AA[[]]
d||~~a ))u)55a8tAwtBx+++



!!##2Z__U_DD[[]]
d||~~a ))u)55a8tAwtBx+++++r   c                    | j                             ddd          \  }\  }}t          |                              |d           t          |                              |d           |                     |                              ||          sJ |                     |                              ||          sJ d S )NrZ   rm   T)shareyr5   )r8   r>   )rg   rY   absr1   
get_y_axisjoined)r6   r   r}   ax1ax2s        r   test_area_sharey_dont_overwritez/TestSeriesPlots.test_area_sharey_dont_overwrite   s    (++Aq+>>Zc3B&)))B&)))s##**344444s##**34444444r   c                 F   t          ddg          }| j                                        \  }}|                    dd|          }|                     |dg           | j                                         | j                                        \  }}|                    d|          }|                     |dg           | j                                         d	|_        | j                                        \  }}|                    d|          }|                     |d	g           | j                                         | j                                        \  }}|                    dd|
          }|                     |dg           | j                                         | j                                        \  }}|                    dd|
          }|                                J |                                 |                     |dg           d S )NrZ   rm   LABELT)r    legendr8   labelsr   r8    NAME)r   r    r8   F)	r   rg   rY   r1   _check_legend_labelsr|   r   
get_legendr   )r6   sri   r8   s       r   
test_labelzTestSeriesPlots.test_label   s   Aq6NN!!##2VV'$2V66!!"gY!777!!##2VV4BV''!!"bT!222!!##2VV4BV''!!"fX!666!!##2VV4w2V66!!"gY!777!!##2VV5BV77}}&&&
		!!"gY!77777r   c                     t          g d          }t          |j        d           d}t          j        t
          |          5  t          |j                   d d d            d S # 1 swxY w Y   d S )N)FFTT)include_boolno numeric data to plotmatch)r   r   r1   pytestraises	TypeError)r6   r   msgs      r   test_booleanzTestSeriesPlots.test_boolean   s    '''((!&t4444']9C000 	& 	&af%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s   A''A+.A+r   N   )kc                    ddt           j        dg}t          ||          }t          |j                  }|j        d                                         }t          j        g dt           j                  }t          j
        t          j        |j        d          |           t          j
        |j        t          j        g d                     t          j        g d	t           j                  }t          |j        d
          }t          j
        |j        d                                         |           t          |j        j                  }t          j
        |j        d                                         |           t          |j        j        d          }t          j
        |j        d                                         |           d S )NrZ   rm   rn   r   r   rl   dtype)FFTF)rZ   rm   r   rn   Tr/   F)rR   nanr   r   r1   r   	get_ydataarrayfloat64r   assert_numpy_array_equaldeletedatamaskr5   )r6   r   valuesdr8   maskedexpexpecteds           r   test_line_area_nan_seriesz)TestSeriesPlots.test_line_area_nan_series   su   Q"6'''qv&&!&&((hyyy
333
#BIfk1$=$=sCCC
#FK:U:U:U1V1VWWW8LLL
;;;qvt444
#BHQK$9$9$;$;XFFFqv{++
#BHQK$9$9$;$;XFFFqv{E:::
#BHQK$9$9$;$;XFFFFFr   c                    t          g dg d          }d|j        _        | j                                        \  }}|                    d|          }|                                }|dk    sJ | j                                        \  }}|j                            d|          }|                                }|dk    sJ d S )Nrl   abcr   z	The IndexFr!   r8   r   )r   r   r   rg   rY   r1   
get_xlabelr4   )r6   r   ri   r8   r    r   label2s          r   test_line_use_index_falsez)TestSeriesPlots.test_line_use_index_false   s    999OOO444"!!##2VVeV++{{{{!!##2fjj5Rj00!!||||||r   zWeird rounding problemsF)reasonstrictc                    t          j        g d          }| j                                        \  }}t	          ddg          j                            d|          }t          j        |j	        
                                |           t          j                     | j                                        \  }}t	          ddg          j                            d|          }t          j        |j        
                                |           t          j                     t          j        g d          }| j                                        \  }}t	          g d                              dd|	          }d
}d}|                                }t          j        |d         |           t          j        |d         |           t          j        |j	        
                                |           t          j                     | j                                        \  }}t	          g d                              dd|	          }|                                }t          j        |d         |           t          j        |d         |           t          j        |j        
                                |           d S )N)皙?      ?      $@g      Y@g     @@g     @   i  T)r(   r8   )gh㈵>g-C6?MbP?{Gz?r   r   r   )r   r   r   r4   )r(   r>   r8   g!,NJ?gЄ-??r   rZ   r@   )rR   r   rg   rY   r   r1   r4   r   r   r*   get_ticklocsr|   r@   r,   get_ylimassert_almost_equalry   )r6   r   ri   r8   yminymaxress          r   test_bar_logzTestSeriesPlots.test_bar_log   sY    8;;;<<!!##2S#J$((Tb(99
#BH$9$9$;$;XFFF



!!##2S#J$))dr)::
#BH$9$9$;$;XFFF



 8DDDEE!!##2&&&'',,Eb,II$"kkmm
s1vt,,,
s1vt,,,
#BH$9$9$;$;XFFF



!!##2&&&'',,Fr,JJkkmm
s1vt,,,
s1vt,,,
#BH$9$9$;$;XFFFFFr   c                     t          g dg d          }| j                                        \  }}|j                            d|          }|                     |                                g d           d S )NrZ   rm   rn   r   r   r   r   r   r   Fr   )0123)r   rg   rY   r1   r4   rh   get_xticklabels)r6   dfri   r8   s       r   test_bar_ignore_indexz%TestSeriesPlots.test_bar_ignore_index  s|    LLL(<(<(<===!!##2W[[5R[00 2 2 4 46J6J6JKKKKKr   c                     t          g d          }|j                            g d          }d |j        D             }g d}||k    sJ d S )Nr   )redbluer   r   rN   c                 6    g | ]}|                                 S r   )get_facecolor).0ps     r   
<listcomp>z8TestSeriesPlots.test_bar_user_colors.<locals>.<listcomp>"  s"    888!//##888r   )r           r   r   r   r   r   r   r   r   )r   r1   r4   rV   )r6   r   r8   resultr   s        r   test_bar_user_colorsz$TestSeriesPlots.test_bar_user_colors  sn    <<<  VZZ<<<Z==88RZ888
 
 
 !!!!!!r   c                    t          t          j                            dd                    }| j                                        \  }}|                    |          }|                     |d           | j                                        \  }}|                    d|          }|                     |d           d S )NrF   ro   r   r#   r   )r"   r8   )r   rR   rS   rT   rg   rY   r1   r2   )r6   r   ri   r8   r7   s        r   test_rotationzTestSeriesPlots.test_rotation+  s    ryq!,,--!!##2ww"w~~1---!!##2ww2"w%%2.....r   c                    ddl m} t          dd          }|g d         }t          t          j                            t          |                    |          }| j        	                                \  }}|
                    |          }|                    t          ddd          d	|          }|                    d
d           ||                                d         k    sJ |                     |d           d S )Nr   )DatetimeConverter1/1/2000z3/1/2000)	r   rZ   rm   rn   rF   	   r.         ro   i  rZ   r   z1/1/19991/1/2001r   r#   )%pandas.plotting._matplotlib.converterr   r	   r   rR   rS   rT   lenrg   rY   r1   convertr   set_xlimry   r2   )r6   r   rngserri   r8   xps          r   test_irregular_datetimez'TestSeriesPlots.test_irregular_datetime6  s    KKKKKKZ000001RY__SXX..44!!##2XXX__&&xa';';RDD
J
+++R[[]]1%%%%%,,,,,r   c           
         t          ddt          j        ddddgddddt          j        ddg          }| j                                        \  }}|                    |	          }|                                \  }}|                                }|t          j        |d
         	                    d          d
                   k    sJ |t          j
        |d
         	                    d          d
                   k    sJ d S )Nr   r   g      @g      @g      @g      @g       @r   ro   r   Fru   )r   rR   r   rg   rY   r1   ry   rz   nanminr{   nanmax)r6   r   ri   r8   r~   r   r   s          r   test_unsorted_index_xlimz(TestSeriesPlots.test_unsorted_index_xlimC  s    #rvsCc2S#rvsC8
 
 
 !!##2XXX__[[]]
dryq!2!2!2!>!>q!ABBBBBBryq!2!2!2!>!>q!ABBBBBBBBr   c                    t          t          j                            dd          g dd          }t	          |j        j                  }|                     |j        |j	                   |
                                dk    sJ t	          |j        j        d           }|                     |j        dgdz             g d}t	          |j        j        |	          }g d
}|                     |j        |           g d}g d}t	          |j        j        ||          }|                     |j        |           |                     |j        |           t	          |j        j        |dd          }d |j        |                                z  D             }t          t!          j        t%          |j	        |                              }|                     |j        |           |j        D ]}|                                dk    sJ t          g dg d          }t)          j        t,          d          5  |j                                         d d d            n# 1 swxY w Y   t          ddt          j        dgg dd          }t	          |j        j                  }|                     |j        g d           d S )NrZ   rF   )r   r   r   r   eYLABELr   r   r   r   )rgr   rr   )r  r	  r   r  r	  rP   )ABCDE)r  r	  r   r   m)r   rr   z%.2f   )rr   autopctfontsizec                     g | ]	}|d z  d
S )d   z.2fr   )r   r   s     r   r   z3TestSeriesPlots.test_pie_series.<locals>.<listcomp>o  s     EEE11S5EEEr   )rZ   rm   r   r   r^   r   z&pie plot doesn't allow negative valuesr   rm   r   r   )r   r   r   r   )r   rR   rS   randintr   r1   pierh   textsr   
get_ylabelrU   rV   r   sumlistr   from_iterablezipget_fontsizer   r   
ValueErrorr   )	r6   r   r8   
color_argscolor_expectedr   pctsexpected_textsts	            r   test_pie_serieszTestSeriesPlots.test_pie_seriesO  s    Ia##+D+D+D8
 
 
 v{//&,777}}(**** v{t<<<2$(333 %__
v{zBBB2222:.AAA +**...
v{vjQQQ&1112:*=== KOJ
 
 
 FE

(DEEEe1#flD2I2IJJKK.999 	) 	)A>>##q((((( (((0I0I0IJJJ]:-UVVV 	 	KOO	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 Arvq)1E1E1EHUUUv{//*=*=*=>>>>>s    I&&I*-I*c                     t          dt          j        ddg          }| j                                        \  }}|j                            d|          }g d}d |j        D             }||k    sJ d S )NrZ   Tr   )r   r   r   r   c                 6    g | ]}|                                 S r   )get_text)r   xs     r   r   z0TestSeriesPlots.test_pie_nan.<locals>.<listcomp>  s     1111!**,,111r   )r   rR   r   rg   rY   r1   r  r  )r6   r   ri   r8   r   r   s         r   test_pie_nanzTestSeriesPlots.test_pie_nan  s    Arvq!$%%!!##2VZZtZ++&&&11111!!!!!!r   c                    t          t          j                            dd          t	          d                    }t          t          j                            d          d          }| j                                        \  }}|                    |          }|                    dd|	           | 	                    |g d
           |
                                                                sJ |j        
                                                                sJ t          j                     | j                                        \  }}|                    |          }|                    |dd           | 	                    |g d
           |
                                                                sJ |j        
                                                                sJ t          j                     | j                                        \  }}|                    d|          }|                    dd|	           g d}| 	                    |j        |           |j        
                                                                rJ |
                                                                sJ t          j                     | j                                        \  }}|                    d|          }|                    |dd           g d}| 	                    |j        |           |j        
                                                                rJ |
                                                                sJ t          j                     | j                                        \  }}|                    dd|          }|                    |dd           g d
}| 	                    |j        |           |j        
                                                                rJ |
                                                                sJ t          j                     d S )Nr   rn   abc)columnsr)  r   ro   T)r   rx   r8   )r   r   r   	x (right)r   )r8   r   rx   rw   )z	a (right)z	b (right)z	c (right)r.  F)rx   
mark_rightr8   )r   rR   rS   rT   r  r   rg   rY   r1   r   	get_yaxisget_visibleright_axr   r|   left_ax)r6   r   r   ri   r8   r   s         r   test_df_series_secondary_legendz/TestSeriesPlots.test_df_series_secondary_legend  s   ryr1--tE{{CCC29??2&&S111 !!##2WWW^^	d444 	!!"-I-I-I!JJJ||~~))+++++{$$&&2244444



 !!##2WWW^^	"Tt444 	!!"-I-I-I!JJJ||~~))+++++{$$&&2244444



 !!##2WW"W--	d444 HGG!!"*X!>>>:''))5577777||~~))+++++



 !!##2WW"W--	"Tt444 HGG!!"*h777:''))5577777||~~))+++++



 !!##2WW%BW??	"Tt444 0//!!"*h777:''))5577777||~~))+++++





r   zinput_logy, expected_scale)Tr(   )symsymlogc                 x   t          t          j                            d                    }t          t          j                            d                    }|                    |          }|                    d|          }|                                |k    sJ |                                |k    sJ d S )Nr   )r'   T)rx   r'   )r   rR   rS   rT   r1   
get_yscale)r6   
input_logyexpected_scales1s2r   r   s          r   test_secondary_logyz#TestSeriesPlots.test_secondary_logy  s    
 BIOOB''((BIOOB''(( gg:g&&gg$Zg88~~>1111~~>111111r   c                 2   t          t          j                            d                    }| j                                        \  }}d}t          j        t          |          5  |	                    dd|           d d d            d S # 1 swxY w Y   d S )Nrm   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--r   )r&   rO   r8   )
r   rR   rS   rT   rg   rY   r   r   r  r1   )r6   r)  ri   r8   r   s        r   )test_plot_fails_with_dupe_color_and_stylez9TestSeriesPlots.test_plot_fails_with_dupe_color_and_style  s    29??1%%&&!!##2 	
 ]:S111 	2 	2FFcbF111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2s   &BBBc                 j   t          j        ddd          }t          |j        j        dd           t          |j        j        d d           t          |j        j        d t          j        d                     t          |j        j        d|           t          |j        j        d|           | j                                        \  }}|j                            dd||          }| 	                    |d	
           | 
                    |j                                        d           d S )Nir     scott)	bw_methodindg      ?T)r'   rC  rD  r8   r(   r)   Density)rR   linspacer   r1   rA   int_densityrg   rY   r3   rh   r*   	get_label)r6   r   sample_pointsri   r8   s        r   test_kde_kwargszTestSeriesPlots.test_kde_kwargs  s   D#r22"'+bAAAA"'+2>>>>"'+272;;GGGG"'+-HHHH"'/SmLLLL!!##2W[[dc}[LLb... 2 2 4 4i@@@@@r   c                 2   t          t          j                            d                    }t          j        |d<   t          |j        j                  }t          t          j	        |j
        d                                                              sJ d S )N2   )sizer   )r   rR   rS   uniformr   r   r1   rA   anyisnanr   	get_xdata)r6   r   r7   s      r   test_kde_missing_valsz%TestSeriesPlots.test_kde_missing_vals  sy    29$$"$--..v! ,, BHTZ]44667778888888r   zApi changed in 3.6.0)r   c                 z   | j                                         \  }}|j                            d|          }|                     |d           |                                }|                     ||j        g           |                                }|                     |dgt          |          z             d S )NT)r'   r8   r(   r)   r   )
rg   rY   r1   rD   r3   r   rh   r   get_yticklabelsr   )r6   r   ri   r8   xlabelsylabelss         r   test_boxplot_seriesz#TestSeriesPlots.test_boxplot_series  s    !!##2W[[dr[**b...$$&&"'333$$&&"G)<=====r   c                 z   t          t          d                    }| j                                        \  }}|                    ||           | j                                         | j                                        \  }} t          |j        |                       | j                                         d S )Nrn   r>   r8   )r   rangerg   rY   r1   r|   getattr)r6   r>   r   ri   r8   s        r   test_kind_both_waysz#TestSeriesPlots.test_kind_both_ways   s     588!!##2	DR   !!##2r   c                    t          t          d                    }| j                                        \  }}d}t	          j        t          |          5  |                    ||           d d d            d S # 1 swxY w Y   d S )Nabcdr   r   rZ  )r   r  rg   rY   r   r   r   r1   r6   r>   r   ri   r8   r   s         r   test_invalid_plot_dataz&TestSeriesPlots.test_invalid_plot_data  s    4<<  !!##2']9C000 	% 	%FFF$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   A;;A?A?c                 x    t          t          d          t                    }t          |j        |           d S )Nr.   r   rG   )r   r[  objectr   r1   )r6   r>   r   s      r   test_valid_object_plotz&TestSeriesPlots.test_valid_object_plot  s7     599F+++!&t,,,,,,r   c                     t          g d          }| j                                        \  }}d}t          j        t
          |          5  |                    ||           d d d            d S # 1 swxY w Y   d S )N)r   r   r   rm   r   r   rZ  )r   rg   rY   r   r   r   r1   r`  s         r    test_partially_invalid_plot_dataz0TestSeriesPlots.test_partially_invalid_plot_data  s    %%%&&!!##2']9C000 	% 	%FFF$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   A00A47A4c                     t          ddg          }t          j        t          d          5  |                    d           d d d            d S # 1 swxY w Y   d S )NrZ   rm   z%invalid_kind is not a valid plot kindr   invalid_kindrG   )r   r   r   r  r1   )r6   r   s     r   test_invalid_kindz!TestSeriesPlots.test_invalid_kind$  s    Aq6NN]:-TUUU 	( 	(FFF'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   AAAc                    t          dd          }t          dd          }|                    |          }t          j                            |j                  }t          ||          }t          |j                   d S )Nz1/1/2009r   periodsz1/2/2009r   )	r	   appendrR   rS   rT   rN  r   r   r1   )r6   dr1dr2r   r   r   s         r   test_dup_datetime_index_plotz,TestSeriesPlots.test_dup_datetime_index_plot)  sr    Q///Q///

3,,6'''!&!!!!!r   c                    t          t          j        d          d          }t          j                            dd          }|                    ||          }t          j        d |j        d                                         D                       }|j	        t          j
        ddg          z  |                                                    dd          z   }t          j        ||           d	t          |           d
}t!          j        t$          |          5  |                    t          j                            dd                     d d d            n# 1 swxY w Y   t          j                     d S )Nr.   r)  r   rm   )yerrxerrc                 0    g | ]}|j         d d df         S )NrZ   )verticesr   is     r   r   z>TestSeriesPlots.test_errorbar_asymmetrical.<locals>.<listcomp>8  s'    TTTAJqqq!t,TTTr   rZ   r^   z?Asymmetrical error bars should be provided with the shape \(2, z\)r   r   rr  )r   rR   arangerS   randr1   vstackcollections	get_pathsTr   to_numpyreshaper   r   r   r   r   r  r|   )r6   r   errr8   r   r   r   s          r   test_errorbar_asymmetricalz*TestSeriesPlots.test_errorbar_asymmetrical1  s   29R==s+++innQ##VV3V''TTbnQ6G6Q6Q6S6STTTUUEBHb!W---1E1Eb!1L1LL
#FH5550$'FF0 0 0 	 ]:S111 	/ 	/FF	q"--F...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	




s    5E!!E%(E%c                 B   t          t          j        d          d          }t          j        t          j                            d                    }t          t          j        t          j                            dd                    |j        ddg          }ddg}|D ]}t          |j	        t          |          |	          }| 
                    |d
d           t          |j	        ||	          }| 
                    |d
d           t          |j	        |                                |	          }| 
                    |d
d           t          |j	        ||	          }| 
                    |d
d           t          |j	        dd|          }| 
                    |dd           t          |j	        |          }| 
                    |dd
           t          ddd          }t          t          j        d          |d          }t          t          j        t          j                            d                    |          }	t          t          j        t          j                            dd                    |ddg          }
t          |j	        |	          }| 
                    |d
d           t          |j	        |
          }| 
                    |d
d           t          j        t                    5  |	                    t          j        d                     d d d            n# 1 swxY w Y   dgdz  }t          j        t                     5  |	                    |           d d d            d S # 1 swxY w Y   d S )Nr.   r)  r   rm   y)r   r-  r?   r4   )rr  r>   r   rZ   )rs  rr  g?)rs  rr  r>   )rs  r   r   M)freqr   r  r   rx  r   zzz)r   rR   ry  r   rS   rT   r   r   r   r1   _check_has_errorbarstolistr	   r   external_error_raisedr  r   )r6   r   s_errd_errkindsr>   r8   ixr   ts_errtd_errs              r   test_errorbar_plotz"TestSeriesPlots.test_errorbar_plotE  s   29R==s+++ryr**++F29??2q))**!'C:
 
 
  
	: 
	:D"16uDIIIB%%bqq%999"16DAAAB%%bqq%999"16TJJJB%%bqq%999"16DAAAB%%bqq%999"16#DIIIB%%bqq%9999qvE222!!"11!555 
JS999BIbMM#666ryr22332>>>26")//"a"8"899cSVZXXXrwV444!!"11!555rwV444!!"11!555 %j11 	' 	'FF	"F&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' "%i00 	 	FFF	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s$   )MM
M
0NNNc                 ^    t          |j        d           t          |j        |           d S )NT)tabler<   rJ   s     r   
test_tablezTestSeriesPlots.test_tablep  s2    &+T2222&+V444444r   c                     |                      t          g d          t          j        j        t          j        j        z              d S )Nrl   )_check_grid_settingsr   r
   PlotAccessor_series_kinds_common_kinds)r6   s    r   test_series_grid_settingsz)TestSeriesPlots.test_series_grid_settingsu  sI     	!!999!/(2G2UU	
 	
 	
 	
 	
r   r   )r  r   greenz#FF0000c                     ddl m}  |d|          }||gk    sJ  |d|g          }||gk    sJ  |d|          }||gdz  k    sJ  |d|g          }||gdz  k    sJ d S )Nr   get_standard_colorsrZ   rN   rn   )!pandas.plotting._matplotlib.styler  )r6   r   r  r   s       r   test_standard_colorsz$TestSeriesPlots.test_standard_colors~  s    IIIIII$$Qa000!}}}}$$Qqc222!}}}}$$Qa000!q    $$Qqc222!q      r   c                    ddl m} ddlm} |j        D ]b} |d|          }||gk    sJ  |d|g          }||gk    sJ  |d|          }||gdz  k    sJ  |d|g          }||gdz  k    sJ c|j        j        D ]b} |d|          }||gk    sJ  |d|g          }||gk    sJ  |d|          }||gdz  k    sJ  |d|g          }||gdz  k    sJ cd S )Nr   r
  r  rZ   )
num_colorsrO   rn   )
matplotlibrr   r  r  cnamesColorConverter)r6   rr   r  r   r   s        r   test_standard_colors_allz(TestSeriesPlots.test_standard_colors_all  s   %%%%%%IIIIII  	% 	%A((AQ???FaS====((AaSAAAFaS====((AQ???FaS1W$$$$((AaSAAAFaS1W$$$$$ &- 	% 	%A((AQ???FaS====((AaSAAAFaS====((AQ???FaS1W$$$$((AaSAAAFaS1W$$$$$	% 	%r   c                    | j                                         \  }}t          t          j        d          dz                                 d|          }|                     |                                dg           d S )Nr   rZ   r  rO   r8   
linecolors)rg   rY   r   rR   ry  r1   rU   rz   r6   ri   r8   s      r   test_series_plot_color_kwargsz-TestSeriesPlots.test_series_plot_color_kwargs  so    !!##2BIbMMA%&&++'b+AA2<<>>wi@@@@@r   c                 &   | j                                         \  }}t          t          j        d          dz   t          dd                                        d|          }|                     |                                dg           d S )	Nr   rZ   r   rk  r   r  r  r  )	rg   rY   r   rR   ry  r	   r1   rU   rz   r  s      r   "test_time_series_plot_color_kwargsz2TestSeriesPlots.test_time_series_plot_color_kwargs  s    !!##2BIbMMA%Z
B-O-O-OPPPUUb V 
 
 	2<<>>wi@@@@@r   c                    dd l }|                     |j                  }t          dd          }t	          t          j        dd          |          }d}| j                                        \  }}t          |          D ]}|
                    |	          }|                     |                                |d |         
           d S )Nr   r   r   rk  rZ      r   rn   ro   r  )r  _unpack_cyclerrp   r	   r   rR   ry  rg   rY   r[  r1   rU   rz   )	r6   mpl
def_colorsr   r   ncolorsri   r8   rw  s	            r   -test_time_series_plot_color_with_empty_kwargsz=TestSeriesPlots.test_time_series_plot_color_with_empty_kwargs  s        ((66
:r22229Q##5111!!##2w 	 	A2BB2<<>>j'6JKKKKKr   c                 L   t          t          j        d          d t          d          D                       }| j                                        \  }}|                    g d|          }d dD             }|                     |                                |           d S )Nr.   c                     g | ]}d |d	S P02dr   rv  s     r   r   z4TestSeriesPlots.test_xticklabels.<locals>.<listcomp>  s     (H(H(HQ(H(H(Hr   r   )r   rn   rF   r   )xticksr8   c                     g | ]}d |d	S r  r   rv  s     r   r   z4TestSeriesPlots.test_xticklabels.<locals>.<listcomp>  s     111q{1{{{111r   )	r   rR   ry  r[  rg   rY   r1   rh   r   )r6   r   ri   r8   r   s        r   test_xticklabelsz TestSeriesPlots.test_xticklabels  s    29R==(H(HeBii(H(H(HIII!!##2VV<<<BV//11L111 2 2 4 4c:::::r   c           	      r   t          t          d          d t          d          D                       }|j                            t          ddd                    }t	          j        t          t          ddd                              }t          j        ||	                                           d S )Nr.   c                     g | ]}d |d	S r  r   rv  s     r   r   z6TestSeriesPlots.test_xtick_barPlot.<locals>.<listcomp>  s     $D$D$DQ[[[[$D$D$Dr   r   r   r   rm   )r  )
r   r[  r1   r4   rR   r   r  r   r   
get_xticks)r6   r   r8   r   s       r   test_xtick_barPlotz"TestSeriesPlots.test_xtick_barPlot  s    599$D$D%))$D$D$DEEEVZZuQAZ//htE!ROO,,--
#C99999r   c           
          ddl m} t          t          dd          t	          j        dd |dg          	          
          }t          |j                   d S )Nr   )CustomBusinessDayr  y   z
2014-05-01z
2014-06-01z
2014-05-26)holidays)startendr  r   )pandas.tseries.offsetsr  r   r[  pdbdate_ranger   r1   )r6   r  r   s      r   test_custom_business_day_freqz-TestSeriesPlots.test_custom_business_day_freq  sx    <<<<<<#sOO." &&???  
 
 
 	!&!!!!!r   ziGH#24426, see also github.com/pandas-dev/pandas/commit/ef1bd69fa42bbed5d09dd17f08c44fc8bfc2b685#r61470674c                    t          g d          }| j                                        \  }}|                    |          }|j                                        }|                    ddgd           | j                                        \  }}|j                                        }t          j        ||           d S )Nr   ro   r   rZ   T)inplace)	r   rg   rY   r1   r,   r   dropr   r   )r6   r   ri   r8   beforeafters         r   %test_plot_accessor_updates_on_inplacez5TestSeriesPlots.test_plot_accessor_updates_on_inplace  s     \\\""!!##2XXX__&&((!Q&&&!!##2%%''
#FE22222r   r5   c                     t          ddg          }| j                                        \  }}|                    ||           |                                }|d         dk     sJ |d         dk    sJ d S )Nrm   rn   rZ  r   rZ   )r   rg   rY   r1   ry   )r6   r>   r   ri   r8   xlimss         r   test_plot_xlim_for_seriesz)TestSeriesPlots.test_plot_xlim_for_series  ss     Aq6NN!!##2	DR   Qx!||||Qx!||||||r   c                    t          t                    }|j        sJ |                                }t	          |                                          dk    sJ |                                d         }t	          |                                          dk    sJ t	          |                                          dk    sJ d S )Nr   rZ   r   )r   intemptyr1   r   rz   rR  r   )r6   r   r8   r?   s       r   test_plot_no_rowsz!TestSeriesPlots.test_plot_no_rows  s    #xWWYY2<<>>""a''''||~~a 4>>##$$))))4>>##$$))))))r   c                     t          g d          }t          j        t          d          5  |                                 d d d            d S # 1 swxY w Y   d S )Nr   r   r   )r   r   r   r   r1   )r6   r   s     r   test_plot_no_numeric_dataz)TestSeriesPlots.test_plot_no_numeric_data  s    OOO$$]9,EFFF 	 	GGIII	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAzdata, indexr   )rn   rm   rZ   r   )r.   rM  rA  r   )iv  i  i  i  c                     t          ||          }|                    d          }|                                }d t          |j        d           D             }||k    sJ d S )N)r   r   r4   rG   c                 @    g | ]}|                                 j        S r   )get_bboxr   )r   patchs     r   r   z3TestSeriesPlots.test_plot_order.<locals>.<listcomp>!  s5     
 
 
 NN!
 
 
r   c                 4    |                                  j        S r;   )r  r   )r  s    r   <lambda>z1TestSeriesPlots.test_plot_order.<locals>.<lambda>#  s    enn>N>N>S r   )rq   )r   r1   r  sortedrV   )r6   r   r   r   r8   r   r   s          r   test_plot_orderzTestSeriesPlots.test_plot_order  s     $e,,,XX5X!!::<<
 

0S0STTT
 
 
 6!!!!!!r   c                     t          ddg          }|                    dd          }|j        d                                         dk    sJ d S )NrZ   rm   r   C3)r&   rO   r   )r   r1   r   	get_color)r6   r   r8   s      r   test_style_single_okz$TestSeriesPlots.test_style_single_ok'  sO    Aq6NNVV#TV**x{$$&&$......r   z index_name, old_label, new_label))Nr   new)oldr  r  )Nr   r   )r?   r5   r4   r@   rC   c                 X   t          g d          }||j        _        |                    |          }|dk    r5|                                dk    sJ |                                |k    sJ no|dk    r5|                                dk    sJ |                                dk    sJ n4|                                dk    sJ |                                |k    sJ |                    |||          }|                                |k    sJ |                                |k    sJ d S )Nr   rG   r@   r   rC   	Frequency)r>   ylabelxlabel)r   r   r   r1   r   r  )r6   r>   
index_name	old_label	new_labelr   r8   s          r   test_xlabel_ylabel_seriesz)TestSeriesPlots.test_xlabel_ylabel_series,  s2    \\\""#	 XX4X  6>>==??b((((==??i/////V^^==??b((((==??k11111==??b((((==??i//// XX4	)XDD}})++++}})++++++r   r   rm   r  )r  rl  r  rZ   )daysc                     d}t          ddg|                              |          }|                                dk    sJ d S )N)rn   rZ   rZ   rm   r   )xlim)r   r1   ry   )r6   r   r  r8   s       r   test_timedelta_indexz$TestSeriesPlots.test_timedelta_indexG  sO     QF%(((--E-;;{{}}&&&&&&r   )M__name__
__module____qualname__r   markslowr9   r=   parametrizeparamtdskip_if_no_scipyrH   rK   rW   r`   rj   rs   r   r   r   r   r   r   makeDateIndexr   r   xfailr   r   r   r   r   r   r   r  r%  r*  r4  r=  r?  rK  rS  rX  r
   r  r  r  r]  ra  rd  rf  ri  rp  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  timedelta_range	Timedeltar  r   r   r   r   r   )   s9       [7 7 7$( ( ( [FLb&9:::	

 
6 6
 
61 1 1B B B> > >O O O0 0 0< < <%, %, %,N5 5 58 8 88& & & [Wt-=R-=-B-B-B&CDDG G EDG$
 
 
 [20022(   
G G 
GBL L L
" 
" 
"	/ 	/ 	/- - -
C 
C 
C.? .? .?`" " "= = =~ [$}6G&H 
2 
2 
2	2 	2 	2 
A 
A 
A 9 9 9 [455> > 65> [+h.C.QQ  	  
 [VX%:%HII% % JI% [VX%:%HII- - JI - [VX%:%HII% % JI%( ( (
" " "  ( [( ( (T [5 5 5 [
 
  
 [S"B"B"BCC! ! DC!% % %BA A AA A AL L L; ; ;: : :" " " [=   
	3 	3 
	3 [Vff%566	 	 76	* * *  
 [\\<<<(7778	
 
" 
" 
"/ / /
 [*BBB  [V%L%L%LMM, , NM	 
,, [BQ<<<R\q!!!<2<Q#7#7#78	
 ' ' ' ' 'r   r   )!__doc__r   	itertoolsr   numpyrR   r   pandas.compatr   pandas.compat.numpyr   pandas.util._test_decoratorsutil_test_decoratorsr  pandasr  r   r   r	   r
   pandas._testing_testingr   pandas.tests.plotting.commonr   r   fixturer   r   r   skip_if_no_mplr   r   r   r   <module>r     s   " "                  + + + + + + 2 2 2 2 2 2 ) ) ) ) ) ) ) ) )                             ( ( ( . . . / / / h' h' h' h' h'l h' h' h' h' h'r   