
    Piw                        d Z ddlZddlZddlZddlmc mZ ddl	m
Z
mZmZmZmZmZmZmZmZ ddlmZ ddlmZmZmZmZmZ  ej        d          Z ej        d          Z ej        d          Zddl Z ddl!m"Z" ej#        d	e
fd
            Z$ ej%        d          d             Z&d Z'ej(        )                    dej*        j+                  ej(        )                    d e
 ej,        d          -                    dd                     e e.d                    g          ej(        )                    d e e.d                     edd           edd          g          d                                     Z/ G d d          Z0 G d d          Z1ej#        d             Z2ej#        d	e
fd            Z3d Z4d Z5ej(        )                    ddd gd!d"gd"dgg          d#             Z6ej(        )                    dg d$g d%g d&g          d'             Z7ej(        )                    d(d)d*gd+d,gd-d.gd/d0gg          d1             Z8ej(        )                    d(d$gd2gd3gd4gg          d5             Z9d6 Z:d7 Z;d8 Z<d9 Z=dS ):z"Test cases for misc plot functions    N)		DataFrameIndexSeries	Timestamp
date_rangeinterval_rangeperiod_rangeplottingread_csv)_check_colors_check_legend_labels_check_plot_works_check_text_labels_check_ticks_props
matplotlibzmatplotlib.pyplotzmatplotlib.cmget_standard_colorsreturnc                 8    t           | dddd                    S )z*
    The iris dataset as a DataFrame.
    iodatacsvziris.csv)r   )datapaths    s/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/plotting/test_misc.pyirisr   '   s"    
 HHT65*==>>>    c                      t          dddgi          } t          j        t          d          5  |                                  d d d            d S # 1 swxY w Y   d S )NA      z#matplotlib is required for plottingmatch)r   pytestraisesImportErrorplotdfs    r   test_import_error_messager)   /   s     
C!Q=	!	!B	{*O	P	P	P  
			                 s   AAAc            	         t           j        j        j        } d}t	          j        t          |          5   | dg g i            d d d            n# 1 swxY w Y   d}t	          j        t          |          5   | dt          t                    dd gi            d d d            n# 1 swxY w Y    | dt                      dgd	d
dd          \  }}}}|dk    sJ |d	k    sJ |d
k    sJ |ddik    sJ  | dt          t                    g i           \  }}}}|J |J |dk    sJ t          |          dk    sJ d S )Nz@Called plot accessor for type list, expected Series or DataFramer!    )backend_namer   argskwargsz.should not be called with positional argumentsdtypelinexybarF)r3   kindgridr6   zpandas.plotting._matplotlib   )r
   _corePlotAccessor_get_call_argsr#   r$   	TypeErrorr   objectr   len)funcmsgr2   r3   r5   r.   s         r   test_get_accessor_argsr@   8   s1   >&5D
LC	y	,	,	, ; ;"2Br::::; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;C	y	,	,	, Y Y"6#7#7#7vtnUWXXXXY Y Y Y Y Y Y Y Y Y Y Y Y Y Y [[U%77	  Aq$ 888888885====fe_$$$$2&!!!	  Aq$ 9999996>>>>v;;"s#   AAA8%B))B-0B-r5   r            index
2020-01-01periodsc                    t                                           \  }}||_        i }| dv r1t          |t                    rt          j        |  d           ddd} |j        d| |d| |                    t          j
                   d S )N)hexbinscatterpiez not supported with Seriesr   r   )r2   r3   )r5   ax )pltsubplotsrD   
isinstancer   r#   skipr&   savefigosdevnull)r5   r   rD   figrL   r.   s         r   test_savefigrV   Z   s     llnnGCDJF+++dF## 	=K4;;;<<<q!!DI)4B))&)))KK
r   c                   j    e Zd Zd Zej                            di ddig          d             Zd ZdS )TestSeriesPlotsc                    t          t          j        dt          j                  t	          dd          d          }t          j        d           5  t          t          j	        |           t          t          j	        |j
                   t          j	        |d	          }d d d            n# 1 swxY w Y   t          |dg
           d S )N
   r/   rE   rF   tsrD   name)seriesTest)label)labels)r   nparangefloat64r   tmassert_produces_warningr   r
   autocorrelation_plotvaluesr   )selfserrL   s      r   test_autocorrelation_plotz)TestSeriesPlots.test_autocorrelation_plots   s   Ib
+++\2666
 
 
 '-- 	B 	Bh;CHHHHh;CJOOOO.s&AAAB		B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B
 	R111111s   AB22B69B6r.   lagrB   c                     t          t          j        dt          j                  t	          dd          d          }t          t          j        fd|i| d S )NrZ   r/   rE   rF   r[   r\   r^   )r   rb   rc   rd   r   r   r
   lag_plot)ri   r.   rj   s      r   test_lag_plotzTestSeriesPlots.test_lag_plot   sc    Ib
