
    bMhqb                     .   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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          Z- G d d          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returnc                 8    t           | dddd                    S )z*
    The iris dataset as a DataFrame.
    iodatacsvziris.csv)r   )datapaths    _/var/www/html/test/jupyter/venv/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)r0   kindgridr3   zpandas.plotting._matplotlib   )r
   _corePlotAccessor_get_call_argsr!   r"   	TypeErrorr   objectr   len)funcmsgr/   r0   r2   r+   s         r   test_get_accessor_argsr=   3   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-r2   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   )r/   r0   )r2   ax )pltsubplotsrA   
isinstancer   r!   skipr$   savefigosdevnull)r2   r   rA   figrI   r+   s         r   test_savefigrS   U   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   ddl m} t          t          j        dt          j                  t          dd          d          }t          j        d           5  t          ||	           t          ||j
        	            ||d
          }d d d            n# 1 swxY w Y   t          |d
g           d S )Nr   )autocorrelation_plot
   r,   rB   rC   tsrA   name)seriesTest)label)labels)pandas.plottingrW   r   nparangefloat64r   tmassert_produces_warningr   valuesr   )selfrW   serrI   s       r   test_autocorrelation_plotz)TestSeriesPlots.test_autocorrelation_plotn   s   888888Ib
+++\2666
 
 
 '-- 	9 	923????23:FFFF%%c888B		9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9
 	R111111s   5BB"Br+   lagr?   c                     ddl m} t          t          j        dt          j                  t          dd          d          }t          |fd	|i| d S )
Nr   )lag_plotrX   r,   rB   rC   rY   rZ   r\   )r`   rl   r   ra   rb   rc   r   r   )rg   r+   rl   rh   s       r   test_lag_plotzTestSeriesPlots.test_lag_plot~   sr    ,,,,,,Ib
+++\2666
 
 

 	(9939&99999r   c                     ddl m} t          t          j        dt          j                  t          dd          d          }t          ||d	           d S )
Nr   )bootstrap_plotrX   r,   rB   rC   rY   rZ   )r\   size)r`   ro   r   ra   rb   rc   r   r   )rg   ro   rh   s      r   test_bootstrap_plotz#TestSeriesPlots.test_bootstrap_plot   sl    222222Ib
+++\2666
 
 

 	.2>>>>>>r   N)	__name__
