U
    `»{jio  ã                   @   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 ddlmZ ddlmZmZ zddlmZ W n ek
rŽ   dd„ ZY nX ejdd	„ ƒZejG d
d„ deƒƒZejG dd„ deƒƒZejG dd„ deƒƒZdS )z Test cases for .hist method é    N)Ú	DataFrameÚIndexÚSeriesÚto_datetime)ÚTestPlotBaseÚ_check_plot_works)Úmpl_ge_3_6_0c                   C   s   dS )NT© r	   r	   r	   úe/var/www/html/bwave/python/venv/lib/python3.8/site-packages/pandas/tests/plotting/test_hist_method.pyÚ<lambda>   ó    r   c                   C   s   t jdd�S )NÚts©Úname)ÚtmZmakeTimeSeriesr	   r	   r	   r
   r      s    r   c                   @   sÔ   e Zd Zdd„ Zdd„ Zdd„ Zejjdd„ ƒZ	d	d
„ Z
dd„ Zdd„ Zej dddddg¡dd„ ƒZej dddg¡dd„ ƒZej dddg¡dd„ ƒZd d!„ Zejjeƒ d"d#�ejd$d%„ ƒƒZejd&d'„ ƒZdS )(ÚTestSeriesPlotsc              	   C   s8  t |jƒ t |jdd� t |jdd� tjtdd�� t |j|jjd� W 5 Q R X tjtdd�� t |j|jjdd� W 5 Q R X | j d	d	¡\}}t |j|d
d� t |j||d
d� t |j|d
d� t 	¡  | j d	d¡\}\}}t |j||d
d� t |j||d
d� d}t
jt|d�� |j|j|d� W 5 Q R X d S )NF©Úgrid©é   é
   ©Úfigsize©Zcheck_stacklevel©Úbyé   )r   Úbinsé   T)ÚaxÚdefault_axes)r   Úfigurer    )r!   r    é   )r!   r   r    z`Cannot pass 'figure' when using the 'by' argument, since a new 'Figure' instance will be created©Úmatch)r   r!   )r   Úhistr   Úassert_produces_warningÚUserWarningÚindexÚmonthÚpltÚsubplotsÚcloseÚpytestÚraisesÚ
ValueError)Úselfr   Úfigr   Úax1Úax2Úmsgr	   r	   r
   Útest_hist_legacy"   s&    
