Ë
    u™ãj®z  ã                  ó  — d Z ddlmZ ddlZddlZddlZddlZddlZ	ddl
mZ ddlmZmZmZmZmZ ddlmZ  ej*                  d«      Z ej*                  d«      Zd„ Z ej2                  d	d
g¬«      d„ «       Z G d„ d«      Z G d„ d«      Zy)zTest cases for .boxplot methodé    )ÚannotationsN)Ú_check_axes_shapeÚ_check_box_return_typeÚ_check_plot_worksÚ_check_ticks_propsÚ_check_visible)Úpprint_thingÚ
matplotlibzmatplotlib.pyplotc                ó~   — |j                  «       \  }}|| j                  «       k  sJ ‚|| j                  «       k\  sJ ‚y ©N)Úget_ylimÚminÚmax)ÚcolÚaxÚy_minÚy_maxs       út/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/plotting/test_boxplot_method.pyÚ_check_ax_limitsr      s9   € Ø—;‘;“=�L€Eˆ5Ø�C—G‘G“IÒÐÐØ�C—G‘G“IÒÐÑó    Ú
horizontalÚvertical)Úparamsc                ó   — d| j                   iS )NÚorientation)Úparam)Úrequests    r   Úvertr   !   s   € à˜7Ÿ=™=Ð)Ð)r   c                  ó  — e Zd Zd„ Zej
                  j                  ej
                  j                  dddidgdddgidgddgd	d
œegdgd	dgd
œdgdd	iegdd	dgiegddidgd	ddœegg«      d„ «       «       Z	d„ Z
d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej
                  j                  dg d¢«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd „ Zej
                  j                  d!d"d#d$d%d&œd"d#d$d%d&œfd'd"id'd"ifd"d"d"d"d"d&œfg«      d(„ «       Zej
                  j                  d)d*d+d+d,d+d&œfd-d.d.d/d.d&œfg«      d0„ «       Zej
                  j                  d1d"d"d2œd3fg«      d4„ «       Zej
                  j                  d5g d6¢«      d7„ «       Zej
                  j;                  d8«      d9„ «       Zej
                  j;                  d8«      d:„ «       Zej
                  j;                  d8«      d;„ «       Z ej
                  j;                  d8«      d<„ «       Z!d=„ Z"y)>ÚTestDataFramePlotsc                ó‚  — d}t        j                  t        j                  j	                  d«      j                  g d¢|«      t        j                  j	                  d«      j                  g d¢|«      t        j                  j	                  d«      j                  g d¢|«      dœt        j                  d|«      ¬«      }|j                  dd¬	«      }|j                  «       D �cg c]  }t        |j                  «       «      ‘Œ c}|j                  j                  «       k(  sJ ‚|j                  t        j                  d|d
«      «       t        j                  «        |j                  «       D �cg c]  }t        |j                  «       «      ‘Œ c}t!        t        j                  d|d
«      «      k(  sJ ‚y c c}w c c}w )Né   é   ©r   é   r#   é   )ÚClinicalÚ	ConfirmedÚ	Discardedr   ©ÚindexÚbarT)ÚkindÚstackedé
   )ÚpdÚ	DataFrameÚnpÚrandomÚdefault_rngÚchoiceÚarangeÚplotÚget_xticklabelsÚintÚget_textr+   Úto_listÚ
set_xticksÚpltÚdrawÚlist)ÚselfÚnÚdfr   Úxs        r   Útest_stacked_boxplot_set_axisz0TestDataFramePlots.test_stacked_boxplot_set_axis'   sK  € àˆÜ�\‰\äŸI™I×1Ñ1°!Ó4×;Ñ;ºLÈ!ÓLÜŸY™Y×2Ñ2°1Ó5×<Ñ<º\È1ÓMÜŸY™Y×2Ñ2°1Ó5×<Ñ<º\È1ÓMñô
 —)‘)˜A˜q“/ô
ˆð �W‰W˜%¨ˆWÓ.ˆØ+-×+=Ñ+=Ó+?Ö@ a”�A—J‘J“LÕ!Ò@ÀBÇHÁH×DTÑDTÓDVÒVÐVÐVØ
�‰”b—i‘i  1 bÓ)Ô*Ü�‰Œ
Ø+-×+=Ñ+=Ó+?Ö@ a”�A—J‘J“LÕ!Ò@ÄDÜ�I‰I�a˜˜BÓóE
ò 
ð 	
ñ 
ùò Aùò As   Ã$ F7Å0 F<zkwargs, warnÚreturn_typeÚdictNÚcolumnÚoneÚtwoÚindic)rG   ÚbyÚindic2rK   Únotchr%   )rK   rM   c                óv  — t        j                  t        j                  j	                  d«      j                  d«      t        t        j                  d d «      g d¢¬«      }ddgdz  |d	<   g d
¢dz  |d<   d}t        j                  |d|¬«      5  t        |j                  fi |¤Ž d d d «       y # 1 sw Y   y xY w)Nr#   ©é   é   rP   ©rH   rI   ÚthreeÚfour©r+   ÚcolumnsÚfoor,   r&   rJ   )rW   r,   rW   rL   ú6the figure containing the passed axes is being clearedF©Úcheck_stacklevelÚmatch)r0   r1   r2   r3   r4   Ústandard_normalr?   ÚstringÚascii_lettersÚtmÚassert_produces_warningr   Úboxplot)r@   ÚkwargsÚwarnrB   Úmsgs        r   Útest_boxplot_legacy1z'TestDataFramePlots.test_boxplot_legacy1:   s©   € ô �\‰\Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Ü”v×+Ñ+¨B¨QÐ/Ó0Ú3ô
ˆð
 ˜e�n qÑ(ˆˆ7‰Ú,¨qÑ0ˆˆ8‰ð GˆÜ×'Ñ'¨¸uÈCÔPñ 	4Ü˜bŸj™jÑ3¨FÒ3÷	4÷ 	4ñ 	4ús   ÂB/Â/B8c                óæ   — t        j                  t        j                  j	                  d«      j                  d«      «      }t        t         j                  j                  j                  |d¬«       y )Nr#   rP   rF   )ÚdatarE   )
r0   ÚSeriesr2   r3   r4   r\   r   ÚplottingÚ_corera   )r@   Úsers     r   Útest_boxplot_legacy1_seriesz.TestDataFramePlots.test_boxplot_legacy1_seriesV   sF   € Ü�i‰iœŸ	™	×-Ñ-¨aÓ0×@Ñ@ÀÓCÓDˆÜœ"Ÿ+™+×+Ñ+×3Ñ3¸#È6ÖRr   c                óŽ  — t        j                  t        j                  j	                  d«      j                  d«      ddg¬«      }t        j
                  g d¢«      |d<   t        j
                  dgd	z  «      |d