+++\2666
 
 

 	(+BBCB6BBBBBr   c                     t          t          j        dt          j                  t	          dd          d          }t          t          j        |d           d S )NrZ   r/   rE   rF   r[   r\   )r^   size)r   rb   rc   rd   r   r   r
   bootstrap_plot)ri   rj   s     r   test_bootstrap_plotz#TestSeriesPlots.test_bootstrap_plot   s]    Ib
+++\2666
 
 

 	(1#BGGGGGGr   N)	__name__
__module____qualname__rk   r#   markparametrizero   rs   rM   r   r   rX   rX   r   sq        2 2 2 [XUAJ'788C C 98CH H H H Hr   rX   c                      e Zd Zej                            dddg          d             Zej                            dddg          d             Zej        j        d             Z	ej        j        ej                            ddg d	g          ej                            d
d e
ej                            d                              d          ej                            d                              d          ej                            d                              d          dgdz  d          g          d                                     Zej        j        ej                            d
d e
ej                            d                              d          ej                            d                              d          ej                            d                              d          dgdz  d          g          d                         Zej        j        d             Zej        j        ej                            ddg d	g          d                         Zej        j        d             Zej        j        d             Zej        j        d             Zej                            d          d             Zd Zej                            ddg d	g          d             Zd Z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)d*g          d+             Z&d, Z'd- Z(d. Z)d/ Z*d0 Z+d1 Z,d2 Z-d3 Z.d4S )5TestDataFramePlots	pass_axisFTc                 8   t          j        d           t          j        }d }|r#t          j                            dd          \  }}t          t          j	        
                    d                              d                    }t          j        t          d          5  t          ||d|          }d d d            n# 1 swxY w Y   |d	         d	         j                                        }g d
}t%          ||           t'          |dddd	           d S )NscipyrC   r    rZ   rC   Fcheck_stacklevel皙?framerange_paddingrL   r   )z-2z-10   Z   
xlabelsizexrot
ylabelsizeyrotr#   importorskipr
   scatter_matrixmplpyplotrO   r   rb   randomdefault_rngstandard_normalre   rf   UserWarningr   yaxisget_majorticklabelsr   r   	ri   r{   r   rL   _r(   axesaxes0_labelsexpecteds	            r   test_scatter_matrix_axisz+TestDataFramePlots.test_scatter_matrix_axis   sS   G$$$!0 	.J''1--EArry,,Q//??HHII 'eLLL 	 	$!	  D	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 Awqz';;==$$$<2224AB11MMMMMMs   "CC	Cc                 Z   t          j        d           t          j        }d }|r#t          j                            dd          \  }}t          t          j	        
                    d                              d                    }|d         dz
  dz  |d<   t          j        t          d          5  t          ||d	|
          }d d d            n# 1 swxY w Y   |d         d         j                                        }g d}t%          ||           t'          |dddd           d S )Nr}   rC      r~   r   r    Fr   r   r   )z-1.25z-1.0z-0.75z-0.5r   r   r   r   r   s	            r    test_scatter_matrix_axis_smallerz3TestDataFramePlots.test_scatter_matrix_axis_smaller   sh   G$$$!0 	.J''1--EArry,,R00@@IIJJAa1 'eLLL 	 	$!	  D	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 Awqz';;==555<2224AB11MMMMMMs   3CCCc                     t          j        d           5  t          t          j        |d           d d d            d S # 1 swxY w Y   d S NNamer   class_column)re   rf   r   r
   andrews_curvesri   r   s     r   test_andrews_curves_no_warningz1TestDataFramePlots.test_andrews_curves_no_warning   s     '-- 	X 	Xh5TPVWWWW	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X 	X   ?AA
linecolors)z#556270z#4ECDC4z#C7F464)
dodgerblue
aquamarineseagreenr(   r   r    rZ   r   r   BCr   c                    t          |t                    r|                    |          }t          t          j        |d|          }t          |                                d d         ||d         d d                    d S Nr   r   r   colorrZ   r   mapping)rP   strgetfixturevaluer   r
   r   r   	get_lines)ri   requestr(   r   rL   s        r   test_andrews_curves_linecolorsz1TestDataFramePlots.test_andrews_curves_linecolors   s    . b# 	-((,,B#2F*
 
 
 	LLNN3B3J6
3B3	
 	
 	
 	
 	
 	
r   c                 x   t          |t                    r|                    |          }d t          j        dd|d                                                   D             }t          t          j        |d|          }t          |
                                d d         ||d         d d                    d S )Nc                 B    g | ]}t                               |          S rM   )cmjet.0ns     r   
