
    *gqb                        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j8                  d      Z ej8                  d      Z ej8                  d      Zej@                  de
fd	       Z! ejD                  d      d
        Z#d Z$ejJ                  jM                  dejN                  jP                        ejJ                  jM                  d e
 ejR                  d      jU                  dd             e e+d            g      ejJ                  jM                  d e e+d             edd       edd      g      d                      Z, G d d      Z- G d d      Z.y)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                 *    t         | dddd            S )z*
    The iris dataset as a DataFrame.
    iodatacsvziris.csv)r   )datapaths    i/var/www/html/articles-backend/trend/venv/lib/python3.12/site-packages/pandas/tests/plotting/test_misc.pyirisr   "   s    
 HT65*=>>    c                      t        dddgi      } t        j                  t        d      5  | j	                          d d d        y # 1 sw Y   y xY w)NA      z#matplotlib is required for plottingmatch)r   pytestraisesImportErrorplot)dfs    r   test_import_error_messager&   *   sC     
C!Q=	!B	{*O	P 
	  s   AAc            	      X   t         j                  j                  j                  } d}t	        j
                  t        |      5   | dg g i        d d d        d}t	        j
                  t        |      5   | dt        t              dd gi        d d d         | 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 y # 1 sw Y   xY w# 1 sw Y   xY w)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   sM   >>&&55D
LC	y	, ;"2Br:; ;C	y	, Y"6#7vtnUWXY [U%7	Aq$ 8O88O85==fe_$$$2&!	Aq$ 99996>>v;"7; ;Y Ys   D4D D D)r2   r            index
2020-01-01periodsc                    t         j                         \  }}||_        i }| dv r-t        |t              rt        j                  |  d       ddd} |j                  d| |d| |j                  t        j                         y )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   sx     llnGCDJF++dF#KK4& :;<q!DII)4B)&)KK

r   c                   d    e Zd Zd Zej
                  j                  di ddig      d        Zd Zy)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        t        d
g       y # 1 sw Y   xY w)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IIb

+\26
 ''- 	923?23::F%c8B		9
 	R1	9 	9s   /BB'r+   lagr?   c                     ddl m} t        t        j                  dt        j
                        t        dd      d      }t        |fd	|i| y )
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~   sB    ,IIb

+\26

 	(939&9r   c                     ddl m} t        t        j                  dt        j
                        t        dd      d      }t        ||d	       y )
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   s<    2IIb

+\26

 	.2>r   N)	__name__
__module____qualname__ri   r!   markparametrizerm   rq   rJ   r   r   rU   rU   m   s:    2  [[XUAJ'78: 9:?r   rU   c                      e Zd Zej                  j                  dddg      d        Zej                  j                  dddg      d        Zej                  j                  d        Z	ej                  j                  ej                  j                  ddg d	g      ej                  j                  d
d e
ej                  j                  d      j                  d      ej                  j                  d      j                  d      ej                  j                  d      j                  d      dgdz  d      g      d                      Zej                  j                  ej                  j                  d
d e
ej                  j                  d      j                  d      ej                  j                  d      j                  d      ej                  j                  d      j                  d      dgdz  d      g      d               Zej                  j                  d        Zej                  j                  ej                  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                  j-                  d      d        Zd Zej                  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                  j                  d(d)d*g      d+        Z&d, Z'd- Z(d. Z)d/ Z*d0 Z+d1 Z,d2 Z-d3 Z.y4)5TestDataFramePlots	pass_axisFTc                    t        j                  d       t        j                  }d }|r#t        j
                  j                  dd      \  }}t        t        j                  j                  d      j                  d            }t        j                  t        d      5  t        ||d|      }d d d        d	   d	   j                   j#                         }g d
}t%        ||       t'        |dddd	       y # 1 sw Y   JxY w)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   s    G$!00JJ''1-EArryy,,Q/??IJ ''eL 	$!	D	 Awqz'';;=#<24AB11M	 	s   C88Dc                 $   t        j                  d       t        j                  }d }|r#t        j
                  j                  dd      \  }}t        t        j                  j                  d      j                  d            }|d   dz
  dz  |d<   t        j                  t        d      5  t        ||d	|
      }d d d        d   d   j                   j#                         }g d}t%        ||       t'        |dddd       y # 1 sw Y   JxY w)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   s    G$!00JJ''1-EArryy,,R0@@JKAa1 ''eL 	$!	D	 Awqz'';;=*<24AB11M	 	s   -DDc                     ddl m} |}t        j                  d       5  t	        ||d       d d d        y # 1 sw Y   y xY w)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''- 	MnBVL	M 	M 	M   6?