<   d}t        j                  t        d|¬«      5  t        |j                  d¬«       d d d «       y # 1 sw Y   y xY w)Nr#   ©r/   r#   ÚCol1ÚCol2©rV   ©
ÚArs   rs   rs   rs   ÚBrt   rt   rt   rt   ÚXrs   r/   ÚYrX   FrY   ©rK   )r0   r1   r2   r3   r4   rh   r_   r`   ÚUserWarningr   ra   )r@   rB   rd   s      r   Útest_boxplot_legacy2z'TestDataFramePlots.test_boxplot_legacy2Z   sœ   € Ü�\‰\Ü�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4¸vÀvÐ>Nô
ˆô —)‘)ÒNÓOˆˆ3‰Ü—)‘)˜S˜E B™JÓ'ˆˆ3‰ØFˆÜ×'Ñ'¬ÀeÐSVÔWñ 	2Ü˜bŸj™j¨SÕ1÷	2÷ 	2ñ 	2ús   ÂB;Â;Cc                óˆ  — t        j                  t        j                  j	                  d«      j                  d«      ddg¬«      }t        j
                  g d¢«      |d<   t        j
                  dgd	z  «      |d
<   t        j                  j                  «       \  }}|j                  dd|¬«      }|j                  }||u sJ ‚y )Nr#   rn   ro   rp   rq   rr   ru   rs   r/   rv   )rK   r   )r0   r1   r2   r3   r4   rh   ÚmplÚpyplotÚsubplotsra   Úaxes)r@   rB   Ú_r   r~   Úax_axess         r   Útest_boxplot_legacy2_with_axz/TestDataFramePlots.test_boxplot_legacy2_with_axd   s¢   € Ü�\‰\Ü�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4¸vÀvÐ>Nô
ˆô —)‘)ÒNÓOˆˆ3‰Ü—)‘)˜S˜E B™JÓ'ˆˆ3‰ô —
‘
×#Ñ#Ó%‰ˆˆ2Ø�z‰z˜& S¨RˆzÓ0ˆØ—'‘'ˆØ˜$‰Ð‰r   c                óª  — t        j                  t        j                  j	                  d«      j                  d«      ddg¬«      }t        j
                  g d¢«      |d<   t        j
                  dgd	z  «      |d
<   t        j                  j                  «       \  }}|j                  d
«      j                  |d¬«      }|j                  }||d   u sJ ‚y )Nr#   rn   ro   rp   rq   rr   ru   rs   r/   rv   r~   ©r   rE   )r0   r1   r2   r3   r4   rh   r{   r|   r}   Úgroupbyra   r~   )r@   rB   Úfigr   r~   r€   s         r   Ú(test_boxplot_legacy2_with_ax_return_typez;TestDataFramePlots.test_boxplot_legacy2_with_ax_return_typeq   s¯   € Ü�\‰\Ü�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4¸vÀvÐ>Nô
ˆô —)‘)ÒNÓOˆˆ3‰Ü—)‘)˜S˜E B™JÓ'ˆˆ3‰Ü—*‘*×%Ñ%Ó'‰ˆˆRØ�z‰z˜#‹×&Ñ&¨"¸&Ð&ÓAˆØ—'‘'ˆØ˜$˜s™)Ñ#Ð#Ñ#r   c                óü  — t        j                  t        j                  j	                  d«      j                  d«      ddg¬«      }t        j
                  g d¢«      |d<   t        j
                  dgd	z  «      |d
<   t        j                  j                  «       \  }}d}t        j                  t        |¬«      5  |j                  ddgd|d¬«      }d d d «       d   j                  «       |u sJ ‚y # 1 sw Y   Œ!xY w)Nr#   rn   ro   rp   rq   rr   ru   rs   r/   rv   rX   ©r[   r~   )rG   rK   r   rE   )r0   r1   r2   r3   r4   rh   r{   r|   r}   r_   r`   rx   ra   Ú
get_figure)r@   rB   r…   r   rd   r~   s         r   Ú#test_boxplot_legacy2_with_multi_colz6TestDataFramePlots.test_boxplot_legacy2_with_multi_col|   sß   € Ü�\‰\Ü�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4¸vÀvÐ>Nô
ˆô —)‘)ÒNÓOˆˆ3‰Ü—)‘)˜S˜E B™JÓ'ˆˆ3‰ä—*‘*×%Ñ%Ó'‰ˆˆRØFˆÜ×'Ñ'¬¸3Ô?ñ 	Ø—:‘:Ø Ð'¨C°BÀFð ó ˆD÷	ð �F‰|×&Ñ&Ó(¨CÑ/Ð/Ñ/÷		ð 	ús   Â:C2Ã2C;c                ó  — t        j                  t        j                  j	                  d«      j                  d«      ddg¬«      }t        j
                  g d¢«      |d<   t        j
                  dgd	z  «      |d
<   t        j                  j                  «       \  }}|j                  |d¬«      }t        t        j                  j                  |j                  «       «      «      }t        |j!                  «       «      t        |«      k(  sJ ‚y )Nr#   rn   ro   rp   rq   rr   ru   rs   r/   rv   rF   rƒ   )r0   r1   r2   r3   r4   rh   r{   r|   r}   ra   r?   Ú	itertoolsÚchainÚfrom_iterableÚvaluesÚlenÚ	get_lines)r@   rB   r   r   ÚdÚliness         r   Útest_boxplot_legacy2_by_nonez/TestDataFramePlots.test_boxplot_legacy2_by_none‹   sÇ   € Ü�\‰\Ü�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4¸vÀvÐ>Nô
ˆô —)‘)ÒNÓOˆˆ3‰Ü—)‘)˜S˜E B™JÓ'ˆˆ3‰ô —
‘
×#Ñ#Ó%‰ˆˆ2Ø�J‰J˜"¨&ˆJÓ1ˆÜ”Y—_‘_×2Ñ2°1·8±8³:Ó>Ó?ˆÜ�2—<‘<“>Ó"¤c¨%£jÒ0Ð0Ñ0r   c                óp   — |j                  «       }t        |t        j                  j                  «      sJ ‚y r   )ra   Ú
isinstancer{   r|   ÚAxes)r@   Úhist_dfÚresults      r   Útest_boxplot_return_type_nonez0TestDataFramePlots.test_boxplot_return_type_none˜   s&   € à—‘Ó"ˆÜ˜&¤#§*¡*§/¡/Ô2Ð2Ñ2r   c                ó„  — t        j                  t        j                  j	                  d«      j                  d«      t        t        j                  d d «      g d¢¬«      }d}t        j                  t        |¬«      5  |j                  d¬	«       d d d «       |j                  «       }t        |d
«       y # 1 sw Y   Œ&xY w)Nr#   rO   rP   rR   rU   z,return_type must be {'axes', 'dict', 'both'}rˆ   Ú
NOT_A_TYPE©rE   r~   )r0   r1   r2   r3   r4   r\   r?   r]   r^   ÚpytestÚraisesÚ
ValueErrorra   r   )r@   rB   rd   r™   s       r   Útest_boxplot_return_type_legacyz2TestDataFramePlots.test_boxplot_return_type_legacy�   s–   € ô �\‰\Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Ü”v×+Ñ+¨B¨QÐ/Ó0Ú3ô
ˆð
 =ˆÜ�]‰]œ:¨SÔ1ñ 	1Ø�J‰J <ˆJÔ0÷	1ð —‘“ˆÜ˜v vÕ.÷		1ð 	1ús   Á>B6Â6B?©rF   r~   Úbothc                óT  — t        j                  t        j                  j	                  d«      j                  d«      t        t        j                  d d «      g d¢¬«      }t        j                  d«      5  |j                  |¬«      }d d d «       t        |«       y # 1 sw Y   ŒxY w)Nr#   rO   rP   rR   rU   Fr�   )r0   r1   r2   r3   r4   r\   r?   r]   r^   r_   r`   ra   r   )r@   rE   rB   r™   s       r   Ú+test_boxplot_return_type_legacy_return_typez>TestDataFramePlots.test_boxplot_return_type_legacy_return_type¬   s†   € ô �\‰\Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Ü”v×+Ñ+¨B¨QÐ/Ó0Ú3ô
ˆô
 ×'Ñ'¨Ó.ñ 	9Ø—Z‘Z¨K�ZÓ8ˆF÷	9ä˜v {Õ3÷	9ð 	9ús   Á6BÂB'c                ó2  — |j                  «       }t        j                  j                  d«      j	                  dd|j
                  d   «      |d<   |j                  ddgd¬	«      \  }}t        |d   |«       t        |d   |«       |j                  |k(  sJ ‚y )