<listcomp>z?TestDataFramePlots.test_andrews_curves_cmap.<locals>.<listcomp>   s"    LLLqLLLr   r   r   r   r   rZ   r   )rP   r   r   rb   linspacenuniquer   r
   r   r   r   )ri   r   r(   cmapsrL   s        r   test_andrews_curves_cmapz+TestDataFramePlots.test_andrews_curves_cmap   s      b# 	-((,,BLLBK1bj6H6H6J6J$K$KLLL#2F%
 
 
 	bllnnSbS)eRZPSQSPS_UUUUUUr   c                     g d}t          g dg dg d|d          }t          j        |d|          }|                                \  }}t	          ||           d S Nbgrr   r    rC   r   r   r   )r   )r   r
   r   get_legend_handles_labelsr   ri   colorsr(   rL   handlesr   s         r   test_andrews_curves_handlez-TestDataFramePlots.test_andrews_curves_handle  sv     YYYYYYYYYPVWWXX$Rv>>>1133
g&111111r   r   c                     |}t          t          j        |d|          }t          |                                d d         ||d         d d                    d S r   )r   r
   parallel_coordinatesr   r   )ri   r   r   r(   rL   s        r    test_parallel_coordinates_colorsz3TestDataFramePlots.test_parallel_coordinates_colors  sg     )&PU
 
 
 	bllnnSbS)eRZPSQSPS_UUUUUUr   c                 <   |}t          t          j        |dt          j                  }d t          j        dd|d                                                   D             }t          |	                                d d         ||d         d d                    d S )Nr   r   r   colormapc                 L    g | ]!}t           j                            |          "S rM   r   r   r   r   s     r   r   zETestDataFramePlots.test_parallel_coordinates_cmap.<locals>.<listcomp>#  $    PPP1APPPr   r   r   rZ   r   )
r   r
   r   r   r   rb   r   r   r   r   )ri   r   r(   rL   r   s        r   test_parallel_coordinates_cmapz1TestDataFramePlots.test_parallel_coordinates_cmap  s    )V	
 
 
 QPAq"V*:L:L:N:N(O(OPPPbllnnSbS)eRZPSQSPS_UUUUUUr   c                 ^   |}t          t          j        |d          }t          |                                          }t          |j                                                  }t          t          j        |dd          }t          |                                          ||z
  k    sJ d S )Nr   r   F)r   r   axvlines)r   r
   r   r=   r   xaxisget_ticklabels)ri   r   r(   rL   nlinesnxtickss         r   #test_parallel_coordinates_line_diffz6TestDataFramePlots.test_parallel_coordinates_line_diff&  s    )&
 
 
 R\\^^$$bh--//00)&SX
 
 
 2<<>>""v'7888888r   c                     |}g d}t          g dg dg d|d          }t          j        |d|          }|                                \  }}t	          ||           d S r   )r   r
   r   r   r   )ri   r   r(   r   rL   r   r   s          r   !test_parallel_coordinates_handlesz4TestDataFramePlots.test_parallel_coordinates_handles5  s{     YYYYYYYYYPVWWXX*2vVDDD1133
g&111111r   z$ignore:Attempting to set:UserWarningc                    t          t          t          d                    d t          d          D             d t          d          D             z   d t          d          D             z   d          }t          j        |dd	          }|                                \  }}t          d
 |D             |d          }t          |d           }t          t          |dd                   t          |dd                    d          }|D ]+\  }}	|d         |	d         k     r|d         |	d         k     sJ ,d S )N   c                     g | ]}d S )r    rM   r   r   s     r   r   zSTestDataFramePlots.test_parallel_coordinates_with_sorted_labels.<locals>.<listcomp>E  s    ///!///r   rZ   c                     g | ]}d S )rC   rM   r   s     r   r   zSTestDataFramePlots.test_parallel_coordinates_with_sorted_labels.<locals>.<listcomp>F      (((1(((r   c                     g | ]}d S r   rM   r   s     r   r   zSTestDataFramePlots.test_parallel_coordinates_with_sorted_labels.<locals>.<listcomp>G  r   r   )featclassr   T)sort_labelsc                 6    g | ]}|                                 S rM   	get_color)r   polylines     r   r   zSTestDataFramePlots.test_parallel_coordinates_with_sorted_labels.<locals>.<listcomp>M  s$    <<<hX!!<<<r   strictc                     | d         S )Nr   rM   )r2   s    r   <lambda>zQTestDataFramePlots.test_parallel_coordinates_with_sorted_labels.<locals>.<lambda>O  s    aPQd r   )keyr   r   )r   listranger
   r   r   zipsorted)
ri   r(   rL   	polylinesra   color_label_tuplesordered_color_label_tuplesprev_next_tupelsprevnxts
             r   ,test_parallel_coordinates_with_sorted_labelsz?TestDataFramePlots.test_parallel_coordinates_with_sorted_labels?  s{    U2YY//U2YY///((eBii((()((eBii((() 
 
 *2wDIII88::	6 <<)<<<fT
 
 
 &,,>NN%S%S%S"+AbD122+ABB/00
 
 

 * 	9 	9ID#7SV##Q#a&(8(8(88(8	9 	9r   c                     t          j        d           5  t          t          j        |d           d d d            d S # 1 swxY w Y   d S r   )re   rf   r   r
   radvizr   s     r   test_radviz_no_warningz)TestDataFramePlots.test_radviz_no_warningY  s    '-- 	P 	PhoTOOOO	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	Pr   c                     |}t          t          j        |d|          }d |j        d d         D             }t	          |d d         ||d         d d                    d S )Nr   r   c                 B    g | ]}|                                 d k    |S r+   	get_labelr   ps     r   r   z8TestDataFramePlots.test_radviz_color.<locals>.<listcomp>h  *    EEE"1D1D11D1D1Dr      rZ   
