o
    Û­jqb  ã                   @   s`  d Z ddlZddlZddlZddlm  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 d¡Ze d¡Ze d¡Zej de
fd	d
„ƒZ!e "d¡dd„ ƒZ#dd„ Z$ej% &dej'j(¡ej% &de
e )d¡ *dd¡ƒee+dƒƒg¡ej% &dee+dƒƒeddd�eddd�g¡dd„ ƒƒƒZ,G dd„ dƒZ-G d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                 C   s   t | ddddƒƒS )z*
    The iris dataset as a DataFrame.
    ÚioÚdataÚcsvziris.csv)r
   )Údatapath© r   ú\/var/www/html/CropPilot/venv/lib/python3.10/site-packages/pandas/tests/plotting/test_misc.pyÚiris"   s   r   c                  C   sL   t dddgiƒ} tjtdd�� |  ¡  W d   ƒ d S 1 sw   Y  d S )NÚAé   é   z#matplotlib is required for plotting©Úmatch)r   ÚpytestÚraisesÚImportErrorÚplot)Údfr   r   r   Útest_import_error_message*   s   
"ÿr#   c                  C   sF  t jjj} d}tjt|d�� | dg g i d� W d   ƒ n1 s!w   Y  d}tjt|d�� | dttd�dd gi d� W d   ƒ n1 sGw   Y  | dt	ƒ dgd	d
ddœd�\}}}}|dksdJ ‚|d	ksjJ ‚|d
kspJ ‚|ddiksxJ ‚| dttd�g i d�\}}}}|d u s�J ‚|d u s“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)r,   ÚkindÚgridr/   zpandas.plotting._matplotlibé   )r	   Ú_coreÚPlotAccessorÚ_get_call_argsr   r   Ú	TypeErrorr   Úobjectr   Úlen)ÚfuncÚmsgr+   r,   r.   r'   r   r   r   Útest_get_accessor_args3   s:   
ÿÿ
üür9   r.   r   é   é   é   Úindexú
2020-01-01©Úperiodsc                 C   sh   t  ¡ \}}||_i }| dv r!t|tƒrt | › d�¡ dddœ}|jd| |dœ|¤Ž | t	j
¡ d S )N)ÚhexbinÚscatterÚpiez not supported with Seriesr   r   )r+   r,   )r.   Úaxr   )ÚpltÚsubplotsr=   Ú
isinstancer   r   Úskipr!   ÚsavefigÚosÚdevnull)r.   r   r=   ÚfigrD   r'   r   r   r   Útest_savefigU   s   

rM   c                   @   s:   e Zd Zdd„ Zej di ddig¡dd„ ƒZdd	„ Zd
S )ÚTestSeriesPlotsc                 C   s�   ddl m} ttjdtjd�tddd�dd�}t d ¡� t	||d	� t	||j
d	� ||d
d�}W d   ƒ n1 s:w   Y  t|d
gd� d S )Nr   )Úautocorrelation_ploté
   r(   r>   r?   Úts©r=   Úname)ÚseriesÚTest)Úlabel)Úlabels)Úpandas.plottingrO   r   ÚnpÚarangeÚfloat64r   ÚtmÚassert_produces_warningr   Úvaluesr   )ÚselfrO   ÚserrD   r   r   r   Útest_autocorrelation_plotn   s   
ýüz)TestSeriesPlots.test_autocorrelation_plotr'   Úlagr;   c                 C   sF   ddl m} ttjdtjd�tddd�dd�}t|fd	|i|¤Ž d S )
Nr   )Úlag_plotrP   r(   r>   r?   rQ   rR   rT   )rX   rc   r   rY   rZ   r[   r   r   )r_   r'   rc   r`   r   r   r   Útest_lag_plot~   s   
ýzTestSeriesPlots.test_lag_plotc                 C   s@   ddl m} ttjdtjd�tddd�dd�}t||dd	� d S )
Nr   )Úbootstrap_plotrP   r(   r>   r?   rQ   rR   )rT   Úsize)rX   re   r   rY   rZ   r[   r   r   )r_   re   r`   r   r   r   Útest_bootstrap_plot‰   s   
ýz#TestSeriesPlots.test_bootstrap_plotN)	Ú__name__Ú
__module__Ú__qualname__ra   r   ÚmarkÚparametrizerd   rg   r   r   r   r   rN   m   s
    

rN   c                   @   s€  e Zd Zej dddg¡dd„ ƒZej dddg¡dd„ ƒZejjd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 dœƒg¡d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 dœƒg¡dd„ ƒƒZejjdd„ ƒZejjej ddg d¢g¡dd„ ƒƒZejjdd„ ƒZejjdd„ ƒZejjd d!„ ƒZej d"¡d#d$„ ƒZd%d&„ Zej ddg d¢g¡d'd(„ ƒZd)d*„ Zd+d,„ Zd-d.„ Zd/d0„ Zd1d2„ Zd3d4„ Zd5d6„ Z d7d8„ Z!d9d:„ Z"d;d<„ Z#d=d>„ Z$d?d@„ Z%ej dAdBdCg¡dDdE„ ƒZ&dFdG„ Z'dHdI„ Z(dJdK„ Z)dLdM„ Z*dNdO„ Z+dPdQ„ Z,dRdS„ Z-dTdU„ Z.dVS )WÚTestDataFramePlotsÚ	pass_axisFTc           	      C   s¸   t  d¡ tj}d }|rtj dd¡\}}ttj	 
d¡ d¡ƒ}tjtdd�� t||d|d�}W d   ƒ n1 s:w   Y  |d	 d	 j ¡ }g d
¢}t||ƒ t|dddd	d� d S )NÚscipyr<   r   ©éd   r<   F©Úcheck_stacklevelçš™™™™™¹?©ÚframeÚrange_paddingrD   r   )z-2Ú0Ú2é   éZ   ©Ú
xlabelsizeÚxrotÚ
ylabelsizeÚyrot©r   Úimportorskipr	   Úscatter_matrixÚmplÚpyplotrF   r   rY   ÚrandomÚdefault_rngÚstandard_normalr\   r]   ÚUserWarningr   ÚyaxisÚget_majorticklabelsr   r   ©	r_   rn   rƒ   rD   Ú_r"   ÚaxesÚaxes0_labelsÚexpectedr   r   r   Útest_scatter_matrix_axis•   s$   
üÿ
z+TestDataFramePlots.test_scatter_matrix_axisc           	      C   sÌ   t  d¡ tj}d }|rtj dd¡\}}ttj	 
d¡ d¡ƒ}|d d d |d< tjtdd�� t||d	|d
�}W d   ƒ n1 sDw   Y  |d d j ¡ }g d¢}t||ƒ t|ddddd� d S )Nro   r<   é   rp   r   r   Frr   rt   ru   )z-1.0z-0.5z0.0rz   r{   r|   r�   rŒ   r   r   r   Ú test_scatter_matrix_axis_smaller®   s&   
üÿ
z3TestDataFramePlots.test_scatter_matrix_axis_smallerc                 C   óN   ddl m} |}t d ¡� t||dd� W d   ƒ d S 1 s w   Y  d S )Nr   ©Úandrews_curvesÚName©rv   Úclass_column)rX   r–   r\   r]   r   )r_   r   r–   r"   r   r   r   Útest_andrews_curves_no_warningÇ   s
   "ÿz1TestDataFramePlots.test_andrews_curves_no_warningÚ
linecolors)z#556270z#4ECDC4z#C7F464)Ú
dodgerblueÚ
aquamarineÚseagreenr"   r   r   rP   r   ©r   ÚBÚCr—   c                 C   sZ   ddl m} t|tƒr| |¡}t||d|d�}t| ¡ d d… ||d d d… d� d S )Nr   r•   r—   ©rv   r™   ÚcolorrP   ©r›   Úmapping)rX   r–   rG   ÚstrÚgetfixturevaluer   r   Ú	get_lines)r_   Úrequestr"   r›   r–   rD   r   r   r   Útest_andrews_curves_linecolorsÐ   s   

ÿ
ÿz1TestDataFramePlots.test_andrews_curves_linecolorsc                 C   sz   ddl m} t|tƒr| |¡}dd„ t dd|d  ¡ ¡D ƒ}t||d|d�}t	| 
¡ d d… ||d d d… d	� d S )
Nr   r•   c                 S   s   g | ]}t  |¡‘qS r   )ÚcmÚjet©Ú.0Únr   r   r   Ú
<listcomp>  ó    z?TestDataFramePlots.test_andrews_curves_cmap.<locals>.<listcomp>r   r—   r¢   rP   r¤   )rX   r–   rG   r¦   r§   rY   ÚlinspaceÚnuniquer   r   r¨   )r_   r©   r"   r–   ÚcmapsrD   r   r   r   Útest_andrews_curves_cmapò   s   

 ÿ*z+TestDataFramePlots.test_andrews_curves_cmapc                 C   s\   ddl m} g d¢}tg d¢g d¢g d¢|dœƒ}||d|d�}| ¡ \}}t||d� d S )	Nr   r•   ©ÚbÚgÚr©r   r   r<   rŸ   r—   ©r£   ©r›   )rX   r–   r   Úget_legend_handles_labelsr   )r_   r–   Úcolorsr"   rD   Úhandlesr�   r   r   r   Útest_andrews_curves_handle  s   z-TestDataFramePlots.test_andrews_curves_handler£   c                 C   sJ   ddl m} |}t||d|d�}t| ¡ d d… ||d d d… d� d S )Nr   ©Úparallel_coordinatesr—   r¢   rP   r¤   )rX   rÂ   r   r   r¨   )r_   r   r£   rÂ   r"   rD   r   r   r   Ú test_parallel_coordinates_colors  s   ÿ*z3TestDataFramePlots.test_parallel_coordinates_colorsc                    s|   ddl m‰  ddlm} |}t||dˆ jd�}‡ fdd„t dd|d  ¡ ¡D ƒ}t	| 
¡ d d	… ||d d d	… d
� d S )Nr   ©r«   rÁ   r—   ©rv   r™   Úcolormapc                    ó   g | ]}ˆ   |¡‘qS r   ©r¬   r­   rÄ   r   r   r°   0  r±   zETestDataFramePlots.test_parallel_coordinates_cmap.<locals>.<listcomp>r   rP   r¤   )r   r«   rX   rÂ   r   r¬   rY   r²   r³   r   r¨   )r_   r   rÂ   r"   rD   r´   r   rÄ   r   Útest_parallel_coordinates_cmap%  s   
ÿ$*z1TestDataFramePlots.test_parallel_coordinates_cmapc                 C   sd   ddl m} |}t||dd�}t| ¡ ƒ}t|j ¡ ƒ}t||ddd�}t| ¡ ƒ|| ks0J ‚d S )Nr   rÁ   r—   r˜   F)rv   r™   Úaxvlines)rX   rÂ   r   r6   r¨   ÚxaxisÚget_ticklabels)r_   r   rÂ   r"   rD   ÚnlinesÚnxticksr   r   r   Ú#test_parallel_coordinates_line_diff3  s   ÿz6TestDataFramePlots.test_parallel_coordinates_line_diffc                 C   s`   ddl m} |}g d¢}tg d¢g d¢g d¢|dœƒ}||d|d�}| ¡ \}}t||d� d S )	Nr   rÁ   r¶   rº   rŸ   r—   r»   r¼   )rX   rÂ   r   r½   r   )r_   r   rÂ   r"   r¾   rD   r¿   r�   r   r   r   Ú!test_parallel_coordinates_handlesB  s   z4TestDataFramePlots.test_parallel_coordinates_handlesz$ignore:Attempting to set:UserWarningc                 C   sê   ddl m} tttdƒƒdd„ tdƒD ƒdd„ tdƒD ƒ dd„ tdƒD ƒ d	œƒ}||d
dd�}| ¡ \}}tdd„ |D ƒ|ƒ}t|dd„ d�}tt|dd… ƒt|dd… ƒƒ}|D ]\}	}
|	d |
d k rp|	d |
d k srJ ‚q\dS )z
For #15908r   rÁ   é   c                 S   ó   g | ]}d ‘qS )r   r   ©r®   r�   r   r   r   r°   V  ó    zSTestDataFramePlots.test_parallel_coordinates_with_sorted_labels.<locals>.<listcomp>rP   c                 S   rÒ   )r<   r   rÓ   r   r   r   r°   W  rÔ   c                 S   rÒ   )r   r   rÓ   r   r   r   r°   X  rÔ   )ÚfeatÚclassrÖ   T)Úsort_labelsc                 S   ó   g | ]}|  ¡ ‘qS r   ©Ú	get_color)r®   Úpolyliner   r   r   r°   ^  ó    c                 S   s   | d S )Nr   r   )r+   r   r   r   Ú<lambda>`  s    zQTestDataFramePlots.test_parallel_coordinates_with_sorted_labels.<locals>.<lambda>)Úkeyéÿÿÿÿr   N)rX   rÂ   r   ÚlistÚranger½   ÚzipÚsorted)r_   rÂ   r"   rD   Ú	polylinesrW   Úcolor_label_tuplesÚordered_color_label_tuplesÚprev_next_tupelsÚprevÚnxtr   r   r   Ú,test_parallel_coordinates_with_sorted_labelsN  s,   
ÿþþÿÿÿ&þz?TestDataFramePlots.test_parallel_coordinates_with_sorted_labelsc                 C   r”   )Nr   ©Úradvizr—   r˜   )rX   rì   r\   r]   r   )r_   r   rì   r"   r   r   r   Útest_radviz_no_warningh  s
   "ÿz)TestDataFramePlots.test_radviz_no_warningc                 C   s^   ddl m} |}t||d|d�}dd„ |jd d… D ƒ}t|d d… ||d d d… d	� d S )