Nr#   r%   é   r   ÚageÚheightÚweightÚcategoryrw   ©	Úcopyr2   r3   r4   ÚintegersÚshapera   r   Ú_sharey)r@   r˜   rB   Ú	height_axÚ	weight_axs        r   Útest_boxplot_axis_limitsz+TestDataFramePlots.test_boxplot_axis_limits¹   sˆ   € Ø�\‰\‹^ˆÜ—I‘I×)Ñ)¨!Ó,×5Ñ5°a¸¸R¿X¹XÀa¹[ÓIˆˆ5‰	à!Ÿz™z¨8°XÐ*>À:˜zÓNÑˆ	�9Ü˜˜H™ yÔ1Ü˜˜H™ yÔ1Ø× Ñ  IÒ-Ð-Ñ-r   c                ó°  — |j                  «       }t        j                  j                  d«      j	                  dd|j
                  d   «      |d<   |j                  g d¢d¬«      }|d	   |d
   |d   }}}|d   }t        |d   |«       t        |d   |«       t        |d   |«       |j                  |k(  sJ ‚|j                  |k(  sJ ‚|j                  �J ‚y )Nr#   r%   r§   r   r¨   )r©   rª   r¨   r«   rw   )r   r   )r   r%   )r%   r   ©r%   r%   r©   rª   r¬   )r@   r˜   rB   Úpr±   r²   Úage_axÚdummy_axs           r   Ú!test_boxplot_axis_limits_two_rowsz4TestDataFramePlots.test_boxplot_axis_limits_two_rowsÂ   sÓ   € Ø�\‰\‹^ˆÜ—I‘I×)Ñ)¨!Ó,×5Ñ5°a¸¸R¿X¹XÀa¹[ÓIˆˆ5‰	à�J‰JÒ2°zˆJÓBˆØ'(¨¡w°°$±¸¸4¹˜f�9ˆ	Ø�T‘7ˆä˜˜H™ yÔ1Ü˜˜H™ yÔ1Ü˜˜E™ FÔ+Ø× Ñ  IÒ-Ð-Ð-Ø�~‰~ Ò*Ð*Ð*Ø×ÑÐ'Ð'Ñ'r   c                óö   — t        j                  t        j                  j	                  d«      j                  d«      «      }t        j                  |j                  d d …df<   t        |j                  d¬«       y )Nr#   )r§   rQ   r   r~   r�   )
r0   r1   r2   r3   r4   r\   ÚnanÚlocr   ra   ©r@   rB   s     r   Útest_boxplot_empty_columnz,TestDataFramePlots.test_boxplot_empty_columnÑ   sM   € Ü�\‰\œ"Ÿ)™)×/Ñ/°Ó2×BÑBÀ7ÓKÓLˆÜ—v‘vˆ�‰Šq�!ˆt‰Ü˜"Ÿ*™*°&Ö9r   c                óH  — t        j                  t        j                  j	                  d«      j                  d«      g d¢¬«      }|j                  dd¬«      }|j                  j                  j                  dk(  sJ ‚|j                  j                  j                  d	k(  sJ ‚y )
Nr#   )r/   é   )rs   rt   ÚCÚDÚErq   r~   )é   é   )rE   ÚfigsizerÄ   rÅ   )
r0   r1   r2   r3   r4   ra   ÚfigureÚbbox_inchesÚwidthr©   )r@   rB   r™   s      r   Útest_figsizezTestDataFramePlots.test_figsizeÖ   s€   € Ü�\‰\Ü�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ò>Wô
ˆð —‘¨¸�Ó@ˆØ�}‰}×(Ñ(×.Ñ.°"Ò4Ð4Ð4Ø�}‰}×(Ñ(×/Ñ/°1Ò4Ð4Ñ4r   c                ót   — t        j                  dg d¢i«      }t        |j                  dd¬«      dd¬«       y )NÚa©r%   r#   r&   rQ   rÀ   rP   é   )Úfontsize©Ú
xlabelsizeÚ
ylabelsize©r0   r1   r   ra   r½   s     r   Útest_fontsizez TestDataFramePlots.test_fontsizeÞ   s0   € Ü�\‰\˜3Ò 2Ð3Ó4ˆÜ˜2Ÿ:™: c°B˜:Ó7ÀBÐSUÖVr   c                óV  — t        j                  t        j                  dd¬«      t        j                  j                  d«      j                  d«      t        j                  j                  d«      j                  d«      dz   t        j                  dd¬«      j                  t        «      t        j                  ddd¬«      t        j                  dd¬«      dœ«      }|j                  d	¬
«      }|j                  «       D �cg c]  }|j                  «       ‘Œ c}ddgk(  sJ ‚y c c}w )Nz
2012-01-01r/   )Úperiodsr#   ÚUTC)rÖ   Útzz1 days)rÌ   ÚbÚcr’   ÚeÚfÚbox)r-   rÙ   rÚ   )r0   r1   Ú
date_ranger2   r3   r4   r\   ÚastypeÚstrÚtimedelta_ranger7   r8   r:   )r@   rB   r   rC   s       r   Útest_boxplot_numeric_dataz,TestDataFramePlots.test_boxplot_numeric_dataâ   sÜ   € ä�\‰\ä—]‘] <¸Ô<Ü—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÀAÑEÜ—]‘] <¸Ô<×CÑCÄCÓHÜ—]‘] <¸ÀÔFÜ×'Ñ'¨¸"Ô=ñó	
ˆð �W‰W˜%ˆWÓ ˆØ&(×&8Ñ&8Ó&:Ö; �—
‘
•Ò;ÀÀS¸zÒIÐIÑIùÒ;s   ÄD&zcolors_kwd, expectedÚrrÙ   ÚgrÚ   )ÚboxesÚwhiskersÚmediansÚcapsrå   c                ó  — t        j                  t        j                  j	                  d«      j                  d«      «      }|j                  |d¬«      }|j                  «       D ]   \  }}||   d   j                  «       |k(  rŒ J ‚ y )Nr#   rn   rF   ©ÚcolorrE   r   )r0   r1   r2   r3   r4   ra   ÚitemsÚ	get_color)r@   Ú
colors_kwdÚexpectedrB   r™   ÚkÚvs          r   Útest_color_kwdz!TestDataFramePlots.test_color_kwdñ   sw   € ô �\‰\œ"Ÿ)™)×/Ñ/°Ó2×9Ñ9¸'ÓBÓCˆØ—‘ *¸&�ÓAˆØ—N‘NÓ$ò 	1‰DˆAˆqØ˜!‘9˜Q‘<×)Ñ)Ó+¨qÓ0Ð0Ð0ñ	1r   zscheme,expectedÚdark_backgroundz#8dd3c7z#bfbbd9Údefaultz#1f77b4z#2ca02cc                ó˜  — t        j                  t        j                  j	                  d«      j                  d«      «      }t
        j                  j                  |«       |j                  j                  d¬«      }|j                  «       D ];  \  }}t        j                  j                  ||   d   j                  «       |«      rŒ;J ‚ y )Nr#   rn   rF   r�   r   )r0   r1   r2   r3   r4   r=   ÚstyleÚuser7   rÝ   rì   r{   ÚcolorsÚ
same_colorrí   )r@   Úschemerï   rB   r™   rð   rñ   s          r   Útest_colors_in_themez'TestDataFramePlots.test_colors_in_theme  s—   € ô2 �\‰\œ"Ÿ)™)×/Ñ/°Ó2×9Ñ9¸'ÓBÓCˆÜ�	‰	�‰�fÔØ—‘—‘¨�Ó0ˆØ—N‘NÓ$ò 	F‰DˆAˆqÜ—:‘:×(Ñ(¨°©°1©×)?Ñ)?Ó)AÀ1ÕEÐEÐEñ	Fr   zdict_colors, msg)rå   Úinvalid_keyzinvalid key 'invalid_key'c                ó  — t        j                  t        j                  j	                  d«      j                  d«      «      }t        j                  t        |¬«      5  |j                  |d¬«       d d d «       y # 1 sw Y   y xY w)Nr#   rn   rˆ   rF   rê   )	r0   r1   r2   r3   r4   rž   rŸ   r    ra   )r@   Údict_colorsrd   rB   s       r   Útest_color_kwd_errorsz(TestDataFramePlots.test_color_kwd_errors"  s_   € ô �\‰\œ"Ÿ)™)×/Ñ/°Ó2×9Ñ9¸'ÓBÓCˆÜ�]‰]œ:¨SÔ1ñ 	>Ø�J‰J˜[°fˆJÔ=÷	>÷ 	>ñ 	>ús   ÁA:Á:Bzprops, expected))Úboxpropsrå   )Úwhiskerpropsræ   )Úcappropsrè   )Úmedianpropsrç   c           	     ó  — t        j                  dD �ci c]1  }|t        j                  j	                  d«      j                  d«      “Œ3 c}«      }|ddii} |j
                  d	ddi|¤Ž}||   d   j                  «       dk(  sJ ‚y c c}w )