facecolorsr   )r   r
   r	  patchesr   )ri   r   r   r(   rL   r  s         r   test_radviz_colorz$TestDataFramePlots.test_radviz_color^  sw    
 O2F%
 
 
 FEbj"oEEEgcrclubj"oNNNNNNr   c                 :   |}t          t          j        |dt          j                  }d t          j        dd|d                                                   D             }d |j        d d         D             }t          |||d         d d         	           d S )
Nr   r   c                 L    g | ]!}t           j                            |          "S rM   r   r   s     r   r   z=TestDataFramePlots.test_radviz_color_cmap.<locals>.<listcomp>p  r   r   r   r   c                 B    g | ]}|                                 d k    |S r  r  r  s     r   r   z=TestDataFramePlots.test_radviz_color_cmap.<locals>.<listcomp>q  r  r   r  rZ   r  )
r   r
   r	  r   r   rb   r   r   r  r   )ri   r   r(   rL   r   r  s         r   test_radviz_color_cmapz)TestDataFramePlots.test_radviz_color_cmapk  s    O2FRV
 
 
 QPAq"V*:L:L:N:N(O(OPPPEEbj"oEEEg%FCRCIIIIIIr   c                     g dg dg dg}t          g dg dg dg dd          }t          j        |d	|
          }|                                \  }}t	          ||           d S )N)        r        ?r  )r        ?r  r  )r  r  r  r  r   )r    r   rC   )rC   r    r   r   r   r   r   )r  )r   r
   r	  r   r   r   s         r   test_radviz_colors_handlesz-TestDataFramePlots.test_radviz_colors_handlest  s    &&&(<(<(<>R>R>RS))))))))___UU
 
 _Rv6661133
g&111111r   c                     |                     dd                                          }t          |j                  }|                    d|          }d |D             |k    sJ d S )Nr   r   axisTrO   titlec                 6    g | ]}|                                 S rM   	get_titler  s     r   r   z:TestDataFramePlots.test_subplot_titles.<locals>.<listcomp>  s     ,,,!,,,r   dropheadr   columnsr&   )ri   r   r(   r%  r&   s        r   test_subplot_titlesz&TestDataFramePlots.test_subplot_titles}  sn    YYvAY&&++--RZ   wwEw22,,t,,,555555r   c                 "   |                     dd                                          }t          |j                  }d}t	          j        t          |          5  |                    dg |d           d d d            d S # 1 swxY w Y   d S )	Nr   r   r"  jThe length of `title` must equal the number of columns if using `title` of type `list` and `subplots=True`r!   Tzkittens > puppiesr$  r*  r+  r   r,  r#   r$   
ValueErrorr&   ri   r   r(   r%  r?   s        r   test_subplot_titles_too_muchz/TestDataFramePlots.test_subplot_titles_too_much  s    YYvAY&&++--RZ  ? 	 ]:S111 	H 	HGGT)F5)F2E)FGGGG	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	H 	Hs   BBBc                 *   |                     dd                                          }t          |j                  }d}t	          j        t          |          5  |                    d|d d                    d d d            d S # 1 swxY w Y   d S )	Nr   r   r"  r/  r!   Tr    r$  r0  r2  s        r   test_subplot_titles_too_littlez1TestDataFramePlots.test_subplot_titles_too_little  s    YYvAY&&++--RZ  ? 	
 ]:S111 	4 	4GGTrrG333	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4s    BBBc                    |                     dd                                          }t          |j                  }d}t	          j        t          |          5  |                    d|           d d d            d S # 1 swxY w Y   d S )Nr   r   r"  zNUsing `title` of type `list` is not supported unless `subplots=True` is passedr!   Fr$  r0  r2  s        r   "test_subplot_titles_subplots_falsez5TestDataFramePlots.test_subplot_titles_subplots_false  s    YYvAY&&++--RZ  ( 	 ]:S111 	1 	1GGU%G000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1s   B  BBc                 *   |                     dd                                          }t          |j                  }|                     dd                              dd|d d                   }d	 |D             }|g |d d
         dk    sJ d S )Nr   r   r"  
SepalWidthTr    r    r   )rO   layoutr%  c                 @    g | ]}|D ]}|                                 S rM   r'  )r   sublistrL   s      r   r   zPTestDataFramePlots.test_subplot_titles_numeric_square_layout.<locals>.<listcomp>  s-    KKK7KKRbllnnKKKKr   rC   r+   r)  )ri   r   r(   r%  r&   
title_lists         r   )test_subplot_titles_numeric_square_layoutz<TestDataFramePlots.test_subplot_titles_numeric_square_layout  s    YYvAY&&++--RZ  ww|!w,,11&crc
 2 
 
 LKDKKK