Nr   rë   r—   r¢   c                 S   ó   g | ]
}|  ¡ d kr|‘qS ©r$   ©Ú	get_label©r®   Úpr   r   r   r°   z  ó    z8TestDataFramePlots.test_radviz_color.<locals>.<listcomp>é   rP   ©Ú
facecolorsr¥   )rX   rì   r   Úpatchesr   )r_   r   r£   rì   r"   rD   rø   r   r   r   Útest_radviz_colorp  s
   &z$TestDataFramePlots.test_radviz_colorc                    sˆ   ddl m‰  ddlm} |}t||dˆ jd�}‡ fdd„t dd|d  ¡ ¡D ƒ}d	d„ |j	d d
… D ƒ}t
|||d d d… d� d S )Nr   rÄ   rë   r—   rÅ   c                    rÇ   r   rÈ   r­   rÄ   r   r   r°   „  r±   z=TestDataFramePlots.test_radviz_color_cmap.<locals>.<listcomp>r   c                 S   rî   rï   rð   rò   r   r   r   r°   …  rô   rõ   rP   rö   )r   r«   rX   rì   r   r¬   rY   r²   r³   rø   r   )r_   r   rì   r"   rD   r´   rø   r   rÄ   r   Útest_radviz_color_cmap}  s   $z)TestDataFramePlots.test_radviz_color_cmapc                 C   sn   ddl m} g d¢g d¢g d¢g}tg d¢g d¢g d¢g d	¢d
œƒ}||d|d�}| ¡ \}}t||d� 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÷   )rX   rì   r   r½   r   )r_   rì   r¾   r"   rD   r¿   r�   r   r   r   Útest_radviz_colors_handlesˆ  s   ÿz-TestDataFramePlots.test_radviz_colors_handlesc                 C   sD   |j ddd� ¡ }t|jƒ}|jd|d�}dd„ |D ƒ|ks J ‚d S )Nr—   r   ©ÚaxisT©rF   Útitlec                 S   rØ   r   ©Ú	get_titlerò   r   r   r   r°   š  rÜ   z:TestDataFramePlots.test_subplot_titles.<locals>.<listcomp>©ÚdropÚheadrà   Úcolumnsr!   )r_   r   r"   r  r!   r   r   r   Útest_subplot_titles“  s   
z&TestDataFramePlots.test_subplot_titlesc                 C   sh   |j ddd� ¡ }t|jƒ}d}tjt|d�� |jd|dg d� W d   ƒ d S 1 s-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!   ©r_   r   r"   r  r8   r   r   r   Útest_subplot_titles_too_muchœ  s   
ÿ"ÿz/TestDataFramePlots.test_subplot_titles_too_muchc                 C   sj   |j ddd� ¡ }t|jƒ}d}tjt|d�� |jd|d d… d� W d   ƒ d S 1 s.w   Y  d S )	Nr—   r   rÿ   r
  r   Tr   r  r  r  r   r   r   Útest_subplot_titles_too_little¨  s   