__module____qualname__ri   r!   markparametrizerm   rq   rJ   r   r   rU   rU   m   si        2 2 2  [XUAJ'788: : 98:? ? ? ? ?r   rU   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scipyr@   r   d   r@   Fcheck_stacklevel皙?framerange_paddingrI   r   )z-202   Z   
xlabelsizexrot
ylabelsizeyrotr!   importorskipr
   scatter_matrixmplpyplotrL   r   ra   randomdefault_rngstandard_normalrd   re   UserWarningr   yaxisget_majorticklabelsr   r   	rg   ry   r   rI   _r%   axesaxes0_labelsexpecteds	            r   test_scatter_matrix_axisz+TestDataFramePlots.test_scatter_matrix_axis   sS   G$$$!0 	.J''1--EArry,,Q//??IIJJ '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{   r@      r|   r   r   Fr~   r   r   )z-1.0z-0.5z0.0r   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@@JJKKAa1 'eLLL 	 	$!	  D	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 Awqz';;==***<2224AB11MMMMMMs   3CCCc                     ddl m} |}t          j        d           5  t	          ||d           d d d            d S # 1 swxY w Y   d S )Nr   andrews_curvesNamer   class_column)r`   r   rd   re   r   )rg   r   r   r%   s       r   test_andrews_curves_no_warningz1TestDataFramePlots.test_andrews_curves_no_warning   s    222222'-- 	M 	MnBVLLLL	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M   =AA
linecolors)z#556270z#4ECDC4z#C7F464)
dodgerblue
aquamarineseagreenr%   r   r   rX   r   r   BCr   c                     ddl m} t          |t                    r|                    |          }t          ||d|          }t          |                                d d         ||d         d d                    d S )Nr   r   r   r   r   colorrX   r   mapping)r`   r   rM   strgetfixturevaluer   r   	get_lines)rg   requestr%   r   r   rI   s         r   test_andrews_curves_linecolorsz1TestDataFramePlots.test_andrews_curves_linecolors   s    . 	322222b# 	-((,,B"6
 
 
 	LLNN3B3J6
3B3	
 	
 	
 	
 	
 	
r   c                 p   ddl m} t          |t                    r|                    |          }d t          j        dd|d                                                   D             }t          ||d|          }t          |
                                d d         ||d         d d                    d S )	Nr   r   c                 B    g | ]}t                               |          S rJ   )cmjet).0ns     r   
<listcomp>z?TestDataFramePlots.test_andrews_curves_cmap.<locals>.<listcomp>  s"    LLLqLLLr   r   r   r   rX   r   )r`   r   rM   r   r   ra   linspacenuniquer   r   r   )rg   r   r%   r   cmapsrI   s         r   test_andrews_curves_cmapz+TestDataFramePlots.test_andrews_curves_cmap   s      	322222b# 	-((,,BLLBK1bj6H6H6J6J$K$KLLL"6
 
 
 	bllnnSbS)eRZPSQSPS_UUUUUUr   c                     ddl m} g d}t          g dg dg d|d          } ||d|          }|                                \  }}t	          ||           d S )	Nr   r   bgrr   r   r@   r   r   r   r   )r`   r   r   get_legend_handles_labelsr   )rg   r   colorsr%   rI   handlesr   s          r   test_andrews_curves_handlez-TestDataFramePlots.test_andrews_curves_handle  s    222222 YYYYYYYYYPVWWXX^Bf5551133
g&111111r   r   c                     ddl m} |}t          ||d|          }t          |                                d d         ||d         d d                    d S )Nr   parallel_coordinatesr   r   rX   r   )r`   r   r   r   r   )rg   r   r   r   r%   rI   s         r    test_parallel_coordinates_colorsz3TestDataFramePlots.test_parallel_coordinates_colors  su     	988888 u
 
 
 	bllnnSbS)eRZPSQSPS_UUUUUUr   c                 <   ddl m ddlm} |}t	          ||dj                  }fdt          j        dd|d                                                   D             }t          |
                                d d         ||d         d d         	           d S )
Nr   r   r   r   r   r   colormapc                 :    g | ]}                     |          S rJ   r   r   r   r   s     r   r   zETestDataFramePlots.test_parallel_coordinates_cmap.<locals>.<listcomp>0  #    LLLqLLLr   r   rX   r   )r   r   r`   r   r   r   ra   r   r   r   r   )rg   r   r   r%   rI   r   r   s         @r   test_parallel_coordinates_cmapz1TestDataFramePlots.test_parallel_coordinates_cmap%  s    !!!!!!888888 "&
 
 
 MLLLBK1bj6H6H6J6J$K$KLLLbllnnSbS)eRZPSQSPS_UUUUUUr   c                 B   ddl m} |}t          ||d          }t          |                                          }t          |j                                                  }t          ||dd          }t          |                                          ||z
  k    sJ d S )Nr   r   r   r   F)r   r   axvlines)r`   r   r   r:   r   xaxisget_ticklabels)rg   r   r   r%   rI   nlinesnxtickss          r   #test_parallel_coordinates_line_diffz6TestDataFramePlots.test_parallel_coordinates_line_diff3  s    88888832FSSSR\\^^$$bh--//00 %
 
 
 2<<>>""v'7888888r   c                     ddl m} |}g d}t          g dg dg d|d          } ||d|          }|                                \  }}t	          ||           d S )	Nr   r   r   r   r   r   r   r   )r`   r   r   r   r   )rg   r   r   r%   r   rI   r   r   s           r   !test_parallel_coordinates_handlesz4TestDataFramePlots.test_parallel_coordinates_handlesB  s    888888 YYYYYYYYYPVWWXX!!"fF;;;1133