-uRaRy-"-------r   c                 p   t          t          j        d                    }t          j        |d           t          j                            d                                           }t          j        |d           t          j                            d                                           }||k    sJ d S )N)rZ   rZ   r   )r   rb   zerosr
   r   r   r   )ri   r(   rand1rand2s       r   $test_get_standard_colors_random_seedz7TestDataFramePlots.test_get_standard_colors_random_seed  s    rx))** 	%b!,,,	%%d++2244%b!,,,	%%d++2244~~~~~~r   c                 Z    t          dd          }t          dd          }||k    sJ d S )Nr   r   
color_typer   )ri   color1color2s      r   $test_get_standard_colors_consistencyz7TestDataFramePlots.test_get_standard_colors_consistency  s?     %Q8<<<$Q8<<<r   c                     t          dd          }t          dd          }t          dd          }t          |          dk    sJ t          |          dk    sJ t          |          dk    sJ d S )Nr   defaultrF  	   r  )r   r=   )ri   rH  rI  color3s       r   +test_get_standard_colors_default_num_colorsz>TestDataFramePlots.test_get_standard_colors_default_num_colors  s    $Q9===$Q9===$RI>>>6{{a6{{a6{{b      r   c           	      2   t          g dg dg dg dg dg dd          }|j                                        j                                        }d |                                d	d
         D             t          fdD                       sJ d S )N)z
2017-02-03z
2017-03-03z
2017-01-01)zAlice Andersz	Bob BakerzCharlie Chaplin)gzGag\($@g     L@)i  ix	     )  i  i	  )4   rR      )zaccount-startclientbalancezdb-idzproxy-idrankc                 6    g | ]}|                                 S rM   get_facecolorr   rects     r   r   z=TestDataFramePlots.test_plot_single_color.<locals>.<listcomp>  s$    JJJ4$$$&&JJJr   r   rC   c              3   0   K   | ]}|d          k    V  dS )r   NrM   )r   r   r   s     r   	<genexpr>z<TestDataFramePlots.test_plot_single_color.<locals>.<genexpr>  s,      ::%5F1I%::::::r   )r   rU  value_countsr&   r4   get_childrenall)ri   r(   rL   r   s      @r   test_plot_single_colorz)TestDataFramePlots.test_plot_single_color  s    !K!K!KJJJ666***---% 	
 	
 Y##%%*..00JJ2??3D3DQqS3IJJJ::::6::::::::::r   c                    t           j                            t          d                    }t	          d|          }t          |          t          |          k    sJ t          t          j        	                    d          
                    d          t          d                    }t           j                            t          j        ddd	                    }|j        j                            d
|          }|j        d                                         |j        d                                         k    sJ d S )NrB   r   r   r    )0      ABCDr,  r      )rh     )figsizer      )r   r   gnuplotr   r   r=   r   rb   r   r   r   r   r   r   r&   r4   r  rZ  )ri   color_beforecolor_afterr(   
color_listr  s         r   %test_get_standard_colors_no_appendingz8TestDataFramePlots.test_get_standard_colors_no_appending  s   
 v~~eAhh//)!<@@@;3|#4#44444I!!!$$44W==tF||
 
 
 V^^BK1b$9$9::
DIMM'M<<y|))++qy}/J/J/L/LLLLLLLr   r5   r4   r1   c                    ddg}ddgt          t          j                            d                              d          |          }ddd}|                    ||	          }|d
k    r(d |                                ddd         D             }n&d |                                dd         D             }t          fdt          |          D                       sJ d S )Nar   )r  gQ?g333333?)g333333?ffffff?rs  r    r:  rg  )r   rr  )r5   r   r4   c                 F    g | ]}|                                 d d         S )r   r   rY  r[  s     r   r   z<TestDataFramePlots.test_dictionary_color.<locals>.<listcomp>  s-    VVVTd((**1R40VVVr   r   rC   c                 6    g | ]}|                                 S rM   r   r[  s     r   r   z<TestDataFramePlots.test_dictionary_color.<locals>.<listcomp>   s"    GGG4dnn&&GGGr   c              3   6   K   | ]\  }}||         k    V  d S NrM   )r   rD   r   r   s      r   r^  z;TestDataFramePlots.test_dictionary_color.<locals>.<genexpr>  s0      RRu5HUO+RRRRRRr   )	r   rb   r   r   r&   r`  r   ra  	enumerate)ri   r5   
data_filesdf1	dic_colorrL   r   r   s          @r   test_dictionary_colorz(TestDataFramePlots.test_dictionary_color  s     3Z
$o6	--a0077??TTT)0@AA	XX4yX115==VVR__=N=NqQRSTu=UVVVFFGG2<<>>!A#3FGGGFRRRR	&@Q@QRRRRRRRRRRr   c                 ~   t           j                            ddd          t           j                            ddd          g}t          dddgit	          ddg                    }|j                                        }t          d t          |	                                |d	
          D                       sJ d S )Nr   r   r   Totalrr  r    rD   c              3   p   K   | ]1\  }}|                                 |                                 k    V  2d S rw  get_textr   rr  r   s      r   r^  z3TestDataFramePlots.test_bar_plot.<locals>.<genexpr>  O       
 