ÿ"ÿz1TestDataFramePlots.test_subplot_titles_too_littlec                 C   sb   |j ddd� ¡ }t|jƒ}d}tjt|d�� |jd|d� W d   ƒ d S 1 s*w   Y  d S )Nr—   r   rÿ   zNUsing `title` of type `list` is not supported unless `subplots=True` is passedr   Fr  r  r  r   r   r   Ú"test_subplot_titles_subplots_false´  s   
ÿ"ÿz5TestDataFramePlots.test_subplot_titles_subplots_falsec                 C   sj   |j ddd� ¡ }t|jƒ}|j ddd�jdd|d d… d�}d	d
„ |D ƒ}||d d… dg ks3J ‚d S )Nr—   r   rÿ   Ú
SepalWidthT©r   r   rß   )rF   Úlayoutr  c                 S   s   g | ]}|D ]}|  ¡ ‘qqS r   r  )r®   ÚsublistrD   r   r   r   r°   È  s    zPTestDataFramePlots.test_subplot_titles_numeric_square_layout.<locals>.<listcomp>r<   r$   r  )r_   r   r"   r  r!   Ú
title_listr   r   r   Ú)test_subplot_titles_numeric_square_layoutÀ  s   
ÿz<TestDataFramePlots.test_subplot_titles_numeric_square_layoutc                 C   sV   t t d¡ƒ}t |d¡ tj d ¡ ¡ }t |d¡ tj d ¡ ¡ }||ks)J ‚d S )N)rP   rP   r   )r   rY   Úzerosr	   rÂ   r†   r‡   )r_   r"   Úrand1Úrand2r   r   r   Ú$test_get_standard_colors_random_seedË  s   z7TestDataFramePlots.test_get_standard_colors_random_seedc                 C   s4   ddl m} |ddd�}|ddd�}||ksJ ‚d S )Nr   ©Úget_standard_colorsr   r†   ©Ú
color_type)Ú!pandas.plotting._matplotlib.styler  )r_   r  Úcolor1Úcolor2r   r   r   Ú$test_get_standard_colors_consistencyÖ  s   z7TestDataFramePlots.test_get_standard_colors_consistencyc                 C   sd   ddl m} |ddd�}|ddd�}|ddd�}t|ƒdks J ‚t|ƒdks(J ‚t|ƒdks0J ‚d S )Nr   r  r   Údefaultr  é	   rõ   )r  r  r6   )r_   r  r   r!  Úcolor3r   r   r   Ú+test_get_standard_colors_default_num_colorsß  s   z>TestDataFramePlots.test_get_standard_colors_default_num_colorsc                    sv   t g d¢g d¢g d¢g d¢g d¢g d¢dœƒ}|j ¡ j ¡ }dd	„ | ¡ d
d… D ƒ‰ t‡ fdd„ˆ D ƒƒs9J ‚d S )N)z
2017-02-03z
2017-03-03z
2017-01-01)zAlice Andersz	Bob BakerzCharlie Chaplin)gáz®Ga–Àg\�Âõ(Ü$@g     LÝ@)iÒ  ix	  éû   )é  iõ  iî	  )é4   r(  é    )zaccount-startÚclientÚbalancezdb-idzproxy-idÚrankc                 S   rØ   r   ©Úget_facecolor©r®   Úrectr   r   r   r°   ÷  rÜ   z=TestDataFramePlots.test_plot_single_color.<locals>.<listcomp>r   r<   c                 3   s   � | ]	}|ˆ d  kV  qdS )r   Nr   )r®   r£   ©r¾   r   r   Ú	<genexpr>ø  s   € z<TestDataFramePlots.test_plot_single_color.<locals>.<genexpr>)r   r+  Úvalue_countsr!   r-   Úget_childrenÚall)r_   r"   rD   r   r2  r   Útest_plot_single_colorê  s   úÿ
z)TestDataFramePlots.test_plot_single_colorc                 C   s®   ddl m} ddlm} | tdƒ¡}|d|d�}t|ƒt|ƒks#J ‚ttj	 
d¡ d¡td	ƒd
�}| t ddd¡¡}|jjjd|d�}|jd  ¡ |jd  ¡ ksUJ ‚d S )Nr   rÄ   r  r;   r   r»   r   )é0   é   ÚABCD©r  é   )r<  é   )Úfigsizer£   é   )r   r«   r  r  Úgnuplotrá   r6   r   rY   r†   r‡   rˆ   rà   r²   r   r!   r-   rø   r/  )r_   r«   r  Úcolor_beforeÚcolor_afterr"   Ú
color_listró   r   r   r   Ú%test_get_standard_colors_no_appendingú  s   ÿ$z8TestDataFramePlots.test_get_standard_colors_no_appendingr.   r-   r*   c                    s¤   ddg}ddg‰ t tj d¡ d¡|d�}dddœ}|j||d	�}|d
kr4dd„ | ¡ ddd… D ƒ}ndd„ | ¡ dd… D ƒ}t‡ fdd„t|ƒD ƒƒsPJ ‚d S )NÚar·   )rý   g¸…ëQ¸Î?g333333ã?)g333333Ó?çffffffæ?rF  r   r  r;  )r·   rE  )r.   r£   r-   c                 S   s   g | ]
}|  ¡ d d… ‘qS )r   rß   r.  r0  r   r   r   r°     rô   z<TestDataFramePlots.test_dictionary_color.<locals>.<listcomp>r   r<   c                 S   rØ   r   rÙ   r0  r   r   r   r°     rÜ   c                 3   s    � | ]\}}|ˆ | kV  qd S ©Nr   )r®   r=   r£   ©r�   r   r   r3    s   € z;TestDataFramePlots.test_dictionary_color.<locals>.<genexpr>)	r   rY   r†   r‡   r!   r5  r¨   r6  Ú	enumerate)r_   r.   Ú
data_filesÚdf1Ú	dic_colorrD   r¾   r   rH  r   Útest_dictionary_color  s   
"z(TestDataFramePlots.test_dictionary_colorc                 C   sn   ddl m} |dddƒ|dddƒg}tdddgitddgƒd�}|j ¡ }td	d
„ t| ¡ |ƒD ƒƒs5J ‚d S )Nr   ©ÚTextrx   r   ÚTotalrE  r   ©r=   c                 s   ó$   � | ]\}}|  ¡ |  ¡ kV  qd S rG  ©Úget_text©r®   rE  r·   r   r   r   r3  /  ó
   € ÿ