ÿz TestSeriesPlots.test_hist_legacyc                 C   s<   t tj dd¡ƒ}|jdd�d d }t|jƒdks8t‚d S )Nr   r"   ©r   r   )r   ÚnpÚrandomÚrandnr%   ÚlenÚpatchesÚAssertionError)r0   Údfr   r	   r	   r
   Útest_hist_bins_legacy=   s    z%TestSeriesPlots.test_hist_bins_legacyc              	   C   s`   |}d}t jt|d�� |jjdd� W 5 Q R X t jt|d�� |jjddgd� W 5 Q R X d S )Nz7The 'layout' keyword is not supported when 'by' is Noner#   ©r   r   ©Úlayoutr   )r-   r.   r/   Úheightr%   )r0   Úhist_dfr=   r4   r	   r	   r
   Útest_hist_layoutB   s    z TestSeriesPlots.test_hist_layoutc              	   C   sà  |}t jtdd�� t|jj|jdd�}W 5 Q R X | j|ddd� t jtdd�� t|jj|jdd�}W 5 Q R X | j|ddd� t jtdd�� t|jj|jd	d�}W 5 Q R X | j|d
d	d� t jtdd�� t|jj|jdd�}W 5 Q R X | j|d
dd� t jtdd�� t|jj|jdd�}W 5 Q R X | j|d
dd� t jtdd�� t|jj|jdd�}W 5 Q R X | j|d
dd� t jtdd�� t|jj|j	dd�}W 5 Q R X | j|ddd� |jj|jddd�}| j|d
ddd� d S )NFr   ©r"   r   ©r   rA   r"   ©Úaxes_numrA   )é   éÿÿÿÿ)rI   r   ©é   r   rL   ©r"   rJ   ©r"   r"   )rI   r"   ©rJ   rL   ©r   rL   rI   ©rL   r"   )é   é   )r   rA   r   ©rH   rA   r   )
r   r&   r'   r   rB   r%   ÚgenderÚ_check_axes_shapeÚcategoryÚ	classroom©r0   rC   r=   Úaxesr	   r	   r
   Útest_hist_layout_with_byK   s0    z(TestSeriesPlots.test_hist_layout_with_byc                 C   sp   ddl m}m} ttj d¡ƒ}ttj d¡ƒ}|dƒ | ¡  |dƒ | ¡  |ƒ }|j}t	|ƒdkslt
‚d S )Nr   )ÚgcfÚsubplotr"   éy   éz   )Zmatplotlib.pyplotr\   r]   r   r7   r8   r9   r%   rZ   r:   r<   )r0   r\   r]   ÚxÚyr1   rZ   r	   r	   r
   Útest_hist_no_overlapq   s    z$TestSeriesPlots.test_hist_no_overlapc                 C   s.   |}|j j|jd�}t| j ¡ ƒdks*t‚d S )Nr   r   )rB   r%   rU   r:   r*   Úget_fignumsr<   rY   r	   r	   r
   Útest_hist_by_no_extra_plots�   s    z+TestSeriesPlots.test_hist_by_no_extra_plotsc              	   C   sR   ddl m} |ƒ }|ƒ }| d¡}d}tjt|d�� |j||d� W 5 Q R X d S )Nr   )r!   éo   z&passed axis not bound to passed figurer#   )r   r!   )Zpylabr!   Zadd_subplotr-   r.   r<   r%   )r0   r   r!   Zfig1Zfig2r2   r4   r	   r	   r
   Ú+test_plot_fails_when_ax_differs_from_figure†   s    
z;TestSeriesPlots.test_plot_fails_when_ax_differs_from_figureúhisttype, expected©ÚbarT©Z
barstackedT©ÚstepF©Z
stepfilledTc                 C   s0   t tj dd¡ƒ}|j|d�}| j||d� d S )Nr   r   ©Úhisttype©Zfilled)r   r7   r8   Úrandintr%   Ú_check_patches_all_filled)r0   ro   ÚexpectedÚserr   r	   r	   r
   Útest_histtype_argument�   s    z&TestSeriesPlots.test_histtype_argumentz&by, expected_axes_num, expected_layout)Nr   r?   )Úbr"   )r   r"   c                 C   sd   ddg ddg  }t tj d¡|dd�}d|j_t|jdd|d	�}| j|||d
� |  	|d¡ d S )Né   Ú1Ú2é   Úa©r(   r   rv   T)r    Úlegendr   rG   )
r   r7   r8   r9   r(   r   r   r%   rV   Ú_check_legend_labels)r0   r   Úexpected_axes_numÚexpected_layoutr(   ÚsrZ   r	   r	   r
   Útest_hist_with_legendŸ   s    z%TestSeriesPlots.test_hist_with_legendr   Nrv   c              	   C   s`   ddg ddg  }t tj d¡|dd�}d|j_tjtdd	�� |j	d
|dd� W 5 Q R X d S )Nrw   rx   ry   rz   r{   r|   rv   ú Cannot use both legend and labelr#   TÚc)r}   r   Úlabel)
r   r7   r8   r9   r(   r   r-   r.   r/   r%   )r0   r   r(   r�   r	   r	   r
   Útest_hist_with_legend_raises­   s
    z,TestSeriesPlots.test_hist_with_legend_raisesc                 C   s®   | j  ¡ \}}|jjd|d�}t|jƒdks0t‚|  |j 	¡ d¡ t
 ¡  | j  ¡ \}}|jjd|d�}|  |j 	¡ d¡ t
 ¡  | j  ¡ \}}|jjdd|d�}t
 ¡  d S )	Nr   ©r   r   Z	FrequencyÚ