NÚABCr#   r/   rë   ÚC1rE   rF   r   © )r0   r1   r2   r3   r4   ra   rí   )r@   Úpropsrï   rð   rB   Úkwdr™   s          r   Útest_specified_props_kwdz+TestDataFramePlots.test_specified_props_kwd,  s‰   € ô �\‰\È5ÖQÀa˜1œbŸi™i×3Ñ3°AÓ6×=Ñ=¸bÓAÑAÒQÓRˆØ�w �oÐ&ˆØ�—‘Ñ6¨Ð6°#Ñ6ˆà�hÑ Ñ"×,Ñ,Ó.°$Ò6Ð6Ñ6ùò	 Rs   ”6Bz!ignore:set_ticklabels:UserWarningc                óÎ  — t        j                  t        j                  j	                  d«      j                  d«      t        j                  j	                  d«      j                  d«      t        j                  j	                  d«      j                  ddgd«      dœ«      }d\  }} |j                  d	d||dœ|¤Ž}|j                  «       |k(  sJ ‚|j                  «       |k(  sJ ‚y )
Nr#   r/   Úgroup1Úgroup2©rÌ   rÙ   Úgroup©rC   ÚyrÝ   )r-   ÚxlabelÚylabelr  )
r0   r1   r2   r3   r4   r\   r5   r7   Ú
get_xlabelÚ
get_ylabel©r@   r   rB   r  r  r   s         r   Útest_plot_xlabel_ylabelz*TestDataFramePlots.test_plot_xlabel_ylabel=  sÂ   € ä�\‰\ä—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜŸ™×.Ñ.¨qÓ1×8Ñ8¸(ÀHÐ9MÈrÓRñó
ˆð "‰ˆ�ØˆR�W‰WÐF˜%¨°vÑFÀÑFˆØ�}‰}‹ &Ò(Ð(Ð(Ø�}‰}‹ &Ò(Ð(Ñ(r   c                ó8  — t         j                  j                  d«      }t        j                  |j                  ddd¬«      t        d«      ¬«      }t        j                  |j                  ddd¬«      t        d«      ¬«      }d\  }}t        j                  dd	d
¬«      \  }} |j                  j                  d|d   ||dœ|¤Ž  |j                  j                  d|d   ||dœ|¤Ž |D ],  }	|	j                  «       |k(  sJ ‚|	j                  «       |k(  rŒ,J ‚ y )Nr#   r   éd   )r/   rQ   ©ÚsizeÚABCDrq   r  )r/   é   T)ÚncolsrÆ   Úsharey)r   r  r  r%   r  )r2   r3   r4   r0   r1   r®   r?   r=   r}   r7   rÝ   r  r  )
r@   r   ÚrngÚdf1Údf2r  r  r   Úaxsr   s
             r   Útest_plot_boxz TestDataFramePlots.test_plot_boxK  sú   € ô �i‰i×#Ñ# AÓ&ˆÜ�l‰l˜3Ÿ<™<¨¨3°W˜<Ó=ÄtÈFÃ|ÔTˆÜ�l‰l˜3Ÿ<™<¨¨3°W˜<Ó=ÄtÈFÃ|ÔTˆà!‰ˆ�Ü—‘ A¨w¸t�ÓD‰ˆˆ3Øˆ�‰�‰ÐE˜˜A™ v°fÑEÀÒEØˆ�‰�‰ÐE˜˜A™ v°fÑEÀÒEØò 	-ˆBØ—=‘=“? fÒ,Ð,Ð,Ø—=‘=“? fÓ,Ð,Ð,ñ	-r   c                óÌ  — t        j                  t        j                  j	                  d«      j                  d«      t        j                  j	                  d«      j                  d«      t        j                  j	                  d«      j                  ddgd«      dœ«      }d\  }} |j                  d||dœ|¤Ž}|j                  «       |k(  sJ ‚|j                  «       |k(  sJ ‚y )	Nr#   r/   r  r  r  r  )r  r  r  ©
r0   r1   r2   r3   r4   r\   r5   ra   r  r  r  s         r   Útest_boxplot_xlabel_ylabelz-TestDataFramePlots.test_boxplot_xlabel_ylabelZ  sÀ   € ä�\‰\ä—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜŸ™×.Ñ.¨qÓ1×8Ñ8¸(ÀHÐ9MÈrÓRñó
ˆð "‰ˆ�ØˆR�Z‰ZÐ=˜v¨fÑ=¸Ñ=ˆØ�}‰}‹ &Ò(Ð(Ð(Ø�}‰}‹ &Ò(Ð(Ñ(r   c                óÜ  — t        j                  t        j                  j	                  d«      j                  d«      t        j                  j	                  d«      j                  d«      t        j                  j	                  d«      j                  ddgd«      dœ«      }d\  }} |j                  d	d||dœ|¤Ž}|D ],  }|j                  «       |k(  sJ ‚|j                  «       |k(  rŒ,J ‚ y )
Nr#   r/   r  r  r  r  r  )rK   r  r  r  r&  )r@   r   rB   r  r  r   Úsubplots          r   Ú test_boxplot_group_xlabel_ylabelz3TestDataFramePlots.test_boxplot_group_xlabel_ylabelh  s×   € ä�\‰\ä—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜŸ™×.Ñ.¨qÓ1×8Ñ8¸(ÀHÐ9MÈrÓRñó
ˆð "‰ˆ�ØˆR�Z‰ZÐI˜7¨6¸&ÑIÀDÑIˆØò 	2ˆGØ×%Ñ%Ó'¨6Ò1Ð1Ð1Ø×%Ñ%Ó'¨6Ó1Ð1Ð1ñ	2r   c                ó`  — |j                  t        j                  j                  |ddik(  |› d�¬«      «       t	        j
                  t        j                  j                  d«      j                  d«      t        j                  j                  d«      j                  d«      t        j                  j                  d«      j                  ddgd«      d	œ«      } |j                  dd
di|¤Ž}|D ]=  }|ddiddifv r|j                  «       n|j                  «       }|t        dg«      k(  rŒ=J ‚ y )Nr   r   z$ fails starting with matplotlib 3.10)Úreasonr#   r/   r  r  r  rK   r  r   Tr   r  )Úapplymarkerrž   ÚmarkÚxfailr0   r1   r2   r3   r4   r\   r5   ra   r  r  r	   )r@   r   r   rB   r   r)  Útarget_labels          r   Ú#test_boxplot_group_no_xlabel_ylabelz6TestDataFramePlots.test_boxplot_group_no_xlabel_ylabelw  s)  € Ø×ÑÜ�K‰K×ÑØ˜¨Ð5Ñ5Ø˜ÐCÐDð ó ô	
ô �\‰\ä—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜŸ™×.Ñ.¨qÓ1×8Ñ8¸(ÀHÐ9MÈrÓRñó
ˆð ˆR�Z‰ZÑ+˜7Ð+ dÑ+ˆØò 	;ˆGð ˜V T˜N¨]¸JÐ,GÐHÑHð ×"Ñ"Ô$à×'Ñ'Ó)ð ð
  ¤<°°	Ó#:Ó:Ð:Ð:ñ	;r   )#Ú__name__Ú
__module__Ú__qualname__rD   rž   r.  ÚslowÚparametrizerx   re   rl   ry   r�   r†   rŠ   r”   rš   r¡   r¥   r³   r¹   r¾   rÊ   rÔ   râ   rò   rû   rÿ   r
  Úfilterwarningsr  r$  r'  r*  r1  r  r   r   r    r    &   sù  „ ò