ÿz3TestDataFramePlots.test_bar_plot.<locals>.<genexpr>)	Úmatplotlib.textrO  r   r   r!   r-   r6  râ   Úget_xticklabels)r_   rO  r�   r"   Úplot_barr   r   r   Útest_bar_plot!  s   ÿ
ü
þz TestDataFramePlots.test_bar_plotc                 C   sp   ddl m} tdddœdddœgƒ}|jjdd d�}|ddd	ƒ|dddƒg}td
d„ t| ¡ |ƒD ƒƒs6J ‚d S )Nr   rN  r   )ÚwordÚvalueÚ	knowledger   r[  )r+   ÚlegendÚ1c                 s   rR  rG  rS  )r®   Úactualr�   r   r   r   r3  <  rV  zPTestDataFramePlots.test_barh_plot_labels_mixed_integer_string.<locals>.<genexpr>)rW  rO  r   r!   Úbarhr6  râ   Úget_yticklabels)r_   rO  r"   Ú	plot_barhÚexpected_yticklabelsr   r   r   Ú*test_barh_plot_labels_mixed_integer_string4  s   ÿþz=TestDataFramePlots.test_barh_plot_labels_mixed_integer_stringc                 C   sØ   t jjj}tj ¡ }| dd¡}|jd|d d d�|d d< |jd|d d d�|d d< |d d  	¡  |d d  	¡  ||d d dƒsIJ ‚||d d dƒrTJ ‚||d d dƒs_J ‚||d d	 dƒrjJ ‚d S )
Nr   r9  éç   r   r   ©Úsharexéé   r+   r<   )
r	   Ú_matplotlibÚtoolsÚ_has_externally_shared_axisr„   r…   ÚfigurerF   Úadd_subplotÚtwinx©r_   r7   rL   Úplotsr   r   r   Ú&test_has_externally_shared_axis_x_axisC  ó   