linecolors)z#556270z#4ECDC4z#C7F464)
dodgerblue
aquamarineseagreenr%   r   r   rX   r   r   BCr   c                     ddl m} t        |t              r|j	                  |      }t        ||d|      }t        |j                         d d ||d   d d        y )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b#((,B"6
 	LLN3BJ6
3B	
r   c                 T   ddl m} t        |t              r|j	                  |      }t        j                  dd|d   j                               D cg c]  }t        j                  |       }}t        ||d|      }t        |j                         d d ||d   d d        y c c}w )Nr   r   r   r   r   rX   r   )r`   r   rM   r   r   ra   linspacenuniquecmjetr   r   r   )rg   r   r%   r   ncmapsrI   s          r   test_andrews_curves_cmapz+TestDataFramePlots.test_andrews_curves_cmap   s      	3b#((,B$&KK1bj6H6H6J$KLqLL"6
 	bllnSb)eRZPSQS_U	 Ms   B%c                     ddl m} g d}t        g dg dg d|d      } ||d|      }|j                         \  }}t	        ||       y )	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  sH    2 YYYPVWXBf5113
g&1r   r   c                 |    ddl m} |}t        ||d|      }t        |j	                         d d ||d   d d        y )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  sF     	9 u
 	bllnSb)eRZPSQS_Ur   c                 .   ddl m} ddlm} |}t	        ||d|j
                        }t        j                  dd|d   j                               D cg c]  }|j                  |       }}t        |j                         d d ||d   d d        y c c}w )	Nr   r   r   r   r   r   colormapr   rX   r   )r   r   r`   r   r   r   ra   r   r   r   r   )rg   r   r   r   r%   rI   r   r   s           r   test_parallel_coordinates_cmapz1TestDataFramePlots.test_parallel_coordinates_cmap%  s    !8 "&&
 %'KK1bj6H6H6J$KLqLLbllnSb)eRZPSQS_U Ms   Bc                    ddl m} |}t        ||d      }t        |j	                               }t        |j
                  j                               }t        ||dd      }t        |j	                               ||z
  k(  sJ y )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  ss    832FSR\\^$bhh--/0 %
 2<<>"v'7888r   c                     ddl m} |}g d}t        g dg dg d|d      } ||d|      }|j                         \  }}t	        ||       y )	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  sM    8 YYYPVWX!"fF;113
g&1r   z$ignore:Attempting to set:UserWarningc                 B   ddl m} t        t        t	        d            t	        d      D cg c]  }d c}t	        d      D cg c]  }d c}z   t	        d      D cg c]  }d c}z   d      } ||d	d
      }|j                         \  }}t        |D cg c]  }|j                          c}|      }t        |d       }	t        t        |	dd       t        |	dd             }
|
D ]  \  }}|d   |d   k  r|d   |d   k  rJ  yc c}w c c}w c c}w c c}w )z
For #15908r   r      rX   r   r@   r   )featclassr   T)sort_labelsc                     | d   S )Nr   rJ   )r/   s    r   <lambda>zQTestDataFramePlots.test_parallel_coordinates_with_sorted_labels.<locals>.<lambda>`  s    aPQd r   )keyN)	r`   r   r   listranger   zip	get_colorsorted)rg   r   r   r%   rI   	polylinesr_   polyline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U2Y%*2Y/!/#Bi(1()#Bi(1()
 ""g4@88:	6 2;<hX!<f
 &,,>N%S"+Ab12D9STUTV9W4X
 * 	9ID#7SV#Q#a&(888	9 0(( =s   	D
	D	DDc                     ddl m} |}t        j                  d       5  t	        ||d       d d d        y # 1 sw Y   y xY w)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fBVD	E 	E 	Er   c                     ddl m} |}t        ||d|      }|j                  d d D cg c]  }|j	                         dk7  s| }}t        |d d ||d   d d        y c c}w )	Nr   r   r   r      r(   rX   