1 ZZ\\QZZ\\)
 
 
 
 
 
r   Tr   )
r   textTextr   r   r&   r4   ra  r   get_xticklabels)ri   r   r(   plot_bars       r   test_bar_plotz TestDataFramePlots.test_bar_plot  s     HMM!Q,,chmmAq'.J.JKaV G%%	
 
 
 7;;== 
 
H4466NNN
 
 
 
 
 	
 	
 
 	
 	
r   c                 j   t          ddddddg          }|j                            dd           }t          j                            ddd          t          j                            ddd          g}t          d	 t          |                                |d
          D                       sJ d S )Nr   r   )wordvalue	knowledger    r  )r2   legend1c              3   p   K   | ]1\  }}|                                 |                                 k    V  2d S rw  r  )r   actualr   s      r   r^  zPTestDataFramePlots.test_barh_plot_labels_mixed_integer_string.<locals>.<genexpr>  sU       
 
  OO!2!2!4!44
 
 
 
 
 
r   Tr   )	r   r&   barhr   r  r  ra  r   get_yticklabels)ri   r(   	plot_barhexpected_yticklabelss       r   *test_barh_plot_labels_mixed_integer_stringz=TestDataFramePlots.test_barh_plot_labels_mixed_integer_string  s     Q//+PQ1R1RSTTGLL6$L77	HMM!Q$$HMM!Q,, 
  
 
$'))++-A$% % %
 
 
 
 
 	
 	
 
 	
 	
r   c                    t           j        j        j        }t          j                                        }|                    dd          }|                    d|d         d                   |d         d<   |                    d|d         d                   |d         d<   |d         d         	                                 |d         d         	                                  ||d         d         d          sJ  ||d         d         d          rJ  ||d         d         d          sJ  ||d         d	         d          rJ d S )
Nr    re     r   r   sharex   r2   rC   )
r
   _matplotlibtools_has_externally_shared_axisr   r   figurerO   add_subplottwinxri   r>   rU   plotss       r   &test_has_externally_shared_axis_x_axisz9TestDataFramePlots.test_has_externally_shared_axis_x_axis$  B    #)Ej!!Q"" ooc%(1+o>>aooc%(1+o>>a 	aa tE!HQK%%%%%4aS)))))tE!HQK%%%%%4aS)))))))r   c                    t           j        j        j        }t          j                                        }|                    dd          }|                    d|d         d                   |d         d<   |                    d|d         d                   |d         d<   |d         d         	                                 |d         d         	                                  ||d         d         d          sJ  ||d         d         d          rJ  ||d         d         d          sJ  ||d	         d         d          rJ d S )
Nre  r    A  r   r   shareyiE  r3   rC   )
r
   r  r  r  r   r   r  rO   r  twinyr  s       r   &test_has_externally_shared_axis_y_axisz9TestDataFramePlots.test_has_externally_shared_axis_y_axis=  r  r   c                    t           j        j        j        }t          j                                        }|                    dd          }|                    d|d         d                   |d         d<   d}t          j
        t          |          5   ||d         d         d	           d d d            d S # 1 swxY w Y   d S )
Nre  r    r  r   r   r  z&needs 'x' or 'y' as a second parameterr!   z)r
   r  r  r  r   r   r  rO   r  r#   r$   r1  )ri   r>   rU   r  r?   s        r   4test_has_externally_shared_axis_invalid_compare_axiszGTestDataFramePlots.test_has_externally_shared_axis_invalid_compare_axisV  s     #)Ej!!Q"" ooc%(1+o>>a 7]:S111 	# 	#Dq!c"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s   B::B>B>c                    t          t          j                            d                              d          t          j                            d                              d          d          }t
          j                                        }|                    dd          }|	                    d|d         d                   |d         d<   |	                    d	|d         d                   |d         d<   |d         d         
                                }|d         d         
                                }|d
                             |d         d         d                              d           |d
                             |d         d                    |d
                             |d         d         d                              d           |d
                             |d         d                    |d
                             |d         d         d                              d           |d
                             |d         d                    |d                             |d           |d                             |d           |d         d         j                                                                        rJ |d         d         j                                                                        sJ |d         d         j                                                                        rJ d S )Nr    rZ   )rr  r   rC   r  r   r   r  r  rr  zExternal share only)rL   r%  z"this label should never be visible)rL   zInternal share (twin) onlyz#this label should always be visibleBothr   green)rL   r   yellow)r   rb   r   r   r   r   r   r  rO   r  r  r&   