z9TestDataFramePlots.test_has_externally_shared_axis_x_axisc                 C   sØ   t jjj}tj ¡ }| dd¡}|jd|d d d�|d d< |jd|d d d�|d d< |d d  	¡  |d d  	¡  ||d d dƒsIJ ‚||d d dƒrTJ ‚||d d dƒs_J ‚||d	 d dƒrjJ ‚d S )
Nr9  r   éA  r   r   ©ÚshareyiE  r,   r<   )
r	   rj  rk  rl  r„   r…   rm  rF   rn  Útwinyrp  r   r   r   Ú&test_has_externally_shared_axis_y_axis\  rs  z9TestDataFramePlots.test_has_externally_shared_axis_y_axisc                 C   sˆ   t jjj}tj ¡ }| dd¡}|jd|d d d�|d d< d}t	j
t|d�� ||d d d	ƒ W d   ƒ d S 1 s=w   Y  d S )
Nr9  r   rt  r   r   ru  z&needs 'x' or 'y' as a second parameterr   Úz)r	   rj  rk  rl  r„   r…   rm  rF   rn  r   r   r  )r_   r7   rL   rq  r8   r   r   r   Ú4test_has_externally_shared_axis_invalid_compare_axisu  s   

"ÿzGTestDataFramePlots.test_has_externally_shared_axis_invalid_compare_axisc                 C   sº  t tj d¡ d¡tj d¡ d¡dœƒ}tj ¡ }| dd¡}|j	d|d d d�|d d< |j	d	|d d d�|d d< |d d  
¡ }|d d  
¡ }|d
 j|d d dd� d¡ |d
 j|d d d� |d
 j|d d dd� d¡ |d
 j|d d d� |d
 j|d d dd� d¡ |d
 j|d d d� |d j|dd� |d j|dd� |d d j ¡  ¡ rÁJ ‚|d d j ¡  ¡ sÎJ ‚|d d j ¡  ¡ rÛJ ‚d S )Nr   iè  )rE  r·   r<   rf  r   r   rg  ri  rE  zExternal share only)rD   r  z"this label should never be visible)rD   zInternal share (twin) onlyz#this label should always be visibleÚBothr·   Úgreen)rD   r£   Úyellow)r   rY   r†   r‡   rˆ   r„   r…   rm  rF   rn  ro  r!   Ú