horizontal)Zorientationr   ÚleftT)ÚalignZstackedr   )r*   r+   Úplotr%   r:   r;   r<   Ú_check_text_labelsÚyaxisZ	get_labelr   r,   Zxaxis)r0   r   Ú_r   r	   r	   r
   Útest_hist_kwargs·   s    z TestSeriesPlots.test_hist_kwargszApi changed)Úreasonc                 C   sì   | j  ¡ \}}|jjd|d�}| j|dd� | ¡ }|  |dgt|ƒ ¡ | ¡ }|  |dgt|ƒ ¡ t	|jj
ƒ t	|jjƒ | j  ¡ \}}|jj
d|d�}| j|dd� | ¡ }|  |dgt|ƒ ¡ | ¡ }|  |dgt|ƒ ¡ d S )NT)Úlogyr   Úlog©r�   Ú )r*   r+   r‹   r%   Ú_check_ax_scalesZget_xticklabelsrŒ   r:   Zget_yticklabelsr   ÚkdeÚdensity)r0   r   rŽ   r   ZxlabelsZylabelsr	   r	   r
   Útest_hist_kdeÇ   s     zTestSeriesPlots.test_hist_kdec                 C   s°   | j  ¡ \}}|jjddd|d�}| j|dd� t|jƒdksBt‚| j|jdgd d� | j  ¡ \}}|jj	dd|d	�}| j|dd� | 
¡ }t|ƒd
ksžt‚|  |dg¡ d S )NTr   rv   )r‘   r   Úcolorr   r’   r“   )Z
facecolorsÚr)r‘   r™   r   r   )r*   r+   r‹   r%   r•   r:   r;   r<   Z_check_colorsr–   Ú	get_lines)r0   r   rŽ   r   Úlinesr	   r	   r
   Útest_hist_kde_colorÞ   s    z#TestSeriesPlots.test_hist_kde_color)Ú__name__Ú