set_xlabelr   r  get_visible)ri   r(   rU   r  twin_ax1twin_ax2s         r   test_externally_shared_axesz.TestDataFramePlots.test_externally_shared_axesg  s    Y**1--==bAAY**1--==bAA 
 
 j!!Q"" ooc%(1+o>>aooc%(1+o>>a 8A;$$&&8A;$$&& 	3a+@AALL0	
 	
 	
 	3a$$$
3a+GHHSS1	
 	
 	
 	3a$$$
3a622==0	
 	
 	
 	3a$$$ 	3000
31118A;$..00<<>>>>>Qx{ **,,88:::::8A;$..00<<>>>>>>>r   c                     t          dgt          d          g          }t          |j                   t	          ddi          }t          |j        j                   d S )Nr  z2022-02-22 22:22:22r  r   )r   r   r   r&   r   r4   )ri   r(   ss      r   -test_plot_bar_axis_units_timestamp_conversionz@TestDataFramePlots.test_plot_bar_axis_units_timestamp_conversion  sg     E2334
 
 
 	"'"""C:!&*%%%%%r   c                    t           j                            ddd          t           j                            ddd          g}t          ddgt	          ddd          g          }t          |j        j                   t          d	 t          |j                                        
                                |d
          D                       sJ d S )Nr   z	([0, 1],)r   z	([1, 2],)r    both)closedr  c              3   p   K   | ]1\  }}|                                 |                                 k    V  2d S rw  r  r  s      r   r^  zFTestDataFramePlots.test_bar_plt_xaxis_intervalrange.<locals>.<genexpr>  r  r   Tr   )r   r  r  r   r   r   r&   r4   ra  r   r  )ri   r   r  s      r    test_bar_plt_xaxis_intervalrangez3TestDataFramePlots.test_bar_plt_xaxis_intervalrange  s     HMM!Q44chmmAq+6V6VWF!!Qv6667
 
 
 	!&*%%% 
 
AFJJLL88::HTRRR
 
 
 
 
 	
 	
 
 	
 	