set_xlabelrË   rñ   Úget_visible)r_   r"   rL   rq  Útwin_ax1Útwin_ax2r   r   r   Útest_externally_shared_axes†  s8   þÿ
ÿÿÿz.TestDataFramePlots.test_externally_shared_axesc                 C   s:   t dgtdƒgd�}t|jƒ tddiƒ}t|jjƒ d S )Nrü   z2022-02-22 22:22:22rQ  r   )r   r   r   r!   r   r-   )r_   r"   Úsr   r   r   Ú-test_plot_bar_axis_units_timestamp_conversion¶  s   þ
z@TestDataFramePlots.test_plot_bar_axis_units_timestamp_conversionc                 C   sv   ddl m} |dddƒ|dddƒg}tddgtdddd�gd	�}t|jjƒ td
d„ t|j ¡  	¡ |ƒD ƒƒs9J ‚d S )Nr   rN  z	([0, 1],)r   z	([1, 2],)r   Úboth)ÚclosedrQ  c                 s   rR  rG  rS  rU  r   r   r   r3  Í  rV  zFTestDataFramePlots.test_bar_plt_xaxis_intervalrange.<locals>.<genexpr>)
rW  rO  r   r   r   r!   r-   r6  râ   rX  )r_   rO  r�   rƒ  r   r   r   Ú test_bar_plt_xaxis_intervalrangeÂ  s   þþz3TestDataFramePlots.test_bar_plt_xaxis_intervalrangeN)/rh   ri   rj   r   rk   rl   r‘   r“   Úslowrš   r   rY   r†   r‡   rˆ   rª   rµ   rÀ   rÃ   rÉ   rÏ   rÐ   Úfilterwarningsrê   rí   rù   rú   rþ   r	  r  r  r  r  r  r"  r&  r7  rD  rM  rZ  re  rr  rx  rz  r‚  r„  r‡  r   r   r   r   rm   ”   sª    


þþüÿþþüÿþþ
	
þ






þ
			
0rm   )/Ú__doc__rJ   ÚnumpyrY   r   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr   r   r   r   r   r   r   r	   r
   Úpandas._testingÚ_testingr\   Úpandas.tests.plotting.commonr   r   r   r   r   r‚   r„   rE   r«   Úfixturer   Úskip_if_installedr#   r9   rk   rl   r2   Ú
_all_kindsrZ   Úreshaperá   rM   rN   rm   r   r   r   r   Ú<module>   s<    ,



""ÿ


ýþ'