g&111111r   z$ignore:Attempting to set:UserWarningc                 r   ddl m} t          t          t	          d                    d t	          d          D             d t	          d          D             z   d t	          d          D             z   d          } ||d	d
          }|                                \  }}t          d |D             |          }t          |d           }t          t          |dd                   t          |dd                             }|D ]+\  }	}
|	d         |
d         k     r|	d         |
d         k     sJ ,dS )z
For #15908r   r      c                     g | ]}d S )r   rJ   r   r   s     r   r   zSTestDataFramePlots.test_parallel_coordinates_with_sorted_labels.<locals>.<listcomp>V  s    ///!///r   rX   c                     g | ]}d S )r@   rJ   r   s     r   r   zSTestDataFramePlots.test_parallel_coordinates_with_sorted_labels.<locals>.<listcomp>W      (((1(((r   c                     g | ]}d S )r   rJ   r   s     r   r   zSTestDataFramePlots.test_parallel_coordinates_with_sorted_labels.<locals>.<listcomp>X  r   r   )featclassr   T)sort_labelsc                 6    g | ]}|                                 S rJ   	get_color)r   polylines     r   r   zSTestDataFramePlots.test_parallel_coordinates_with_sorted_labels.<locals>.<listcomp>^  s$    <<<hX!!<<<r   c                     | d         S )Nr   rJ   )r/   s    r   <lambda>zQTestDataFramePlots.test_parallel_coordinates_with_sorted_labels.<locals>.<lambda>`  s    aPQd r   )keyr   N)r`   r   r   listranger   zipsorted)rg   r   r%   rI   	polylinesr_   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_labelsN  s    	988888U2YY//U2YY///((eBii((()((eBii((() 
 
 "!"g4@@@88::	6 <<)<<<f
 
 &,,>NN%S%S%S"+AbD122D9STUTVTV9W4X4X
 
 * 	9 	9ID#7SV##Q#a&(8(8(8(8(8	9 	9r   c                     ddl m} |}t          j        d           5  t	          ||d           d d d            d S # 1 swxY w Y   d S )Nr   radvizr   r   )r`   r  rd   re   r   )rg   r   r  r%   s       r   test_radviz_no_warningz)TestDataFramePlots.test_radviz_no_warningh  s    ******'-- 	E 	EfBVDDDD	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	E 	Er   c                     ddl m} |}t          ||d|          }d |j        d d         D             }t	          |d d         ||d         d d                    d S )	Nr   r  r   r   c                 B    g | ]}|                                 d k    |S r(   	get_labelr   ps     r   r   z8TestDataFramePlots.test_radviz_color.<locals>.<listcomp>z  *    EEE"1D1D11D1D1Dr      rX   