ð& ‡[�[×ÑØ‡[�[×ÑØà˜VÐ$ dÐ+Ø˜ ˜Ð'¨Ð.Ø ˜¨gÑ6¸ÐDØ˜¨°Ð':Ñ;¸TÐBØ�Gˆ_˜kÐ*Ø�W˜hÐ'Ð(¨+Ð6Ø�qˆ\˜4Ð Ø aÑ(¨+Ð6ð		
óñ4óó ð4òSò2òò	$ò0ò1ò3ò
/ð ‡[�[×Ñ˜]Ò,DÓEñ
4ó Fð
4ò.ò(ò:ò
5òWòJð ‡[�[×ÑØð ¨3¸3ÈÑLØ¨3¸3ÈÑLðð �sˆ^˜g s˜^Ð,Ø˜C¨S¸SÈ#ÑNÐOð	
ó
ñ1ó
ð1ð ‡[�[×ÑØð "à&Ø )Ø(Ø%ñ	ðð à&Ø )Ø(Ø%ñ	ðð	
óñ.Fó/ð.Fð ‡[�[×ÑØØ¨Ñ
,Ð.IÐ	JÐKóñ>ó	ð>ð ‡[�[×ÑØò	
óñ7óð7ð ‡[�[×ÑÐ CÓDñ)ó Eð)ð ‡[�[×ÑÐ CÓDñ-ó Eð-ð ‡[�[×ÑÐ CÓDñ)ó Eð)ð ‡[�[×ÑÐ CÓDñ2ó Eð2ó;r   r    c            
      ó0  — e Zd Zd„ Zd„ Zej                  j                  d„ «       Zej                  j                  d„ «       Z	d„ Z
d„ Zej                  j                  d„ «       Zej                  j                  d„ «       Zej                  j                  ej                  j                  d	g d
¢«      d„ «       «       Zej                  j                  ej                  j                  d	g d
¢«      d„ «       «       Zej                  j                  d„ «       Zej                  j                  d„ «       Zej                  j                  d„ «       Zej                  j                  ej                  j                  dg d¢g d¢g d¢g«      d„ «       «       Zej                  j                  ej                  j                  dddgddgddgg«      d„ «       «       Zej                  j                  d„ «       Zej                  j                  ej                  j                  dddg«      d „ «       «       Zej                  j                  ej                  j                  d!d"d"gdd#gg«      d$„ «       «       Zej                  j                  ej                  j                  d%d"d"gdd#gg«      d&„ «       «       Zej                  j                  d'„ «       Zej                  j                  d(„ «       Zej                  j                  d)„ «       Zd*„ Zej                  j                  d+d,g d-¢fd,gg d-¢fd.g d/¢fd,d.gg d0¢fd1g d0¢fg«      d2„ «       Zej                  j                  d3ddg«      d4„ «       Zd5„ Z d6„ Z!ej                  j                  d7d8d8d9gg«      d:„ «       Z"y1);ÚTestDataFrameGroupByPlotsc                óþ   — |j                  d¬«      }d}t        j                  t        d|¬«      5  t	        |j
                  d¬«      }d d d «       t        t        j                  «      dd	¬
«       y # 1 sw Y   Œ+xY w)NÚgenderrw   rX   FrY   r~   r�   r#   )r%   r#   ©Úaxes_numÚlayout)	r„   r_   r`   rx   r   ra   r   r?   r�   )r@   r˜   Úgroupedrd   r~   s        r   re   z.TestDataFrameGroupByPlots.test_boxplot_legacy1�  sh   € Ø—/‘/ X�/Ó.ˆØFˆÜ×'Ñ'¬ÀeÐSVÔWñ 	JÜ$ W§_¡_À&ÔIˆD÷	Jäœ$˜tŸ{™{Ó+°aÀÖG÷	Jð 	Jús   ±A3Á3A<c                óv   — |j                  d¬«      }t        |j                  ddd¬«      }t        |dd¬	«       y )
Nr;  rw   TFr~   ©Údefault_axesr}   rE   r%   rµ   r<  )r„   r   ra   r   )r@   r˜   r?  r~   s       r   Ú test_boxplot_legacy1_return_typez:TestDataFrameGroupByPlots.test_boxplot_legacy1_return_type—  s7   € Ø—/‘/ X�/Ó.ˆÜ Ø�O‰O¨$¸ÈFô
ˆô 	˜$¨°6Ö:r   c                ó  — t        t        j                  d d t        d«      d¬«      }t	        j
                  t        j                  j                  d«      j                  d«      t        j                  j                  |«      ¬«      }|j                  d¬«      }d	}t        j                  t        d
|¬«      5  t        |j                   d¬«      }d d d «       t#        t%        j&                  «      dd¬«       y # 1 sw Y   Œ+xY w)Nr/   T©Ústrictr#   ©r/   r&   r*   r%   ©ÚlevelrX   FrY   r~   r�   )rQ   r&   r<  )Úzipr]   r^   Úranger0   r1   r2   r3   r4   Ú
MultiIndexÚfrom_tuplesr„   r_   r`   rx   r   ra   r   r?   r�   )r@   ÚtuplesrB   r?  rd   r~   s         r   ry   z.TestDataFrameGroupByPlots.test_boxplot_legacy2ž  sÆ   € ä”V×)Ñ)¨#¨2Ð.´°b³	À$ÔGˆÜ�\‰\Ü�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ü—-‘-×+Ñ+¨FÓ3ô
ˆð —*‘* 1�*Ó%ˆØFˆÜ×'Ñ'¬ÀeÐSVÔWñ 	JÜ$ W§_¡_À&ÔIˆD÷	Jäœ$˜tŸ{™{Ó+°bÀÖH÷	Jð 	Jús   Â9C;Ã;Dc                ó†  — t        t        j                  d d t        d«      d¬«      }t	        j
                  t        j                  j                  d«      j                  d«      t        j                  j                  |«      ¬«      }|j                  d¬«      }t        |j                  dd	d
¬«      }t        |dd¬«       y )Nr/   TrE  r#   rG  r*   r%   rH  Fr~   rA  rµ   r<  )rJ  r]   r^   rK  r0   r1   r2   r3   r4   rL  rM  r„   r   ra   r   )r@   rN  rB   r?  r~   s        r   Ú test_boxplot_legacy2_return_typez:TestDataFrameGroupByPlots.test_boxplot_legacy2_return_type«  s•   € ä”V×)Ñ)¨#¨2Ð.´°b³	À$ÔGˆÜ�\‰\Ü�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ü—-‘-×+Ñ+¨FÓ3ô
ˆð —*‘* 1�*Ó%ˆÜ Ø�O‰O¨$¸ÈFô
ˆô 	˜$¨°6Ö:r   c                ó.  — d}t        j                  t        j                  j	                  d«      j                  dd|¬«      «      }t        j                  t        j                  j	                  d«      j                  dd|¬«      «      }t        j                  j	                  d«      j                  ddg|¬«      }t        j                  |||d	œ«      }|j                  d
«      }|j                  «       }t        t        j                  j                  «       «      dk(  sJ ‚t        |«      dk(  sJ ‚t        j                  d«       |j!                  d¬«      }t        t        j                  j                  «       «      dk(  sJ ‚t        |«      dk(  sJ ‚y )Nr/   r#   é¦   r§   r  é<   ÚmaleÚfemale©r©   rª   r;  r;  Úallr~   r�   r%   )r0   rh   r2   r3   r4   Únormalr5   r1   r„   r7   r�   r{   r|   Úget_fignumsr=   Úclosera   )r@   rA   rª   r©   r;  rB   ÚgbÚress           r   Útest_grouped_plot_fignumsz3TestDataFrameGroupByPlots.test_grouped_plot_fignums¸  s8  € ØˆÜ—‘œ2Ÿ9™9×0Ñ0°Ó3×:Ñ:¸3ÀÈÐ:ÓKÓLˆÜ—‘œ2Ÿ9™9×0Ñ0°Ó3×:Ñ:¸2¸rÈÐ:ÓJÓKˆÜ—‘×&Ñ& qÓ)×0Ñ0°&¸(Ð1CÈ!Ð0ÓLˆÜ�\‰\ V°vÈÑPÓQˆØ�Z‰Z˜Ó!ˆà�g‰g‹iˆÜ”3—:‘:×)Ñ)Ó+Ó,°Ò1Ð1Ð1Ü�3‹x˜1Š}Ðˆ}Ü�	‰	�%Ôà�j‰j VˆjÓ,ˆÜ”3—:‘:×)Ñ)Ó+Ó,°Ò1Ð1Ð1Ü�3‹x˜1Š}Ð‰}r   c                óì  — d}t        j                  t        j                  j	                  d«      j                  dd|¬«      «      }t        j                  t        j                  j	                  d«      j                  dd|¬«      «      }t        j                  j	                  d«      j                  ddg|¬«      }t        j                  |||d	œ«      }|j                  d
«      j                  «        y )Nr/   r#   rR  r§   r  rS  rT  rU  rV  r;  )
r0   rh   r2   r3   r4   rX  r5   r1   r„   Úhist)r@   rA   rª   r©   r;  rB   s         r   Ú&test_grouped_plot_fignums_excluded_colz@TestDataFrameGroupByPlots.test_grouped_plot_fignums_excluded_colÉ  s¸   € ØˆÜ—‘œ2Ÿ9™9×0Ñ0°Ó3×:Ñ:¸3ÀÈÐ:ÓKÓLˆÜ—‘œ2Ÿ9™9×0Ñ0°Ó3×:Ñ:¸2¸rÈÐ:ÓJÓKˆÜ—‘×&Ñ& qÓ)×0Ñ0°&¸(Ð1CÈ!Ð0ÓLˆÜ�\‰\ V°vÈÑPÓQˆà
�
‰
�8Ó×!Ñ!Õ#r   c                ó„   — |}|j                  d¬«      }t        |t        j                  «      sJ ‚t	        |d g d¢¬«       y )Nr;  rw   ©r©   rª   r«   ©Úexpected_keys)ra   r–   r2   Úndarrayr   ©r@   r˜   rB   r™   s       r   Útest_grouped_box_return_typez6TestDataFrameGroupByPlots.test_grouped_box_return_typeÒ  s=   € àˆð —‘˜x�Ó(ˆÜ˜&¤"§*¡*Ô-Ð-Ð-ÜØ�DÒ(Hö	
r   c                ój   — |}|j                  d«      j                  d¬«      }t        |dddg¬«       y )Nr;  rF   r�   ÚMaleÚFemalerc  ©r„   ra   r   rf  s       r   Ú$test_grouped_box_return_type_groupbyz>TestDataFrameGroupByPlots.test_grouped_box_return_type_groupbyÝ  s4   € àˆà—‘˜HÓ%×-Ñ-¸&Ð-ÓAˆÜ˜v v¸fÀhÐ=OÖPr   rE   r¢   c                ó°   — |}|j                  d«      j                  |¬«      }t        ||g d¢¬«       |j                  d|¬«      }t        ||g d¢¬«       y )NÚ	classroomr�   ©rs   rt   rÁ   rc  ©rK   rE   rb  rk  )r@   r˜   rE   rB   Úreturneds        r   Ú test_grouped_box_return_type_argz:TestDataFrameGroupByPlots.test_grouped_box_return_type_argä  sS   € ð ˆà—:‘:˜kÓ*×2Ñ2¸{Ð2ÓKˆÜ˜x¨ÂOÕTà—:‘: ¸+�:ÓFˆÜØ�kÒ1Qö	
r   c                óz  — dj                  «       }t        j                  t        j                  j                  d«      j                  d«      |¬«      }dj                  «       }|dz  |d<   |j                  d«      j                  |¬«      }t        |||¬	«       |j                  d|¬
«      }t        |||¬	«       y )Nz	X B C D Ar#   )rP   rÀ   rq   zA Br&   r«   r�   rc  rp  )
Úsplitr0   r1   r2   r3   r4   r\   r„   ra   r   )r@   rE   Úcolumns2r"  Úcategories2rq  s         r   Ú.test_grouped_box_return_type_arg_duplcate_catszHTestDataFrameGroupByPlots.test_grouped_box_return_type_arg_duplcate_catsñ  sŸ   € ð ×$Ñ$Ó&ˆÜ�l‰lÜ�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Àhô
ˆð —k‘k“mˆØ%¨™/ˆˆJ‰à—;‘;˜zÓ*×2Ñ2¸{Ð2ÓKˆÜ˜x¨ÀKÕPà—;‘; *¸+�;ÓFˆÜ˜x¨ÀHÖMr   c                ó¬   — |}d}t        j                  t        |¬«      5  |j                  ddg|j                  d¬«       d d d «       y # 1 sw Y   y xY w)Nz1Layout of 1x1 must be larger than required size 2rˆ   rª   r©   rµ   ©rG   rK   r>  ©rž   rŸ   r    ra   r;  ©r@   r˜   rB   rd   s       r   Ú!test_grouped_box_layout_too_smallz;TestDataFrameGroupByPlots.test_grouped_box_layout_too_small  sN   € àˆàAˆÜ�]‰]œ:¨SÔ1ñ 	QØ�J‰J˜x¨Ð2°r·y±yÈˆJÔP÷	Q÷ 	Qñ 	Qúó    !A
Á
Ac                ó˜   — |}d}t        j                  t        |¬«      5  |j                  g d¢dd¬«       d d d «       y # 1 sw Y   y xY w)Nz7The 'layout' keyword is not supported when 'by' is Nonerˆ   rb  )r#   r%   rF   ©rG   r>  rE   )rž   rŸ   r    ra   r{  s       r   Ú test_grouped_box_layout_needs_byz:TestDataFrameGroupByPlots.test_grouped_box_layout_needs_by	  sI   € àˆØGˆÜ�]‰]œ:¨SÔ1ñ 	Ø�J‰JÚ7ØØ"ð ô ÷	÷ 	ñ 	ús    A Á A	c                ó¬   — |}d}t        j                  t        |¬«      5  |j                  ddg|j                  d¬«       d d d «       y # 1 sw Y   y xY w)Nz1At least one dimension of layout must be positiverˆ   rª   r©   )éÿÿÿÿr‚  ry  rz  r{  s       r   Ú'test_grouped_box_layout_positive_layoutzATestDataFrameGroupByPlots.test_grouped_box_layout_positive_layout  sN   € àˆØAˆÜ�]‰]œ:¨SÔ1ñ 	SØ�J‰J˜x¨Ð2°r·y±yÈˆJÔR÷	S÷ 	Sñ 	Súr}  zgb_key, axes_num, rows)r;  r#   r%   )r«   rQ   r#   )rn  r&   r#   c                ó(  — |}d}t        j                  t        d|¬«      5  t        |j	                  |«      j
                  dd¬«       d d d «       t        t        j                  j                  «       j                  ||df¬«       y # 1 sw Y   Œ@xY w)	NrX   FrY   r©   rF   ©rG   rE   r#   r<  ©r_   r`   rx   r   r„   ra   r   r{   r|   Úgcfr~   )r@   r˜   Úgb_keyr=  ÚrowsrB   rd   s          r   Ú,test_grouped_box_layout_positive_layout_axeszFTestDataFrameGroupByPlots.test_grouped_box_layout_positive_layout_axes  sx   € ð ˆàFˆÜ×'Ñ'¬ÀeÐSVÔWñ 	ÜØ—
‘
˜6Ó"×*Ñ*°8Èõ÷	ô 	œ#Ÿ*™*Ÿ.™.Ó*×/Ñ/¸(ÈDÐRSÈ9ÖU÷		ð 	ús   ¡(BÂBzcol, visibler©   Frª   Tr«   c                ó(  — |}|j                  g d¢dd¬«      }t        t        j                  j	                  «       j
                  dd¬«       ||   }t        |j                  «       |¬«       t        |j                  j                  «       g|¬«       y )	Nrb  r;  r~   )rG   rK   rE   r&   ©r#   r#   r<  )Úvisible)
ra   r   r{   r|   r‡  r~   r   r8   ÚxaxisÚ	get_label)r@   r˜   r   r�  rB   r~   r   s          r   Útest_grouped_box_layout_visiblez9TestDataFrameGroupByPlots.test_grouped_box_layout_visible,  sx   € ð
 ˆà�z‰zÚ3¸Èfð ó 
ˆô 	œ#Ÿ*™*Ÿ.™.Ó*×/Ñ/¸!ÀFÕKØ�#‰YˆÜ�r×)Ñ)Ó+°WÕ=Ü˜Ÿ™×*Ñ*Ó,Ð-°wÖ?r   c                ó¸   — |}|j                  d«      j                  g d¢d¬«       t        t        j                  j                  «       j                  dd¬«       y )Nrn  rb  rF   r…  r&   rŒ  r<  ©r„   ra   r   r{   r|   r‡  r~   )r@   r˜   rB   s      r   Útest_grouped_box_layout_shapez7TestDataFrameGroupByPlots.test_grouped_box_layout_shape;  sG   € àˆØ
�
‰
�;Ó×'Ñ'Ú3Àð 	(ô 	
ô 	œ#Ÿ*™*Ÿ.™.Ó*×/Ñ/¸!ÀFÖKr   Úcolsr#   r‚  c                ó*  — |}d}t        j                  t        d|¬«      5  t        |j	                  d«      j
                  dd|fd¬«       d d d «       t        t        j                  j                  «       j                  d	d
¬«       y # 1 sw Y   Œ>xY w)NrX   FrY   r«   r©   r&   rF   r  rQ   )r&   r#   r<  r†  )r@   r˜   r”  rB   rd   s        r   Útest_grouped_box_layout_worksz7TestDataFrameGroupByPlots.test_grouped_box_layout_worksC  s|   € ð ˆØFˆÜ×'Ñ'¬ÀeÐSVÔWñ 	ÜØ—
‘
˜:Ó&×.Ñ.ØØ˜4�yØ"õ	÷	ô 	œ#Ÿ*™*Ÿ.™.Ó*×/Ñ/¸!ÀFÖK÷	ð 	ús   ¡+B	Â	Bz	rows, resrQ   r&   c                ó¤   — |}|j                  g d¢d|df¬«       t        t        j                  j	                  «       j
                  d|df¬«       y )Nrb  r;  r%   ry  r&   r<  )ra   r   r{   r|   r‡  r~   )r@   r˜   r‰  r\  rB   s        r   Ú'test_grouped_box_layout_axes_shape_rowszATestDataFrameGroupByPlots.test_grouped_box_layout_axes_shape_rowsQ  sI   € ð ˆØ
�
‰
Ú3¸È$ÐPQÈð 	ô 	
ô 	œ#Ÿ*™*Ÿ.™.Ó*×/Ñ/¸!ÀSÈ!ÀHÖMr   z	cols, resc                óÂ   — |}|j                  d«      j                  g d¢d|fd¬«       t        t        j                  j                  «       j                  dd|f¬«       y )Nrn  rb  r%   rF   r  r&   r<  r’  )r@   r˜   r”  r\  rB   s        r   Ú/test_grouped_box_layout_axes_shape_cols_groupbyzITestDataFrameGroupByPlots.test_grouped_box_layout_axes_shape_cols_groupbyZ  sU   € ð ˆØ
�
‰
�;Ó×'Ñ'Ú3Ø�t�9Øð 	(ô 	
ô
 	œ#Ÿ*™*Ÿ.™.Ó*×/Ñ/¸!ÀQÈÀHÖMr   c                ó\  — |}t        j                  t        d¬«      5  t        j                  j                  dd«      \  }}|j                  d«      j                  dd|¬«       t        t        j                  j                  «       j                  dd	¬
«       d d d «       y # 1 sw Y   y xY w)Núsharex and shareyrˆ   r#   r«   r©   r~   ©rG   rE   r   rQ   rŒ  r<  )r_   r`   rx   r{   r|   r}   r„   ra   r   r‡  r~   )r@   r˜   rB   r   r~   s        r   Útest_grouped_box_multiple_axesz8TestDataFrameGroupByPlots.test_grouped_box_multiple_axese  s‹   € ð ˆô ×'Ñ'¬Ð;NÔOñ 	PÜ—j‘j×)Ñ)¨!¨QÓ/‰GˆAˆtØ�J‰J�zÓ"×*Ñ*°(ÈÐSWÐ*ÔXÜœcŸj™jŸn™nÓ.×3Ñ3¸aÈÕO÷	P÷ 	Pñ 	Pús   žA;B"Â"B+c                ó  — |}t         j                  j                  dd«      \  }}t        j                  t
        d¬«      5  |j                  g d¢dd|d   ¬	«      }d d d «       t        j                  t        j                  «      «      }t        |dd
¬«       t        j                  ||d   «       |d   j                  |u sJ ‚t        j                  t
        d¬«      5  |j                  d«      j                  g d¢d|d   ¬«      }d d d «       t        j                  t        |j                  «      «      }t        |dd
¬«       t        j                  ||d   «       |d   j                  |u sJ ‚y # 1 sw Y   �ŒxY w# 1 sw Y   ŒyxY w)Nr#   r&   rœ  rˆ   rb  r;  r~   r   )rG   rK   rE   r   )r%   r&   r<  rn  r%   r�  )r{   r|   r}   r_   r`   rx   ra   r2   Úarrayr?   r�   r   Úassert_numpy_array_equalrÇ   r„   )r@   r˜   rB   r…   r~   rq  s         r   Ú%test_grouped_box_multiple_axes_on_figz?TestDataFrameGroupByPlots.test_grouped_box_multiple_axes_on_figt  sb  € ð ˆÜ—J‘J×'Ñ'¨¨1Ó-‰	ˆˆTÜ×'Ñ'¬Ð;NÔOñ 	Ø—z‘zÚ7ØØ"Ø˜‘7ð	 "ó ˆH÷	ô —8‘8œD §¡Ó1Ó2ˆÜ˜(¨Q°vÕ>Ü
×#Ñ# H¨d°1©gÔ6Ø˜‰{×!Ñ! SÑ(Ð(Ð(ô ×'Ñ'¬Ð;NÔOñ 	Ø—z‘z +Ó.×6Ñ6Ú7ÀVÐPTÐUVÑPWð 7ó ˆH÷	ô —8‘8œD §¡Ó1Ó2ˆÜ˜(¨Q°vÕ>Ü
×#Ñ# H¨d°1©gÔ6Ø˜‰{×!Ñ! SÑ(Ð(Ñ(÷)	ñ 	ú÷	ð 	ús   ÁE5Ã!)FÅ5E?ÆFc                óT  — |}d}t         j                  j                  dd«      \  }}t        j                  t
        |¬«      5  t        j                  t        d¬«      5  |j                  d«      j                  |¬«      }d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nz@The number of passed axes must be 3, the same as the output plotr#   r&   rˆ   rœ  rn  )r   )r{   r|   r}   rž   rŸ   r    r_   r`   rx   r„   ra   )r@   r˜   rB   rd   r   r~   s         r   Ú'test_grouped_box_multiple_axes_ax_errorzATestDataFrameGroupByPlots.test_grouped_box_multiple_axes_ax_error�  s›   € ð ˆØPˆÜ—*‘*×%Ñ% a¨Ó+‰ˆˆ4Ü�]‰]œ:¨SÔ1ñ 	@ä×+Ñ+¬KÐ?RÔSñ @Ø—z‘z +Ó.×6Ñ6¸$Ð6Ó?�÷@÷	@ð 	@÷@ð @ú÷	@ð 	@ús$   ÁBÁ"BÂBÂB	ÂBÂB'c                ó|   — t        j                  g d¢g d¢dœ«      }t        |j                  ddd¬«      dd¬«       y )	NrÍ   )r   r   r   r%   r%   r%   )rÌ   rÙ   rÌ   rÙ   rÎ   )rK   rÏ   rÐ   rÓ   r½   s     r   rÔ   z'TestDataFrameGroupByPlots.test_fontsizeš  s5   € Ü�\‰\Ò 2Ò9KÑLÓMˆÜØ�J‰J�s˜s¨RˆJÓ0¸RÈBö	
r   zcol, expected_xticklabelrñ   )ú(a, v)ú(b, v)ú(c, v)ú(d, v)ú(e, v)Úv1)ú(a, v1)ú(b, v1)ú(c, v1)ú(d, v1)ú(e, v1))
r¦  r¬  r§  r­  r¨  r®  r©  r¯  rª  r°  Nc                ó  — t        j                  t        j                  j	                  d«      j                  t        d«      d«      t        j                  j	                  d«      j                  d«      t        j                  j	                  d«      j                  d«      dœ«      }|j                  d«      }t        |j                  dd|d¬	«      }|j                  «       D �cg c]  }|j                  «       ‘Œ }}||k(  sJ ‚y c c}w )
Nr#   Úabcder  )Úcatrñ   r«  r³  TFr~   )rB  r}   rG   rE   )r0   r1   r2   r3   r4   r5   r?   r„   r   ra   r8   r:   )r@   r   Úexpected_xticklabelrB   r?  r~   rC   Úresult_xticklabels           r   Ú#test_groupby_boxplot_subplots_falsez=TestDataFrameGroupByPlots.test_groupby_boxplot_subplots_false   sÜ   € ôP �\‰\ä—y‘y×,Ñ,¨QÓ/×6Ñ6´t¸G³}ÀcÓJÜ—Y‘Y×*Ñ*¨1Ó-×4Ñ4°SÓ9Ü—i‘i×+Ñ+¨AÓ.×5Ñ5°cÓ:ñó
ˆð —*‘*˜UÓ#ˆä Ø�O‰OØØØØô
ˆð 48×3GÑ3GÓ3IÖJ¨a˜QŸZ™Z�\ÐJÐÐJØ"Ð&7Ò7Ð7Ñ7ùò Ks   Ã%Dr}   c                ó–  — t        j                  t        j                  g d¢d«      t        j                  j                  d«      j	                  d«      t        j                  j                  d«      j	                  d«      dœ«      }|j                  d«      dg   }|rSt        |j                  ddd	¬
«      }|D ]4  }|j                  «       D �cg c]  }|j                  «       ‘Œ c}dgk(  rŒ4J ‚ y t        |j                  ddd	¬
«      }g d¢}|j                  «       D �cg c]  }|j                  «       ‘Œ c}|k(  sJ ‚y c c}w c c}w )Nr$   é   r#   r  )r³  rg   Úotherr³  rg   Tr~   rA  F)z	(0, data)z	(1, data)z	(2, data)z	(3, data))r0   r1   r2   Úrepeatr3   r4   r„   r   ra   r8   r:   )r@   r}   rB   r?  r~   r   rC   rï   s           r   Ú#test_groupby_boxplot_subset_columnsz=TestDataFrameGroupByPlots.test_groupby_boxplot_subset_columnsÜ  s#  € ô �\‰\ä—y‘y¢¨rÓ2ÜŸ	™	×-Ñ-¨aÓ0×7Ñ7¸Ó<ÜŸ™×.Ñ.¨qÓ1×8Ñ8¸Ó=ñó
ˆð —*‘*˜UÓ# V HÑ-ˆáÜ$Ø—‘¨d¸TÈvôˆDð ò P�Ø.0×.@Ñ.@Ó.BÖC¨˜Ÿ
™
�ÒCÈÀxÓOÐOÐOñPô %Ø—‘¨d¸UÐPVôˆDò LˆHØ*.×*>Ñ*>Ó*@ÖA Q�A—J‘J•LÒAÀXÒMÐMÑMùò Dùò Bs   ÃEÄ!Ec                óÜ   — |j                  d«      }|j                  d«      }d}t        j                  t        |¬«      5  t        |j                  dd¬«       d d d «       y # 1 sw Y   y xY w)NÚobjectr;  z:boxplot method requires numerical columns, nothing to plotrˆ   TF)rB  r}   )rß   r„   rž   rŸ   r    r   ra   )r@   r˜   rB   r?  rd   s        r   Útest_groupby_boxplot_objectz5TestDataFrameGroupByPlots.test_groupby_boxplot_objectõ  sZ   € à�^‰^˜HÓ%ˆØ—*‘*˜XÓ&ˆØJˆÜ�]‰]œ:¨SÔ1ñ 	RÜ˜gŸo™o¸DÈ5ÕQ÷	R÷ 	Rñ 	Rús   Á A"Á"A+c                ó¼  — g d¢g d¢g}t        t        |ddiŽ«      }t        j                  j	                  |ddg¬«      }t        j
                  t        j                  j                  d«      j                  d	«      g d