facecolorsr   )r`   r   r   patches	get_labelr   )rg   r   r   r   r%   rI   pr   s           r   test_radviz_colorz$TestDataFramePlots.test_radviz_colorp  sh    
 	+vRfER jj"oE"1D1EEgcrlubj"oN Fs   A A c                 v   ddl m} ddlm} |}t	        ||d|j
                        }t        j                  dd|d   j                               D cg c]  }|j                  |       }}|j                  d d D cg c]  }|j                         dk7  s| }	}t        |	||d   d d	 
       y c c}w c c}w )Nr   r   r   r   r   r   r   r(   rX   r   )r   r   r`   r   r   r   ra   r   r   r   r   r   )
rg   r   r   r   r%   rI   r   r   r   r   s
             r   test_radviz_color_cmapz)TestDataFramePlots.test_radviz_color_cmap}  s    !*vRfrvvV$&KK1bj6H6H6J$KLqLL jj"oE"1D1EEg%FCRI MEs   B1=B6B6c                     ddl m} g dg dg dg}t        g dg dg dg d	d
      } ||d|      }|j                         \  }}t	        ||       y )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  sU    *&(<>RS))_U
 Bf-113
g&1r   c                     |j                  dd      j                         }t        |j                        }|j	                  d|      }|D cg c]  }|j                          c}|k(  sJ y c c}w )Nr   r   axisTrL   titledropheadr   columnsr$   	get_title)rg   r   r%   r  r$   r   s         r   test_subplot_titlesz&TestDataFramePlots.test_subplot_titles  sa    YYvAY&++-RZZ  wwEw2'+,!,555,s   A.c                    |j                  dd      j                         }t        |j                        }d}t	        j
                  t        |      5  |j                  d|dgz          d d d        y # 1 sw Y   y xY w)	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  sw    YYvAY&++-RZZ ? 	 ]]:S1 	HGGT2E1F)FGG	H 	H 	Hs   A55A>c                     |j                  dd      j                         }t        |j                        }d}t	        j
                  t        |      5  |j                  d|d d        d d d        y # 1 sw Y   y xY w)	Nr   r   r
  r  r   Tr   r  r  r  s        r   test_subplot_titles_too_littlez1TestDataFramePlots.test_subplot_titles_too_little  sp    YYvAY&++-RZZ ? 	
 ]]:S1 	4GGTrG3	4 	4 	4s   A44A=c                     |j                  dd      j                         }t        |j                        }d}t	        j
                  t        |      5  |j                  d|       d d d        y # 1 sw Y   y xY w)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  sj    YYvAY&++-RZZ ( 	 ]]:S1 	1GGU%G0	1 	1 	1s   A11A:c                 4   |j                  dd      j                         }t        |j                        }|j                  dd      j	                  dd|d d       }|D cg c]  }|D ]  }|j                           }}}||d d	 d
gz   k(  sJ y c c}}w )Nr   r   r
  
SepalWidthTr   r   r   )rL   layoutr  r@   r(   r  )rg   r   r%   r  r$   sublistrI   
title_lists           r   )test_subplot_titles_numeric_square_layoutz<TestDataFramePlots.test_subplot_titles_numeric_square_layout  s    YYvAY&++-RZZ ww|!w,11&cr
 2 
 59K7KRbllnKnK
KU2AY"---- Ls   $Bc                 Z   t        t        j                  d            }t        j                  |d       t        j
                  j                  d       j                         }t        j                  |d       t        j
                  j                  d       j                         }||k7  sJ y )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}    rxx)* 	%%b!,		%%d+224%%b!,		%%d+224~~r   c                 F    ddl m}  |dd      } |dd      }||k(  sJ y )Nr   get_standard_colorsr   r   