facecolorsr   )r`   r  r   patchesr   )rg   r   r   r  r%   rI   r  s          r   test_radviz_colorz$TestDataFramePlots.test_radviz_colorp  s}    
 	+*****vRfERRREEbj"oEEEgcrclubj"oNNNNNNr   c                 :   ddl m ddlm} |}t	          ||dj                  }fdt          j        dd|d                                                   D             }d |j	        d d	         D             }t          |||d         d d
                    d S )Nr   r   r  r   r   c                 :    g | ]}                     |          S rJ   r   r   s     r   r   z=TestDataFramePlots.test_radviz_color_cmap.<locals>.<listcomp>  r   r   r   c                 B    g | ]}|                                 d k    |S r
  r  r  s     r   r   z=TestDataFramePlots.test_radviz_color_cmap.<locals>.<listcomp>  r  r   r  rX   r  )r   r   r`   r  r   r   ra   r   r   r  r   )rg   r   r  r%   rI   r   r  r   s          @r   test_radviz_color_cmapz)TestDataFramePlots.test_radviz_color_cmap}  s    !!!!!!******vRfrvVVVLLLLBK1bj6H6H6J6J$K$KLLLEEbj"oEEEg%FCRCIIIIIIr   c                     ddl m} g dg dg dg}t          g dg dg dg d	d
          } ||d|          }|                                \  }}t	          ||           d S )Nr   r  )        r        ?r  )r        ?r  r  )r  r  r  r  r   )r   r   r@   )r@   r   r   r   r   r   r   )r  )r`   r  r   r   r   )rg   r  r   r%   rI   r   r   s          r   test_radviz_colors_handlesz-TestDataFramePlots.test_radviz_colors_handles  s    ******&&&(<(<(<>R>R>RS))))))))___UU
 
 VBf---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rL   titlec                 6    g | ]}|                                 S rJ   	get_titler  s     r   r   z:TestDataFramePlots.test_subplot_titles.<locals>.<listcomp>  s     ,,,!,,,r   dropheadr   columnsr$   )rg   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|dgz              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$   rg   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2E1F)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!  r-  r/  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!  r-  r/  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             }||d d
         dgz   k    sJ d S )Nr   r   r  
SepalWidthTr   r   r   )rL   layoutr"  c                 @    g | ]}|D ]}|                                 S rJ   r$  )r   sublistrI   s      r   r   zPTestDataFramePlots.test_subplot_titles_numeric_square_layout.<locals>.<listcomp>  s-    KKK7KKRbllnnKKKKr   r@   r(   r&  )rg   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
U2A2Y"-------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)rX   rX   r   )r   ra   zerosr
   r   r   r   )rg   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                 V    ddl m}  |dd          } |dd          }||k    sJ d S )Nr   get_standard_colorsr   r   
color_type)!pandas.plotting._matplotlib.stylerD  )rg   rD  color1color2s       r   $test_get_standard_colors_consistencyz7TestDataFramePlots.test_get_standard_colors_consistency  sX     	JIIIII$$Q8<<<$$Q8<<<r   c                     ddl m}  |dd          } |dd          } |dd          }t          |          dk    sJ t          |          dk    sJ t          |          dk    sJ d S )Nr   rC  r   defaultrE  	   r  )rG  rD  r:   )rg   rD  rH  rI  color3s        r   +test_get_standard_colors_default_num_colorsz>TestDataFramePlots.test_get_standard_colors_default_num_colors  s    IIIIII %$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 rJ   get_facecolorr   rects     r   r   z=TestDataFramePlots.test_plot_single_color.<locals>.<listcomp>  s$    JJJ4$$$&&JJJr   r   r@   c              3   0   K   | ]}|d          k    V  dS )r   NrJ   )r   r   r   s     r   	<genexpr>z<TestDataFramePlots.test_plot_single_color.<locals>.<genexpr>  s,      ::%5F1I%::::::r   )r   rU  value_countsr$   r1   get_childrenall)rg   r%   rI   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   ddl m} ddlm} |                    t          d                    } |d|          }t          |          t          |          k    sJ t          t          j	        
                    d                              d          t          d	          
          }|                    t          j        ddd                    }|j        j                            d|          }|j        d                                         |j        d                                         k    sJ d S )Nr   r   rC  r?   r   r   r   )0      ABCDr)     )rh     )figsizer      )r   r   rG  rD  gnuplotr   r:   r   ra   r   r   r   r   r   r   r$   r1   r  rZ  )rg   r   rD  color_beforecolor_afterr%   
color_listr  s           r   %test_get_standard_colors_no_appendingz8TestDataFramePlots.test_get_standard_colors_no_appending  s'   
 	"!!!!!IIIIIIzz%((++))!<@@@;3|#4#44444I!!!$$44W==tF||
 
 
 ZZAq" 5 566
DIMM'M<<y|))++qy}/J/J/L/LLLLLLLr   r2   r1   r.   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   r7  rg  )r   rr  )r2   r   r1   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   r@   c                 6    g | ]}|                                 S rJ   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 NrJ   )r   rA   r   r   s      r   r^  z;TestDataFramePlots.test_dictionary_color.<locals>.<genexpr>  s0      RRu5HUO+RRRRRRr   )	r   ra   r   r   r$   r`  r   ra  	enumerate)rg   r2   
data_filesdf1	dic_colorrI   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                 6   ddl m}  |ddd           |ddd          g}t          dddgit          ddg                    }|j                                        }t          d	 t          |                                |          D                       sJ d S )
Nr   Textr   r   Totalrr  r   rA   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   )	matplotlib.textr  r   r   r$   r1   ra  r   get_xticklabels)rg   r  r   r%   plot_bars        r   test_bar_plotz TestDataFramePlots.test_bar_plot!  s     	)(((((DAsOOTT!Q%8%89aV G%%	
 
 
 7;;== 
 
H4466AA
 
 
 
 
 	
 	
 	
 	
 	
r   c                 "   ddl m} t          ddddddg          }|j                            dd           } |ddd	           |ddd          g}t          d
 t          |                                |          D                       sJ d S )Nr   r~  r   )wordvalue	knowledger   r  )r/   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   )r  r  r   r$   barhra  r   get_yticklabels)rg   r  r%   	plot_barhexpected_yticklabelss        r   *test_barh_plot_labels_mixed_integer_stringz=TestDataFramePlots.test_barh_plot_labels_mixed_integer_string4  s     	)(((((Q//+PQ1R1RSTTGLL6$L77	 $Q3aK1H1HI 
 
$'))++-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   r/   r@   )
r
   _matplotlibtools_has_externally_shared_axisr   r   figurerL   add_subplottwinxrg   r;   rR   plotss       r   &test_has_externally_shared_axis_x_axisz9TestDataFramePlots.test_has_externally_shared_axis_x_axisC  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  r0   r@   )
r
   r  r  r  r   r   r  rL   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  rL   r  r!   r"   r.  )rg   r;   rR   r  r<   s        r   4test_has_externally_shared_axis_invalid_compare_axiszGTestDataFramePlots.test_has_externally_shared_axis_invalid_compare_axisu  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   i  )rr  r   r@   r  r   r   r  r  rr  zExternal share only)rI   r"  z"this label should never be visible)rI   zInternal share (twin) onlyz#this label should always be visibleBothr   green)rI   r   yellow)r   ra   r   r   r   r   r   r  rL   r  r  r$   
set_xlabelr   r  get_visible)rg   r%   rR   r  twin_ax1twin_ax2s         r   test_externally_shared_axesz.TestDataFramePlots.test_externally_shared_axes  s    Y**1--==dCCY**1--==dCC 
 
 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   r1   )rg   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                 d   ddl m}  |ddd           |ddd          g}t          ddgt          ddd          g	          }t	          |j        j                   t          d
 t          |j                                        	                                |          D                       sJ d S )Nr   r~  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   )