__module__Ú__qualname__r5   r>   rD   r-   ÚmarkÚslowr[   rb   rd   rf   Úparametrizeru   r‚   r†   r�   Zxfailr   ÚtdZskip_if_no_scipyr˜   r�   r	   r	   r	   r
   r       s<   	
%
üþ	
 ÿ

	r   c                   @   sþ   e Zd Zejjdd„ ƒZdd„ Zdd„ Zdd„ Z	d	d
„ Z
ej dddddgfdddgdddgfg¡dd„ ƒZej dddddg¡dd„ ƒZej dddg¡ej dddg¡dd„ ƒƒZej dddg¡ej dddg¡dd „ ƒƒZd!d"„ Zd#d$„ Zd%d&„ ZdS )'ÚTestDataFramePlotsc              	      s¼  ddl m‰  tjtdd�� t|jƒ W 5 Q R X ttj	 
dd¡ƒ}ttj	jdddtjd	�ƒ|d< tjtdd�� t|jdd
�}W 5 Q R X | j|ddd� |d  ¡ r¨t‚t|dg jƒ ttj	 
dd¡ƒ}t|jƒ ttj	 
dd¡ƒ}ttj	jdddtjd	�ƒ|d< tjtdd�� t|jdd�}W 5 Q R X | j|ddd� tjtdd�� t|jddd� W 5 Q R X tjtdd�� t|jdd� W 5 Q R X tjtdd�� t|jdd� W 5 Q R X |d }d\}}d\}}|j||||d�}| j|||||d� d\}}d\}}|j||||d�}| j|||||d� t ¡  |jdddd�}	‡ fdd„|	 ¡ D ƒ}
t |
d   ¡ d!¡ t ¡  |jdd"�}	| j|	d#d$� t ¡  t t¡� |jd%d&� W 5 Q R X d S )'Nr   ©Ú	RectangleFr   éd   r"   ì     jÕ+2Zì     ÊRŠeöZ©ÚsizeÚdtyper   rI   rN   rG   r?   r   r   rQ   r@   é   T)ÚsharexÚshareyr   r   r6   ©é   é   ©rz   é(   ©Ú
xlabelsizeÚxrotÚ
ylabelsizeÚyrotrL   )Ú
cumulativer   r—   c                    s   g | ]}t |ˆ ƒr|‘qS r	   ©Ú
isinstance©Ú.0r`   r¦   r	   r
   Ú
<listcomp>8  s     
 z:TestDataFramePlots.test_hist_df_legacy.<locals>.<listcomp>rJ   ç      ð?)r’   r’   r“   ri   )Úfoo)Úmatplotlib.patchesr§   r   r&   r'   r   r%   r   r7   r8   r9   r   rq   Úint64rV   Úget_visibler<   Ú_check_ticks_propsr,   Úget_childrenÚassert_almost_equalÚ
get_heightr•   Úexternal_error_raisedÚAttributeError)r0   rC   r=   rZ   rt   ÚxfÚyfr¸   rº   r   Úrectsr	   r¦   r
   Útest_hist_df_legacyð   sˆ    üÿ
üÿ    ÿ    ÿz&TestDataFramePlots.test_hist_df_legacyc                 C   sŠ   t tj d¡tj ddd¡ttjjdddtjd�ƒttjjdddtjd�dd�dœƒ}| t¡}d	}t	j
t|d
�� | ¡  W 5 Q R X d S )Nr   r   l     úÛp¹/ l    @©spcÍ/ )r­   T)Úutc)r{   rv   r„   ÚdzDhist method requires numerical or datetime columns, nothing to plot.r#   )r   r7   r8   Zrandrq   r   rÄ   ZastypeÚobjectr-   r.   r/   r%   )r0   r=   Zdf_or4   r	   r	   r
   Ú*test_hist_non_numerical_or_datetime_raisesF  s4    
   ÿÿ   ÿüøÿ
z=TestDataFramePlots.test_hist_non_numerical_or_datetime_raisesc                 C   s6  t tj dd¡ƒ}ttj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œf	}|D ],}|j|d d�}|d }| j|d|d� q€d}t	j
t|d�� |jdd� W 5 Q R X t d¡}t	j
t|d�� |jdd� W 5 Q R X d}t	j
t|d�� |jdd� W 5 Q R X d S )Nr¨   r"   r©   rª   r«   rN   )rA   Úexpected_sizerK   rP   )rI   rI   rO   )rL   rJ   )rJ   r"   rM   rA   r@   rÔ   rI   rG   z1Layout of 1x1 must be larger than required size 3r#   r?   z)Layout must be a tuple of (rows, columns))r   ú1At least one dimension of layout must be positive©rJ   rJ   )r   r7   r8   r9   r   rq   rÄ   r%   rV   r-   r.   r/   ÚreÚescape)r0   r=   Zlayout_to_expected_sizeZlayout_testrZ   rs   r4   r	   r	   r
   rD   _  s@    üÿ
÷
z#TestDataFramePlots.test_hist_layoutc                 C   sT   t tj dd¡ƒ}ttjjdddtjd�ƒ|d< t|jdd� | j	 
¡  t ¡  d S )Nr¨   r"   r©   rª   r«   T)r    )r   r7   r8   r9   r   rq   rÄ   r   r%   r*   Ztight_layoutr   r,   )r0   r=   r	   r	   r
   Útest_tight_layout‰  s    üÿ	
z$TestDataFramePlots.test_tight_layoutc              	   C   sL   t dddddgdddddgdœƒ}t|jd	d
ddddd�}| j|dd� d S )Nç      ø?ç      à?ç333333ó?çÍÌÌÌÌÌì?rI   ÚpigÚrabbit)ÚlengthÚanimalTÚalwaysrà   rá   r   r   )r    ÚfilterwarningsÚcolumnr   r   r¸   ©r¸   )r   r   r%   rÆ   )r0   r=   rZ   r	   r	   r
   Útest_hist_subplot_xrot™  s    þÿù	z)TestDataFramePlots.test_hist_subplot_xrotzcolumn, expectedNÚwidthrà   rB   c                    st   t dddddgddddd	gd	dd
ddgdœdddddgd�}t|jd|dd�‰ ‡ fdd„td	ƒD ƒ}||kspt‚d S )Ngffffffæ?gš™™™™™É?g333333Ã?gš™™™™™ñ?rÚ   rÛ   rÜ   rÝ   rI   g333333@r"   r   )rç   rà   rB   rÞ   rß   ÚduckÚchickenÚhorse)r(   T©r   rI   )r    rä   rA   c                    s   g | ]}ˆ d |f   ¡ ‘qS )r   )Z	get_title)r¿   Úi©rZ   r	   r
   rÀ   Ç  s     zGTestDataFramePlots.test_hist_column_order_unchanged.<locals>.<listcomp>)r   r   r%   Úranger<   )r0   rä   rs   r=   Úresultr	   rí   r
   Ú test_hist_column_order_unchanged­  s    
ýú
üz3TestDataFramePlots.test_hist_column_order_unchangedrg   rh   rj   rk   rm   c                 C   s<   t tjjdddd�ddgd�}|j|d�}| j||d	� d S )
Nr   r   ©r¨   r"   ©r¬   r{   rv   ©Úcolumnsrn   rp   ©r   r7   r8   rq   r%   rr   ©r0   ro   rs   r=   r   r	   r	   r
   ru   Ê  s    z)TestDataFramePlots.test_histtype_argumentr   r„   rä   rv   c                 C   sÖ   |d kr|d k	rdnd}d|f}|p*ddg}|d k	r>|gd }t ddg ddg  dd	�}ttj d
d¡|ddgd�}t|jdd||d�}| j|||d� |d kr²|d kr²|d }t||ƒD ]\}	}
|  	|
|	¡ q¼d S )Nr   r"   r{   rv   rw   rx   ry   r„   r   rz   ©r(   rô   T)r    r}   r   rä   rG   r   )
r   r   r7   r8   r9   r   r%   rV   Úzipr~   )r0   r   rä   r   r€   Zexpected_labelsr(   r=   rZ   Zexpected_labelr   r	   r	   r
   r‚   Ù  s&    
ûz(TestDataFramePlots.test_hist_with_legendc              	   C   sh   t ddg ddg  dd�}ttj dd¡|dd	gd
�}tjtdd�� |jd||dd� W 5 Q R X d S )Nrw   rx   ry   r„   r   rz   r"   r{   rv   r÷   rƒ   r#   TrÑ   )r}   r   rä   r…   )	r   r   r7   r8   r9   r-   r.   r/   r%   )r0   r   rä   r(   r=   r	   r	   r
   r†   õ  s    z/TestDataFramePlots.test_hist_with_legend_raisesc                 C   sF   t tj dd¡ƒ}| j ¡ \}}|jjd|d�}t|j	ƒdksBt
‚d S )Nr   r"   r   r‡   )r   r7   r8   r9   r*   r+   r‹   r%   r:   r;   r<   ©r0   r=   rŽ   r   r	   r	   r
   Útest_hist_df_kwargsÿ  s    z&TestDataFramePlots.test_hist_df_kwargsc              	   C   s¦   t  d¡�$ ttj dd¡ddddgd�}W 5 Q R X d	d
gd |d< | j ¡ \}}|jj	d|d�}t
|jƒdkstt‚| j ¡ \}}|jj	|d�}t
|jƒdks¢t‚d S )Nr   r   rL   ÚAÚBÚCÚDró   r`   ra   r   ÚEr‡   r²   )r   rµ   )r   Ú
RNGContextr   r7   r8   r9   r*   r+   r‹   r%   r:   r;   r<   rù   r	   r	   r
   Útest_hist_df_with_nonnumerics  s    (z0TestDataFramePlots.test_hist_df_with_nonnumericsc                 C   s„  t tj dd¡tdƒd�}| j ¡ \}}|d jjd|d�}|d jj|ddd	� | j	|dd