r   N)/rt   ru   rv   r#   rw   rx   r   r   slowr   r   rb   r   r   r   r   r   r   r   r   r   r   filterwarningsr  r
  r  r  r   r-  r3  r5  r7  r?  rD  rJ  rO  rb  rp  r|  r  r  r  r  r  r  r  r  rM   r   r   rz   rz      sD       [[5$-88N N 98N0 [[5$-88N N 98N0 [X X X
 [[-444	
  [I..q11AA"EE..q11AA"EE..q11AA"EE EBJ	  
	
 
 
   ,
 [[I..q11AA"EE..q11AA"EE..q11AA"EE EBJ	  
	
 V V  V [2 2 2 [[	*,T,T,TU V V	  
V [
V 
V 
V [9 9 9 [2 2 2 [ FGG9 9 HG92P P P
 [	*,T,T,TU O O	 OJ J J2 2 26 6 6
H 
H 
H
4 
4 
4
1 
1 
1	. 	. 	.	 	 	     ! ! !; ; ; M M M" [VeV_55S S 65S"
 
 
"
 
 
 * * *2* * *2# # #".? .? .?`
& 
& 
&
 
 
 
 
r   rz   c                  j    t           j                            d                              ddd          S )NrC   r   d   rB   )rb   r   r   integersrM   r   r   df_bar_datar    s*    9  ##,,QQ777r   c                 X    t          | | d d d         | d         | d         d          }|S )Nr   r   r   r   r   D)r   )r  	df_bar_dfs     r   r  r    sB    TTrT"QR		
 	
 I r   c                     g }t          t          |                    D ]k}t          j         fd||                             t
          j                  D                       }|                    t          |g d                     l|S )Nc                     g | ]S}|                                 v |                                |                                |                                 fTS rM   )
get_heightget_xget_y)r   r2   r  s     r   r   z3_df_bar_xyheight_from_ax_helper.<locals>.<listcomp>  sU       <<>>[00 AGGIIq||~~6000r   )x_coordy_coordheight)r   r,  )	r   r=   rb   arrayfindobjrN   	Rectangleappendr   )r  rL   subplot_divisionsubplot_data_df_listisubplot_datas   `     r   _df_bar_xyheight_from_ax_helperr    s     3'(()) 

 

x   As}55  
 
 	##<1Q1Q1QRRR	
 	
 	
 	
  r   c                      fdt          t          |                    D             }t          |          dk    r|j        d d |d         f         }n%|j        d d |f                             d          }t          t          |                    D ]}||         }|dk    rB|d         dk                                    sJ |d                             |d                   }n||d         z   }|dz   t          |          k    rt          j        ||dd           ||dz            d         }	t          j        ||	dd           d S )	Nc                     g | ]F}j         t                    |z  t                    |d z   z                                           GS r   )ilocr=   reset_index)r   r  r  subplot_data_dfs     r   r   z+_df_bar_subplot_checker.<locals>.<listcomp>  sb            	q 3{#3#3q1u#==	

+--     r   r   r   r"  r  r  F)check_namescheck_dtype)r   r=   locsumra  addre   assert_series_equal)
r  r  r  subplot_columnssubplot_sliced_by_sourceexpected_total_heightr  	sliced_dfheight_iternext_start_coords
   ` `       r   _df_bar_subplot_checkerr    s             s?++,,	      ?q   )aaa1C.C D )aaa.@ A E E1 E M M3''((  ,Q/	66i(A-2244444#I.229X3FGGKK%	((;;Kq5C(((("2SX    
  8A>yI"-5e    # r   columns_usedr   r   r   r  c                     ||         }|g}|                     |dd          }t          | ||          }t          t          |                    D ] }t	          | |||         ||                    !d S Nr4   TrO   r5   stackedr&   r  r   r=   r  r  r  r  df_bar_df_trimmedr  rL   r  r  s           r   #test_bar_1_subplot_1_double_stackedr    s    !,/$~			)9t		T	TB:R)  3+,,-- 
 
*,@,CEUVWEX	
 	
 	
 	

 
r   )r   r   r   )r   r   r   )r  r   r   c                    ||         }|d         |d         f|d         fg}|                     |dd          }t          | ||          }t          t          |                    D ] }t	          | |||         ||                    !d S )Nr   r   r    r4   Tr  r  r  s           r   #test_bar_2_subplot_1_double_stackedr  	  s     ",/%a,q/:\!_<NO			)9t		T	TB:R)  3+,,-- 
 
*,@,CEUVWEX	
 	
 	
 	

 
r   r  r   r   )r   r  )r   r  )r   r   )r   r   )r  r   )r   r  )r   r   c                     |                     |dd          }t          | ||          }t          t          |                    D ] }t	          | |||         ||                    !d S r  r  r  r  r  rL   r  r  s         r   #test_bar_2_subplot_2_double_stackedr    s     
!1t	L	LB:R)  3+,,-- 
 
$8$;=Ma=P	
 	
 	
 	

 
r   )r   r  r   )r   r   r  )r  r   r   c                     |                     |dd          }t          | ||          }t          t          |                    D ] }t	          | |||         ||                    !d S r  r  r  s         r   $test_bar_2_subplots_1_triple_stackedr  -  s    
 
!1t	L	LB:R)  3+,,-- 
 
$8$;=Ma=P	
 	
 	
 	

 
r   c                     g d}|                     ddd          }t          | ||          }t          t          |                    D ] }t	          | |||         ||                    !d S )Nr  Tr4   r  r  r  s         r   test_bar_subplots_stacking_boolr  <  s    333	E4	@	@B:R)  3+,,-- 
 
$8$;=Ma=P	
 	
 	
 	

 
r   c                  z    t          g dt          d                    } |                     ddg d           d S )N)r   rZ   rZ   rZ   )r  r  r  r  )rZ   r   r   rZ   rf  rg  Tr4   r  rO   r5   r%  r   r   r&   r'   s    r   !test_plot_bar_label_count_defaultr  H  sN    	>>>V
 
 
B GGT-A-A-AGBBBBBr   c                     t          g dt          d                    } t          j        d          }t	          j        t          |          5  |                     dgdg d	           d d d            d S # 1 swxY w Y   d S )
Nr  rf  rg  z?The number of titles (4) must equal the number of subplots (3).r!   r  r4   )zA&Br   r  zExtra Titler  )r   r   reescaper#   r$   r1  r&   )r(   error_regexs     r   'test_plot_bar_label_count_expected_failr	  O  s    	>>>V
 
 
B )I K 
z	5	5	5 
 

 \222 	 	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
s   A99A= A=c                  |    t          g dt          d                    } |                     dgdddg           d S )	Nr  rf  rg  )r   r   r  r4   zA&B&Dr   r  r  r'   s    r   *test_plot_bar_label_count_expected_successr  ^  sN    	>>>V
 
 
B GGo&U7C.GIIIIIr   )>__doc__rS   numpyrb   r#   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   r   r   r   r   r	   r
   r   pandas._testing_testingre   pandas.tests.plotting.commonr   r   r   r   r   r   r   rN   r   r  !pandas.plotting._matplotlib.styler   fixturer   skip_if_installedr)   r@   rw   rx   r9   
_all_kindsrc   reshaper   rV   rX   rz   r  r  r  r  r  r  r  r  r  r  r	  r  rM   r   r   <module>r     s   ( ( 				      ) ) ) ) ) ) ) ) )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                    f,''f-..V)) 				 A A A A A A ?i ? ? ? ? l##  $#  D !6!ABB
YYyry}},,Q2233VVEE!HH5E5EF  eeAhh
<+++\1--- 	 	   CB	H H H H H H H HB\
 \
 \
 \
 \
 \
 \
 \
~ 8 8 8 	i 	 	 	 	     &     H 3*sCj3*)MNN

 

 ON

 ___oooG 

 

 

 	Z 	Z 	Z 	Z 	 
 
 
 )O+<>OP 
 
	 
	
 	
 	
C C C
 
 
J J J J Jr   