r  r  r   r   r   r$   r1   ra  r   r  )rg   r  r   r  s       r    test_bar_plt_xaxis_intervalrangez3TestDataFramePlots.test_bar_plt_xaxis_intervalrange  s     	)(((((DA{++TT!Q-D-DEF!!Qv6667
 
 
 	!&*%%% 
 
AFJJLL88::HEE
 
 
 
 
 	
 	
 	
 	
 	
r   N)/rr   rs   rt   r!   ru   rv   r   r   slowr   r   ra   r   r   r   r   r   r   r   r   r   r   filterwarningsr  r  r  r  r  r*  r0  r2  r4  r<  rA  rJ  rO  rb  rp  r|  r  r  r  r  r  r  r  r  rJ   r   r   rx   rx      sD       [[5$-88N N 98N0 [[5$-88N N 98N0 [M M M [[-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E E E [	*,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   rx   )/__doc__rP   numpyra   r!   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   r   r   r   r   r	   r
   r   pandas._testing_testingrd   pandas.tests.plotting.commonr   r   r   r   r   r   r   rK   r   fixturer   skip_if_installedr&   r=   ru   rv   r6   
_all_kindsrb   reshaper   rS   rU   rx   rJ   r   r   <module>r     s    * * 				      ) ) ) ) ) ) ) ) )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                    f,''f-..V)) ?i ? ? ? ? l##  $#  D !6!ABB
YYyry}},,Q2233VVEE!HH5E5EF  eeAhh
<+++\1--- 	 	   CB	$? $? $? $? $? $? $? $?N|
 |
 |
 |
 |
 |
 |
 |
 |
 |
r   