gd� | 
¡  ¡ stt‚|j 
¡  ¡ s†t‚t ¡  | j ¡ \}}|d jjdd|d�}|d jj|ddd	� | j	|jdd
gd� |j 
¡  ¡ rît‚| 
¡  ¡ sþt‚t ¡  | j ¡ \}}|d jjdd|d�}|d jj|dd� | j	|jddgd� |j 
¡  ¡ �sft‚| 
¡  ¡ �sxt‚t ¡  d S )Nrz   rL   Úabcdró   r{   T)r}   r   rv   )r   r}   Úsecondary_yz	b (right))Úlabels)r}   r  r   z	a (right))r   r}   )r   r7   r8   r9   Úlistr*   r+   r‹   r%   r~   Z	get_yaxisrÅ   r<   Zright_axr   r,   Zleft_axrù   r	   r	   r
   Útest_hist_secondary_legend  s,    z-TestDataFramePlots.test_hist_secondary_legend)rž   rŸ   r    r-   r¡   r¢   rÏ   rÓ   rD   rÙ   ræ   r£   rð   ru   r‚   r†   rú   r  r  r	   r	   r	   r
   r¥   î   s>   
U*þþ
üþ	
r¥   c                   @   sj   e Zd Zdd„ Zdd„ Zejjdd„ ƒZdd„ Z	d	d
„ Z
dd„ Zdd„ Zej dddddg¡dd„ ƒZdS )ÚTestDataFrameGroupByPlotsc                    sú  ddl m‰  ddlm} ttj dd¡dgd�}ttjj	dd	dtj
d
�ƒ|d< tj 	ddd¡|d< dgd |d< ||j|jd�}| j|ddd� t ¡  |j|jd�}| j|ddd� t ¡  |jddd�}| j|ddd� | j|dd� t ¡  d\}}d\}}||j|jdd||||dd�	}| ¡ D ]4}‡ fdd„| ¡ D ƒ}	|	d  ¡ }
t |
d¡ �q(| j|||||d� t ¡  ||j|jdd �}| j|d!d"� t ¡  t t¡� ||j|jd#d$� W 5 Q R X d%}tjt|d&�� |jdd'd(� W 5 Q R X d S ))Nr   r¦   )Ú_grouped_histiô  r   rû   ró   r©   rª   r«   rü   rL   rý   ÚXrþ   r   rN   rG   rz   )r   Zrotr?   rå   r±   r´   T)r   r»   r   r·   r¸   r¹   rº   r—   c                    s   g | ]}t |ˆ ƒr|‘qS r	   r¼   r¾   r¦   r	   r
   rÀ   k  s     
 zFTestDataFrameGroupByPlots.test_grouped_hist_legacy.<locals>.<listcomp>rJ   rÁ   r¶   )r   r’   r’   r“   ri   )r   rÂ   z$Specify figure size by tuple insteadr#   Údefault)r   r   )rÃ   r§   Z pandas.plotting._matplotlib.histr  r   r7   r8   r9   r   rq   rÄ   rû   rý   rV   r   r,   r%   rÆ   ZravelrÇ   rÉ   rÈ   r•   rÊ   rË   r-   r.   r/   )r0   r  r=   rZ   rÌ   rÍ   r¸   rº   r   rÎ   rB   r4   r	   r¦   r
   Útest_grouped_hist_legacy;  sp    üÿ÷    ÿz2TestDataFrameGroupByPlots.test_grouped_hist_legacyc              	   C   s®   d}t tjjdd|d�ƒ}t tjjdd|d�ƒ}t d¡� tjjddg|d�}W 5 Q R X t|||d	œƒ}| d