¢|¬«      }ddg}t        |j                  |d¬«      }ddg}|j                  «       D �cg c]  }|j                  «       ‘Œ }	}||	k(  sJ ‚y c c}w )N)r,   r,   ÚbazrÀ  rW   rW   ÚquxrÁ  )rH   rI   rH   rI   rH   rI   rH   rI   rF  TÚfirstÚsecond)Únamesr#   )r&   rÅ   ro  rU   )r,   rH   )r,   rI   r~   r…  z
(bar, one)z
(bar, two))r?   rJ  r0   rL  rM  r1   r2   r3   r4   r\   r   ra   r8   r:   )
r@   ÚarraysrN  r+   rB   r   r~   r´  rC   rµ  s
             r   Útest_boxplot_multiindex_columnz8TestDataFrameGroupByPlots.test_boxplot_multiindex_columný  sØ   € ò EÚDð
ˆô ”c˜6Ð/¨$Ñ/Ó0ˆÜ—‘×)Ñ)¨&¸À(Ð8KÐ)ÓLˆÜ�\‰\Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Ú!Øô
ˆð ˜~Ð.ˆÜ  §¡°CÀVÔLˆà+¨\Ð:ÐØ37×3GÑ3GÓ3IÖJ¨a˜QŸZ™Z�\ÐJÐÐJØ"Ð&7Ò7Ð7Ñ7ùò Ks   Â8Cr  ru   rv   c           	     óD  — d}t        j                  t        j                  j	                  d«      j                  |df¬«      ddg¬«      }t        j                  t        j                  dd	gt        |dz  «      «      «      |d
<   t        j                  t        j                  ddgt        |dz  «      «      «      |d<   |j                  |«      }t        |j                  |d¬«       t        |j                  j                  |d¬«       t        |j                  d¬«       y )Nr§   rÄ   r#   r  ro   rp   rq   rs   rt   ru   rÁ   rÂ   rv   T)rK   rB  )rB  )r0   r1   r2   r3   r4   rX  rh   rº  r9   Útiler„   r   ra   r7   rÝ   )r@   r  r‰  rB   r?  s        r   Ú!test_boxplot_multi_groupby_groupsz;TestDataFrameGroupByPlots.test_boxplot_multi_groupby_groups  sÖ   € ð ˆÜ�\‰\Ü�I‰I×!Ñ! "Ó%×,Ñ,°4¸°)Ð,Ó<ÀvÈvÐFVô
ˆô —)‘)œBŸI™I s¨C j´#°d¸Q±h³-Ó@ÓAˆˆ3‰Ü—)‘)œBŸG™G S¨# J´°D¸1±H³Ó>Ó?ˆˆ3‰Ø—*‘*˜UÓ#ˆÜ˜"Ÿ*™*¨¸TÕBÜ˜"Ÿ'™'Ÿ+™+¨%¸dÕCÜ˜'Ÿ/™/¸Ö=r   )#r2  r3  r4  re   rC  rž   r.  r5  ry   rP  r]  r`  rg  rl  r6  rr  rw  r|  r€  rƒ  rŠ  r�  r“  r–  r˜  rš  rž  r¢  r¤  rÔ   r¶  r»  r¾  rÆ  rÉ  r  r   r   r9  r9  �  s  „ òHò;ð ‡[�[×Ññ
Ió ð
Ið ‡[�[×Ññ
;ó ð
;òò"$ð ‡[�[×Ññ
ó ð
ð ‡[�[×ÑñQó ðQð ‡[�[×ÑØ‡[�[×Ñ˜]Ò,DÓEñ	
ó Fó ð	
ð ‡[�[×ÑØ‡[�[×Ñ˜]Ò,DÓEñNó Fó ðNð ‡[�[×ÑñQó ðQð ‡[�[×Ññó ðð ‡[�[×ÑñSó ðSð ‡[�[×ÑØ‡[�[×ÑØ Ú	Ò-Ò/BÐCóñ
Vó	ó ð

Vð ‡[�[×ÑØ‡[�[×ÑØ˜( EÐ*¨X°tÐ,<¸zÈ4Ð>PÐQóñ	@óó ð	@ð ‡[�[×ÑñLó ðLð ‡[�[×ÑØ‡[�[×Ñ˜V a¨ WÓ-ñ
Ló .ó ð
Lð ‡[�[×ÑØ‡[�[×Ñ˜[¨A¨q¨6°B¸°7Ð*;Ó<ñNó =ó ðNð ‡[�[×ÑØ‡[�[×Ñ˜[¨A¨q¨6°B¸°7Ð*;Ó<ñNó =ó ðNð ‡[�[×ÑñPó ðPð ‡[�[×Ññ)ó ð)ð4 ‡[�[×Ññ@ó ð@ò
ð ‡[�[×ÑØ"àÒDÐEØˆUÒFÐGØÒJÐKà�d�òðð  òðð'"	
ó%ñL8óM%ðL8ð, ‡[�[×Ñ˜Z¨$°¨Ó7ñNó 8ðNò0Rò8ð* ‡[�[×Ñ˜W s¨S°#¨JÐ&7Ó8ñ>ó 9ñ>r   r9  )Ú__doc__Ú
__future__r   rŒ   r]   Únumpyr2   rž   Úpandasr0   Úpandas._testingÚ_testingr_   Úpandas.tests.plotting.commonr   r   r   r   r   Úpandas.io.formats.printingr	   Úimportorskipr{   r=   r   Úfixturer   r    r9  r  r   r   ú<module>rÔ     s“   ðÙ $å "ã Û ã Û ã Ý ÷õ õ 4à€f×Ñ˜,Ó'€Ø€f×ÑÐ-Ó.€òð €‡�˜ jÐ1Ô2ñ*ó 3ð*÷f;ñ f;÷RO>ò O>r   