color_type)!pandas.plotting._matplotlib.styler,  )rg   r,  color1color2s       r   $test_get_standard_colors_consistencyz7TestDataFramePlots.test_get_standard_colors_consistency  s.     	J$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 y )Nr   r+  r   defaultr-  	   r   )r/  r,  r:   )rg   r,  r0  r1  color3s        r   +test_get_standard_colors_default_num_colorsz>TestDataFramePlots.test_get_standard_colors_default_num_colors  sa    I %Q9=$Q9=$RI>6{a6{a6{b   r   c           	      :   t        g dg dg dg dg dg dd      }|j                  j                         j                  j	                         }|j                         dd	 D cg c]  }|j                          c}t        fd
D              sJ y c c}w )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   r:      )zaccount-startclientbalancezdb-idzproxy-idrankr   r@   c              3   .   K   | ]  }|d    k(    yw)r   NrJ   ).0r   r   s     r   	<genexpr>z<TestDataFramePlots.test_plot_single_color.<locals>.<genexpr>  s     :%5F1I%:s   )r   r=  value_countsr$   r1   get_childrenget_facecolorall)rg   r%   rI   rectr   s       @r   test_plot_single_colorz)TestDataFramePlots.test_plot_single_color  s    !KJ6*-%	
 YY##%**..035??3DQq3IJ4$$$&J:6:::: Ks   'Bc                 .   ddl m} ddlm} |j	                  t        d            } |d|      }t        |      t        |      k(  sJ t        t        j                  j                  d      j                  d      t        d	      
      }|j	                  t        j                  ddd            }|j                  j                  j!                  d|      }|j"                  d   j%                         |j"                  d   j%                         k(  sJ y )Nr   r   r+  r?   r   r   r   )0      ABCDr     )rN     )figsizer      )r   r   r/  r,  gnuplotr   r:   r   ra   r   r   r   r   r   r   r$   r1   r   rE  )rg   r   r,  color_beforecolor_afterr%   
color_listr   s           r   %test_get_standard_colors_no_appendingz8TestDataFramePlots.test_get_standard_colors_no_appending  s    
 	"Izz%(+)!<@;3|#4444II!!!$44W=tF|
 ZZAq" 56
DDIIMM'M<yy|))+qyy}/J/J/LLLLr   r2   r1   r.   c                    ddg}ddgt        t        j                  j                  d      j                  d      |      }ddd}|j	                  ||	      }|d
k(  r5|j                         ddd   D cg c]  }|j                         dd  }}n.|j                         dd D cg c]  }|j                          }}t        fdt        |      D              sJ y c c}w c c}w )Nar   )r  gQ?g333333?)g333333?ffffff?rY  r   r   rM  )r   rX  )r2   r   r1   r   r@   r   c              3   4   K   | ]  \  }}||   k(    y wNrJ   )rA  rA   r   r   s      r   rB  z;TestDataFramePlots.test_dictionary_color.<locals>.<genexpr>  s     Ru5HUO+Rs   )r   ra   r   r   r$   rD  rE  r   r   rF  	enumerate)	rg   r2   
data_filesdf1	dic_colorrI   rG  r   r   s	           @r   test_dictionary_colorz(TestDataFramePlots.test_dictionary_color  s     3Z
$o6		--a077?T)0@A	XX4yX15==?__=NqQRSTu=UVTd((*1R0VFV35<<>!A3FG4dnn&GFGR	&@QRRRR WGs   8C#*C(c                     ddl m}  |ddd       |ddd      g}t        dddgit        ddg            }|j                  j                         }t        d	 t        |j                         |      D              sJ y )
Nr   Textr   r   TotalrX  r   rA   c              3   d   K   | ](  \  }}|j                         |j                         k(   * y wr[  get_textrA  rX  r   s      r   rB  z3TestDataFramePlots.test_bar_plot.<locals>.<genexpr>/  -      
1 ZZ\QZZ\)
   .0)	matplotlib.textrc  r   r   r$   r1   rF  r   get_xticklabels)rg   rc  r   r%   plot_bars        r   test_bar_plotz TestDataFramePlots.test_bar_plot!  s     	)AsOT!Q%89aV G%	
 77;;= 
H446A
 
 	
 
r   c                     ddl m} t        ddddddg      }|j                  j	                  dd       } |ddd	       |ddd      g}t        d
 t        |j                         |      D              sJ y )Nr   rb  r   )wordvalue	knowledger   rq  )r/   legend1c              3   d   K   | ](  \  }}|j                         |j                         k(   * y wr[  rg  )rA  actualr   s      r   rB  zPTestDataFramePlots.test_barh_plot_labels_mixed_integer_string.<locals>.<genexpr><  s1      
  OO!2!2!44
rk  )rl  rc  r   r$   barhrF  r   get_yticklabels)rg   rc  r%   	plot_barhexpected_yticklabelss        r   *test_barh_plot_labels_mixed_integer_stringz=TestDataFramePlots.test_barh_plot_labels_mixed_integer_string4  s     	)Q/+PQ1RSTGGLL6$L7	 $Q3aK1HI 
$'))+-A%
 
 	
 