¡}| 	¡ }t
|ƒdksŒt‚t
| j ¡ ƒdks¢t‚t ¡  d S )Nr   é¦   r²   rò   é<   é*   r   r   )rB   ÚweightrU   rU   r"   )r   r7   r8   Únormalr   r   Úchoicer   Úgroupbyr%   r:   r<   r*   rc   r,   )r0   Únr  rB   Z
gender_intZdf_intÚgbrZ   r	   r	   r
   Útest_grouped_hist_legacy2€  s    
z3TestDataFrameGroupByPlots.test_grouped_hist_legacy2c              	   C   s:  |}d}t jt|d�� |jd|jdd� W 5 Q R X d}t jt|d�� |jd|jdd� W 5 Q R X d	}t jt|d�� |jd|jd
d� W 5 Q R X tjtdd�� t	|jd|jdd�}W 5 Q R X | j
|ddd� tjtdd�� t	|jd|jdd�}W 5 Q R X | j
|ddd� |jd|jdd�}| j
|ddd� |jd|jdd�}| j
|ddd� |jd|jddd�}| j
|dddd� t ¡  tjtdd�� t	|jdddd�}W 5 Q R X | j
|ddd� tjtdd�� t	|jdd�}W 5 Q R X | j
|ddd� |jddd�}| j
|ddd� |jdddgd �}| j
|ddd� d S )!Nz1Layout of 1x1 must be larger than required size 2r#   r  r?   )rä   r   rA   z1Layout of 1x3 must be larger than required size 4rB   rë   rÕ   rÖ   Fr   rE   r"   rG   rM   rK   rL   )rJ   r   rQ   )rR   r   )rä   r   rA   r   rT   rX   rN   rI   r   rU   )rI   r   rF   rW   )rä   )r-   r.   r/   r%   rU   rW   r   r&   r'   r   rV   r,   )r0   rC   r=   r4   rZ   r	   r	   r
   Útest_grouped_hist_layout�  s`       ÿ   ÿ   ÿz2TestDataFrameGroupByPlots.test_grouped_hist_layoutc              	   C   sæ   |}| j  dd¡\}}|jdddg|d d�}| j|ddd	� t ||d ¡ |d j|ks`t‚|jd
|d d�}| j|ddd	� t ||d ¡ |d j|ks¤t‚| j  dd¡\}}d}tj	t
|d�� |jd|d�}W 5 Q R X d S )Nr"   rI   rB   r  rW   r   )rä   r   rë   rG   rX   r   )r   r   z@The number of passed axes must be 1, the same as the output plotr#   )r*   r+   r%   rV   r   Zassert_numpy_array_equalr!   r<   r-   r.   r/   )r0   rC   r=   r1   rZ   Zreturnedr4   r	   r	   r
   Útest_grouped_hist_multiple_axesÄ  s    z9TestDataFrameGroupByPlots.test_grouped_hist_multiple_axesc                 C   sv   |}|j d|jdd�\}}|  |¡ ||¡s0t‚|  |¡ ||¡sFt‚|  |¡ ||¡r\t‚|  |¡ ||¡rrt‚d S )NrB   T)rä   r   r¯   ©r%   rU   Ú
get_x_axisÚjoinedr<   Ú
get_y_axis©r0   rC   r=   r2   r3   r	   r	   r
   Útest_axis_share_xØ  s    z+TestDataFrameGroupByPlots.test_axis_share_xc                 C   sv   |}|j d|jdd�\}}|  |¡ ||¡s0t‚|  |¡ ||¡sFt‚|  |¡ ||¡r\t‚|  |¡ ||¡rrt‚d S )NrB   T)rä   r   r°   )r%   rU   r  r  r<   r  r  r	   r	   r
   Útest_axis_share_yå  s    z+TestDataFrameGroupByPlots.test_axis_share_yc                 C   sx   |}|j d|jddd�\}}|  |¡ ||¡s2t‚|  |¡ ||¡sHt‚|  |¡ ||¡s^t‚|  |¡ ||¡stt‚d S )NrB   T)rä   r   r¯   r°   r  r  r	   r	   r
   Útest_axis_share_xyñ  s    z,TestDataFrameGroupByPlots.test_axis_share_xyrg   rh   rj   rk   rm   c                 C   s>   t tjjdddd�ddgd�}|jd|d�}| j||d	� d S )
Nr   r   rñ   rò   r{   rv   ró   )r   ro   rp   rõ   rö   r	   r	   r
   ru   ü  s    z0TestDataFrameGroupByPlots.test_histtype_argumentN)rž   rŸ   r    r  r  r-   r¡   r¢   r  r  r  r  r  r£   ru   r	   r	   r	   r
   r  9  s"   E
6üþ	r  )Ú__doc__r×   Únumpyr7   r-   Zpandas.util._test_decoratorsÚutilZ_test_decoratorsr¤   Zpandasr   r   r   r   Zpandas._testingZ_testingr   Zpandas.tests.plotting.commonr   r   Z"pandas.plotting._matplotlib.compatr   ÚImportErrorZfixturer   Zskip_if_no_mplr   r¥   r  r	   r	   r	   r
   Ú<module>   s,   
 N  L