r   c                    t         j                  j                  j                  }t        j
                  j                         }|j                  dd      }|j                  d|d   d         |d   d<   |j                  d|d   d         |d   d<   |d   d   j                          |d   d   j                           ||d   d   d      sJ  ||d   d   d      rJ  ||d   d   d      sJ  ||d   d	   d      rJ y )
Nr   rK     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      ##))EEjj!Q" ooc%(1+o>aooc%(1+o>a 	aa E!HQK%%%aS)))E!HQK%%%aS))))r   c                    t         j                  j                  j                  }t        j
                  j                         }|j                  dd      }|j                  d|d   d         |d   d<   |j                  d|d   d         |d   d<   |d   d   j                          |d   d   j                           ||d   d   d      sJ  ||d   d   d      rJ  ||d   d   d      sJ  ||d	   d   d      rJ y )
NrK  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                 l   t         j                  j                  j                  }t        j
                  j                         }|j                  dd      }|j                  d|d   d         |d   d<   d}t        j                  t        |      5   ||d   d   d	       d d d        y # 1 sw Y   y xY w)
NrK  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Ejj!Q" ooc%(1+o>a 7]]:S1 	#q!c"	# 	# 	#s   B**B3c                     t        t        j                  j                  d      j	                  d      t        j                  j                  d      j	                  d      d      }t
        j                  j                         }|j                  dd      }|j                  d|d   d         |d   d<   |j                  d	|d   d         |d   d<   |d   d   j                         }|d   d   j                         }|d
   j                  |d   d   d      j                  d       |d
   j                  |d   d          |d
   j                  |d   d   d      j                  d       |d
   j                  |d   d          |d
   j                  |d   d   d      j                  d       |d
   j                  |d   d          |d   j                  |d       |d   j                  |d       |d   d   j                  j                         j                         rJ |d   d   j                  j                         j                         sJ |d   d   j                  j                         j                         rJ y )Nr   i  )rX  r   r@   r~  r   r   r  r  rX  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  sc    YY**1-==dCYY**1-==dC
 jj!Q" ooc%(1+o>aooc%(1+o>a 8A;$$&8A;$$& 	3a+@ALL0	
 	3a$
3a+GHSS1	
 	3a$
3a62==0	
 	3a$ 	30
318A;$$..0<<>>>Qx{  **,88:::8A;$$..0<<>>>>r   c                     t        dgt        d      g      }t        |j                         t	        ddi      }t        |j                  j
                         y )Nr  z2022-02-22 22:22:22re  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  sK     E234
 	"''"C:!&&**%r   c                 6   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
                  j                         j                         |      D              sJ y )Nr   rb  z	([0, 1],)r   z	([1, 2],)r   both)closedre  c              3   d   K   | ](  \  }}|j                         |j                         k(   * y wr[  rg  ri  s      r   rB  zFTestDataFramePlots.test_bar_plt_xaxis_intervalrange.<locals>.<genexpr>  rj  rk  )
rl  rc  r   r   r   r$   r1   rF  r   rm  )rg   rc  r   r  s       r    test_bar_plt_xaxis_intervalrangez3TestDataFramePlots.test_bar_plt_xaxis_intervalrange  s     	)A{+T!Q-DEF!!Qv67
 	!&&**% 
AFFJJL88:H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  r  r  r  r$  r)  r2  r7  rH  rV  r`  ro  r|  r  r  r  r  r  r  rJ   r   r   rx   rx      s   [[[5$-8N 9N0 [[[5$-8N 9N0 [[M M [[[[-4	
 [[..q1AA"E..q1AA"E..q1AA"E EBJ	
	


 ,

 [[[[..q1AA"E..q1AA"E..q1AA"E EBJ	
	
	V 	V [[2 2 [[[[	*,TUV	 
V [[V V [[9 9 [[2 2 [[ FG9 H92E [[	*,TUO	O	J	26
H
4
1	.	 	!; M* [[VeV_5S 6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!6!A!AB
Yyryy},,Q23VE!H5EF eAh<+\1-	 C	$? $?N|
 |
r   