Ë
    «2Úiåt  ã                  ó   — U 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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 ddlmZ ddlmZ  ej8                  d«      Z ej8                  d	«      Zd
„ Z eej@                  «       ed«      k  rddiddigZ!de"d<   nddiddigZ! ejF                  e!¬«      d„ «       Z$ G d„ d«      Z% G d„ d«      Z&y)zTest cases for .boxplot methodé    )ÚannotationsN)Ú	DataFrameÚ
MultiIndexÚSeriesÚ
date_rangeÚplottingÚtimedelta_range)Ú_check_axes_shapeÚ_check_box_return_typeÚ_check_plot_worksÚ_check_ticks_propsÚ_check_visible)ÚVersion)Ú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       ú`/var/www/html/acx/venv/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ÒÐÑó    ú3.10ÚvertFTzlist[dict[str, bool | str]]ÚvertsÚorientationÚ
horizontalÚvertical)Úparamsc                ó   — | j                   S r   )Úparam)Úrequests    r   r   r   /   s   € à�=‰=Ðr   c                  óN  — 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!ej
                  j;                  d8«      d=„ «       Z"y)>ÚTestDataFramePlotsc                ón  — d}t        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é
   )r   ÚnpÚrandomÚdefault_rngÚchoiceÚarangeÚplotÚget_xticklabelsÚintÚget_textr3   Úto_listÚ
set_xticksÚpltÚdrawÚlist)ÚselfÚnÚdfr   Úxs        r   Útest_stacked_boxplot_set_axisz0TestDataFramePlots.test_stacked_boxplot_set_axis5   sG  € àˆÜäŸ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   Ã F-Å& F2zkwargs, warnÚreturn_typeÚdictNÚcolumnÚoneÚtwoÚindic)rM   ÚbyÚindic2rQ   Únotchr-   )rQ   rS   c                ó\  — t        t        j                  j                  d«      j	                  d«      t        t        j                  d d «      g d¢¬«      }ddgdz  |d	<   g d
¢dz  |d<   t        j                  |d¬«      5  t        |j                  fi |¤Ž d d d «       y # 1 sw Y   y xY w)Nr,   ©é   é   rV   ©rN   rO   ÚthreeÚfour©r3   ÚcolumnsÚfoor4   r.   rP   )r]   r4   r]   rR   F©Úcheck_stacklevel)r   r8   r9   r:   Ústandard_normalrE   ÚstringÚascii_lettersÚtmÚassert_produces_warningr   Úboxplot)rF   ÚkwargsÚwarnrH   s       r   Útest_boxplot_legacy1z'TestDataFramePlots.test_boxplot_legacy1H   s�   € ô Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Ü”v×+Ñ+¨B¨QÐ/Ó0Ú3ô
ˆð
 ˜e�n qÑ(ˆˆ7‰Ú,¨qÑ0ˆˆ8‰ô ×'Ñ'¨¸uÔEñ 	4Ü˜bŸj™jÑ3¨FÒ3÷	4÷ 	4ñ 	4ús   ÂB"Â"B+c                ó¾   — t        t        j                  j                  d«      j	                  d«      «      }t        t        j                  j                  |d¬«       y )Nr,   rV   rL   )ÚdatarK   )	r   r8   r9   r:   r`   r   r   Ú_corere   )rF   Úsers     r   Útest_boxplot_legacy1_seriesz.TestDataFramePlots.test_boxplot_legacy1_seriesc   s<   € Ü”R—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸aÓ@ÓAˆÜœ(Ÿ.™.×0Ñ0°sÈÖOr   c                óL  — t        t        j                  j                  d«      j                  d«      ddg¬«      }t	        g d¢«      |d<   t	        dgd	z  «      |d
<   t        j                  t        d¬«      5  t        |j                  d¬«       d d d «       y # 1 sw Y   y xY w)Nr,   ©r7   r,   ÚCol1ÚCol2©r\   ©
ÚArt   rt   rt   rt   ÚBru   ru   ru   ru   ÚXrt   r7   ÚYFr^   ©rQ   )
r   r8   r9   r:   r   rc   rd   ÚUserWarningr   re   ©rF   rH   s     r   Útest_boxplot_legacy2z'TestDataFramePlots.test_boxplot_legacy2g   sˆ   € ÜÜ�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4¸vÀvÐ>Nô
ˆô ÒKÓLˆˆ3‰Ü˜#˜ ™Ó$ˆˆ3‰Ü×'Ñ'¬ÀeÔLñ 	2Ü˜bŸj™j¨SÕ1÷	2÷ 	2ñ 	2ús   Á9BÂB#c                óL  — t        t        j                  j                  d«      j                  d«      ddg¬«      }t	        g d¢«      |d<   t	        dgd	z  «      |d
<   t
        j                  j                  «       \  }}|j                  dd|¬«      }|j                  }||u sJ ‚y )Nr,   ro   rp   rq   rr   rs   rv   rt   r7   rw   )rQ   r   )
r   r8   r9   r:   r   ÚmplÚpyplotÚsubplotsre   Úaxes)rF   rH   Ú_r   r€   Úax_axess         r   Útest_boxplot_legacy2_with_axz/TestDataFramePlots.test_boxplot_legacy2_with_axp   s–   € ÜÜ�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4¸vÀvÐ>Nô
ˆô ÒKÓLˆˆ3‰Ü˜#˜ ™Ó$ˆˆ3‰ô —
‘
×#Ñ#Ó%‰ˆˆ2Ø�z‰z˜& S¨RˆzÓ0ˆØ—'‘'ˆØ˜$‰Ð‰r   c                ón  — t        t        j                  j                  d«      j                  d«      ddg¬«      }t	        g d¢«      |d<   t	        dgd	z  «      |d
<   t
        j                  j                  «       \  }}|j                  d
«      j                  |d¬«      }|j                  }||d   u sJ ‚y )Nr,   ro   rp   rq   rr   rs   rv   rt   r7   rw   r€   ©r   rK   )r   r8   r9   r:   r   r}   r~   r   Úgroupbyre   r€   )rF   rH   Úfigr   r€   r‚   s         r   Ú(test_boxplot_legacy2_with_ax_return_typez;TestDataFramePlots.test_boxplot_legacy2_with_ax_return_type}   s£   € ÜÜ�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4¸vÀvÐ>Nô
ˆô ÒKÓLˆˆ3‰Ü˜#˜ ™Ó$ˆˆ3‰Ü—*‘*×%Ñ%Ó'‰ˆˆRØ�z‰z˜#‹×&Ñ&¨"¸&Ð&ÓAˆØ—'‘'ˆØ˜$˜s™)Ñ#Ð#Ñ#r   c                óÀ  — t        t        j                  j                  d«      j                  d«      ddg¬«      }t	        g d¢«      |d<   t	        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,   ro   rp   rq   rr   rs   rv   rt   r7   rw   z6the figure containing the passed axes is being cleared©Úmatchr€   )rM   rQ   r   rK   )r   r8   r9   r:   r   r}   r~   r   rc   rd   ry   re   Ú
get_figure)rF   rH   r‡   r   Úmsgr€   s         r   Ú#test_boxplot_legacy2_with_multi_colz6TestDataFramePlots.test_boxplot_legacy2_with_multi_colˆ   sÓ   € ÜÜ�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4¸vÀvÐ>Nô
ˆô ÒKÓLˆˆ3‰Ü˜#˜ ™Ó$ˆˆ3‰ä—*‘*×%Ñ%Ó'‰ˆˆRØFˆÜ×'Ñ'¬¸3Ô?ñ 	Ø—:‘:Ø Ð'¨C°BÀFð ó ˆD÷	ð �F‰|×&Ñ&Ó(¨CÑ/Ð/Ñ/÷		ð 	ús   ÂCÃCc                óà  — t        t        j                  j                  d«      j                  d«      ddg¬«      }t	        g d¢«      |d<   t	        dgd	z  «      |d
<   t
        j                  j                  «       \  }}|j                  |d¬«      }t        t        j                  j                  |j                  «       «      «      }t        |j                  «       «      t        |«      k(  sJ ‚y )Nr,   ro   rp   rq   rr   rs   rv   rt   r7   rw   rL   r…   )r   r8   r9   r:   r   r}   r~   r   re   rE   Ú	itertoolsÚchainÚfrom_iterableÚvaluesÚlenÚ	get_lines)rF   rH   r�   r   ÚdÚliness         r   Útest_boxplot_legacy2_by_nonez/TestDataFramePlots.test_boxplot_legacy2_by_none—   s»   € ÜÜ�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4¸vÀvÐ>Nô
ˆô ÒKÓLˆˆ3‰Ü˜#˜ ™Ó$ˆˆ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   )re   Ú
isinstancer}   r~   ÚAxes)rF   Úhist_dfÚresults      r   Útest_boxplot_return_type_nonez0TestDataFramePlots.test_boxplot_return_type_none¤   s&   € à—‘Ó"ˆÜ˜&¤#§*¡*§/¡/Ô2Ð2Ñ2r   c                óp  — t        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,   rU   rV   rX   r[   z,return_type must be {'axes', 'dict', 'both'}rŠ   Ú
NOT_A_TYPE©rK   r€   )r   r8   r9   r:   r`   rE   ra   rb   ÚpytestÚraisesÚ
ValueErrorre   r   )rF   rH   r�   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   Á4B,Â,B5©rL   r€   Úbothc                ó@  — t        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,   rU   rV   rX   r[   Fr¡   )r   r8   r9   r:   r`   rE   ra   rb   rc   rd   re   r   )rF   rK   rH   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   Á,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Úcategoryrx   ©	Úcopyr8   r9   r:   ÚintegersÚshapere   r   Ú_sharey)rF   rœ   rH   Ú	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¯   rx   )r   r   )r   r-   )r-   r   ©r-   r-   r­   r®   r°   )rF   rœ   rH   Ú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        t        j                  j                  d«      j	                  d«      «      }t        j
                  |j                  d d …df<   t        |j                  d¬«       y )Nr,   )r«   rW   r   r€   r¡   )	r   r8   r9   r:   r`   ÚnanÚlocr   re   rz   s     r   Útest_boxplot_empty_columnz,TestDataFramePlots.test_boxplot_empty_columnÝ   sI   € Ü”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓHÓIˆÜ—v‘vˆ�‰Šq�!ˆt‰Ü˜"Ÿ*™*°&Ö9r   c                ó4  — t        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,   )r7   é   )rt   ru   ÚCÚDÚErr   r€   )é   é   )rK   ÚfigsizerÇ   rÈ   )	r   r8   r9   r:   re   ÚfigureÚbbox_inchesÚwidthr­   )rF   rH   r�   s      r   Útest_figsizezTestDataFramePlots.test_figsizeâ   s|   € ÜÜ�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ò>Wô
ˆð —‘¨¸�Ó@ˆØ�}‰}×(Ñ(×.Ñ.°"Ò4Ð4Ð4Ø�}‰}×(Ñ(×/Ñ/°1Ò4Ð4Ñ4r   c                ó`   — t        dg d¢i«      }t        |j                  dd¬«      dd¬«       y )NÚa©r-   r,   r.   rW   rÃ   rV   é   )Úfontsize©Ú
xlabelsizeÚ
ylabelsize©r   r   re   rz   s     r   Útest_fontsizez TestDataFramePlots.test_fontsizeê   s,   € Ü˜Ò/Ð0Ó1ˆÜ˜2Ÿ:™: c°B˜:Ó7ÀBÐSUÖVr   c                óò  — t        t        dd¬«      t        j                  j	                  d«      j                  d«      t        j                  j	                  d«      j                  d«      dz   t        dd¬«      j                  t        «      t        ddd¬«      t        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-01r7   )Úperiodsr,   ÚUTC)rÙ   Útzz1 days)rÏ   ÚbÚcr–   ÚeÚfÚbox)r5   rÜ   rÝ   )r   r   r8   r9   r:   r`   ÚastypeÚstrr	   r=   r>   r@   )rF   rH   r   rI   s       r   Útest_boxplot_numeric_dataz,TestDataFramePlots.test_boxplot_numeric_dataî   sÆ   € ää °bÔ9Ü—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÀAÑEÜ °bÔ9×@Ñ@ÄÓEÜ °b¸UÔCÜ$ X°rÔ:ñó	
ˆð �W‰W˜%ˆWÓ ˆØ&(×&8Ñ&8Ó&:Ö; �—
‘
•Ò;ÀÀS¸zÒIÐIÑIùÒ;s   ÃC4zcolors_kwd, expectedÚrrÜ   ÚgrÝ   )ÚboxesÚwhiskersÚmediansÚcapsræ   c                óþ   — t        t        j                  j                  d«      j                  d«      «      }|j	                  |d¬«      }|j                  «       D ]   \  }}||   d   j                  «       |k(  rŒ J ‚ y )Nr,   ro   rL   ©ÚcolorrK   r   )r   r8   r9   r:   re   ÚitemsÚ	get_color)rF   Ú
colors_kwdÚexpectedrH   r�   ÚkÚvs          r   Útest_color_kwdz!TestDataFramePlots.test_color_kwdý   ss   € ô ”r—y‘y×,Ñ,¨QÓ/×6Ñ6°wÓ?Ó@ˆØ—‘ *¸&�ÓAˆØ—N‘NÓ$ò 	1‰DˆAˆqØ˜!‘9˜Q‘<×)Ñ)Ó+¨qÓ0Ð0Ð0ñ	1r   zscheme,expectedÚdark_backgroundz#8dd3c7z#bfbbd9Údefaultz#1f77b4z#2ca02cc                óN  — t        t        j                  j                  d«      j                  d«      «      }t        j
                  j                  |«       |j                  j                  d¬«      }|j                  «       D ]   \  }}||   d   j                  «       |k(  rŒ J ‚ y )Nr,   ro   rL   r¡   r   )r   r8   r9   r:   rC   ÚstyleÚuser=   rà   rí   rî   )rF   Úschemerð   rH   r�   rñ   rò   s          r   Útest_colors_in_themez'TestDataFramePlots.test_colors_in_theme  s…   € ô2 ”r—y‘y×,Ñ,¨QÓ/×6Ñ6°wÓ?Ó@ˆÜ�	‰	�‰�fÔØ—‘—‘¨�Ó0ˆØ—N‘NÓ$ò 	1‰DˆAˆqØ˜!‘9˜Q‘<×)Ñ)Ó+¨qÓ0Ð0Ð0ñ	1r   zdict_colors, msg)ræ   Úinvalid_keyzinvalid key 'invalid_key'c                óø   — t        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,   ro   rŠ   rL   rë   )r   r8   r9   r:   r¢   r£   r¤   re   )rF   Údict_colorsr�   rH   s       r   Útest_color_kwd_errorsz(TestDataFramePlots.test_color_kwd_errors.  s[   € ô ”r—y‘y×,Ñ,¨QÓ/×6Ñ6°wÓ?Ó@ˆÜ�]‰]œ:¨SÔ1ñ 	>Ø�J‰J˜[°fˆJÔ=÷	>÷ 	>ñ 	>ús   ÁA0Á0A9zprops, expected))Úboxpropsræ   )Úwhiskerpropsrç   )Úcappropsré   )Úmedianpropsrè   c           	     ó  — t        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,   r7   rì   ÚC1rK   rL   r   © )r   r8   r9   r:   re   rî   )rF   Úpropsrð   rñ   rH   Úkwdr�   s          r   Útest_specified_props_kwdz+TestDataFramePlots.test_specified_props_kwd8  s…   € ô ÈÖNÀ1˜œ2Ÿ9™9×0Ñ0°Ó3×:Ñ:¸2Ó>Ñ>ÒNÓOˆØ�w �oÐ&ˆØ�—‘Ñ6¨Ð6°#Ñ6ˆà�hÑ Ñ"×,Ñ,Ó.°$Ò6Ð6Ñ6ùò	 Os   Š6A=z!ignore:set_ticklabels:UserWarningc                óº  — t        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,   r7   Úgroup1Úgroup2©rÏ   rÜ   Úgroup©rI   Úyrà   )r5   ÚxlabelÚylabelr  )	r   r8   r9   r:   r`   r;   r=   Ú
get_xlabelÚ
get_ylabel©rF   r   rH   r  r  r   s         r   Útest_plot_xlabel_ylabelz*TestDataFramePlots.test_plot_xlabel_ylabelI  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                ó  — t         j                  j                  d«      }t        |j	                  ddd¬«      t        d«      ¬«      }t        |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   )r7   rW   ©ÚsizeÚABCDrr   r  )r7   é   T)ÚncolsrÉ   Úsharey)r   r  r  r-   r  )r8   r9   r:   r   r²   rE   rC   r   r=   rà   r  r  )
rF   r   ÚrngÚdf1Údf2r  r  r�   Úaxsr   s
             r   Útest_plot_boxz TestDataFramePlots.test_plot_boxW  sò   € ô �i‰i×#Ñ# AÓ&ˆÜ˜Ÿ™ Q¨°'˜Ó:ÄDÈÃLÔQˆÜ˜Ÿ™ Q¨°'˜Ó:ÄDÈÃLÔQˆà!‰ˆ�Ü—‘ A¨w¸t�ÓD‰ˆˆ3Øˆ�‰�‰ÐE˜˜A™ v°fÑEÀÒEØˆ�‰�‰ÐE˜˜A™ v°fÑEÀÒEØò 	-ˆBØ—=‘=“? fÒ,Ð,Ð,Ø—=‘=“? fÓ,Ð,Ð,ñ	-r   c                ó¸  — t        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,   r7   r  r  r  r  )r  r  r  ©	r   r8   r9   r:   r`   r;   re   r  r  r  s         r   Útest_boxplot_xlabel_ylabelz-TestDataFramePlots.test_boxplot_xlabel_ylabelf  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        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,   r7   r  r  r  r  r  )rQ   r  r  r  r%  )rF   r   rH   r  r  r   Úsubplots          r   Ú test_boxplot_group_xlabel_ylabelz3TestDataFramePlots.test_boxplot_group_xlabel_ylabelt  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                ó˜  — t        t        j                  «      t        d«      k\  r9|ddik(  r2|j                  t        j
                  j                  |› d�¬«      «       t        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!   r"   z$ fails starting with matplotlib 3.10)Úreasonr,   r7   r  r  r  rQ   r  r   Tr#   r  )r   r}   Ú__version__Úapplymarkerr¢   ÚmarkÚxfailr   r8   r9   r:   r`   r;   re   r  r  r   )rF   r   r'   rH   r   r(  Útarget_labels          r   Ú#test_boxplot_group_no_xlabel_ylabelz6TestDataFramePlots.test_boxplot_group_no_xlabel_ylabelƒ  s<  € ä”3—?‘?Ó#¤w¨v£Ò6¸4Ø˜<ðD
ò <
ð ×ÑÜ—‘×!Ñ!¨D¨6Ð1UÐ)VÐ!ÓWôô ä—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__rJ   r¢   r.  ÚslowÚparametrizery   rh   rm   r{   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)   4   s  „ ò
ð& ‡[�[×ÑØ‡[�[×ÑØà˜VÐ$ dÐ+Ø˜ ˜Ð'¨Ð.Ø ˜¨gÑ6¸ÐDØ˜¨°Ð':Ñ;¸TÐBØ�Gˆ_˜kÐ*Ø�W˜hÐ'Ð(¨+Ð6Ø�qˆ\˜4Ð Ø aÑ(¨+Ð6ð		
óñ4óó ð4òPò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ð ‡[�[×ÑØð "à&Ø )Ø(Ø%ñ	ðð à&Ø )Ø(Ø%ñ	ðð	
óñ.1ó/ð.1ð ‡[�[×ÑØØ¨Ñ
,Ð.IÐ	JÐKóñ>ó	ð>ð ‡[�[×ÑØò	
óñ7óð7ð ‡[�[×ÑÐ CÓDñ)ó Eð)ð ‡[�[×ÑÐ CÓDñ-ó Eð-ð ‡[�[×ÑÐ CÓDñ)ó Eð)ð ‡[�[×ÑÐ CÓDñ2ó Eð2ð ‡[�[×ÑÐ CÓDñ;ó Eñ;r   r)   c            
      óè  — 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d3„ Zd4„ Z ej                  j                  d5d6d6d7gg«      d8„ «       Z!y1)9ÚTestDataFrameGroupByPlotsc                óø   — |j                  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Úgenderrx   Fr^   r€   r¡   r,   )r-   r,   ©Úaxes_numÚlayout)	r†   rc   rd   ry   r   re   r
   rE   r“   ©rF   rœ   Úgroupedr€   s       r   rh   z.TestDataFrameGroupByPlots.test_boxplot_legacy1�  s`   € Ø—/‘/ X�/Ó.ˆÜ×'Ñ'¬ÀeÔLñ 	JÜ$ W§_¡_À&ÔIˆD÷	Jäœ$˜tŸ{™{Ó+°aÀÖG÷	Jð 	Jús   ®A0Á0A9c                ót   — |j                  d¬«      }t        |j                  dd¬«      }t        |dd¬«       y )	Nr;  rx   Fr€   ©r   rK   r-   r¹   r<  )r†   r   re   r
   r?  s       r   Ú test_boxplot_legacy1_return_typez:TestDataFrameGroupByPlots.test_boxplot_legacy1_return_type£  s0   € Ø—/‘/ X�/Ó.ˆÜ  §¡¸5ÈfÔUˆÜ˜$¨°6Ö:r   c                óà  — t        t        j                  d d t        d«      d¬«      }t	        t
        j                  j                  d«      j                  d«      t        j                  |«      ¬«      }|j                  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)Nr7   T©Ústrictr,   ©r7   r.   r2   r-   ©ÚlevelFr^   r€   r¡   )rW   r.   r<  )Úzipra   rb   Úranger   r8   r9   r:   r   Úfrom_tuplesr†   rc   rd   ry   r   re   r
   rE   r“   ©rF   ÚtuplesrH   r@  r€   s        r   r{   z.TestDataFrameGroupByPlots.test_boxplot_legacy2¨  s¶   € ä”V×)Ñ)¨#¨2Ð.´°b³	À$ÔGˆÜÜ�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ü×(Ñ(¨Ó0ô
ˆð —*‘* 1�*Ó%ˆÜ×'Ñ'¬ÀeÔLñ 	JÜ$ W§_¡_À&ÔIˆD÷	Jäœ$˜tŸ{™{Ó+°bÀÖH÷	Jð 	Jús   Â"C$Ã$C-c                ó\  — t        t        j                  d d t        d«      d¬«      }t	        t
        j                  j                  d«      j                  d«      t        j                  |«      ¬«      }|j                  d¬«      }t        |j                  d	d
¬«      }t        |dd¬«       y )Nr7   TrE  r,   rG  r2   r-   rH  Fr€   rB  r¹   r<  )rJ  ra   rb   rK  r   r8   r9   r:   r   rL  r†   r   re   r
   rM  s        r   Ú test_boxplot_legacy2_return_typez:TestDataFrameGroupByPlots.test_boxplot_legacy2_return_type´  s†   € ä”V×)Ñ)¨#¨2Ð.´°b³	À$ÔGˆÜÜ�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ü×(Ñ(¨Ó0ô
ˆð —*‘* 1�*Ó%ˆÜ  §¡¸5ÈfÔUˆÜ˜$¨°6Ö:r   c                óò  — d}t        t        j                  j                  d«      j	                  dd|¬«      «      }t        t        j                  j                  d«      j	                  dd|¬«      «      }t        j                  j                  d«      j                  ddg|¬«      }t        |||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 )Nr7   r,   é¦   r«   r  é<   ÚmaleÚfemale©r­   r®   r;  r;  Úallr€   r¡   r-   )r   r8   r9   r:   Únormalr;   r   r†   r=   r”   r}   r~   Úget_fignumsrC   Úclosere   )rF   rG   r®   r­   r;  rH   ÚgbÚress           r   Útest_grouped_plot_fignumsz3TestDataFrameGroupByPlots.test_grouped_plot_fignums¿  s,  € ØˆÜœŸ	™	×-Ñ-¨aÓ0×7Ñ7¸¸RÀaÐ7ÓHÓIˆÜœŸ	™	×-Ñ-¨aÓ0×7Ñ7¸¸BÀQÐ7ÓGÓHˆÜ—‘×&Ñ& qÓ)×0Ñ0°&¸(Ð1CÈ!Ð0ÓLˆÜ &°FÀfÑMÓNˆØ�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        t        j                  j                  d«      j	                  dd|¬«      «      }t        t        j                  j                  d«      j	                  dd|¬«      «      }t        j                  j                  d«      j                  ddg|¬«      }t        |||d	œ«      }|j                  d
«      j                  «        y )Nr7   r,   rR  r«   r  rS  rT  rU  rV  r;  )	r   r8   r9   r:   rX  r;   r   r†   Úhist)rF   rG   r®   r­   r;  rH   s         r   Ú&test_grouped_plot_fignums_excluded_colz@TestDataFrameGroupByPlots.test_grouped_plot_fignums_excluded_colÐ  s¬   € ØˆÜœŸ	™	×-Ñ-¨aÓ0×7Ñ7¸¸RÀaÐ7ÓHÓIˆÜœŸ	™	×-Ñ-¨aÓ0×7Ñ7¸¸BÀQÐ7ÓGÓHˆÜ—‘×&Ñ& qÓ)×0Ñ0°&¸(Ð1CÈ!Ð0ÓLˆÜ &°FÀfÑMÓNˆà
�
‰
�8Ó×!Ñ!Õ#r   c                ó„   — |}|j                  d¬«      }t        |t        j                  «      sJ ‚t	        |d g d¢¬«       y )Nr;  rx   ©r­   r®   r¯   ©Úexpected_keys)re   rš   r8   Úndarrayr   ©rF   rœ   rH   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;  rL   r¡   ÚMaleÚFemalerc  ©r†   re   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   rK   r¦   c                ó°   — |}|j                  d«      j                  |¬«      }t        ||g d¢¬«       |j                  d|¬«      }t        ||g d¢¬«       y )NÚ	classroomr¡   ©rt   ru   rÄ   rc  ©rQ   rK   rb  rk  )rF   rœ   rK   rH   Ú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                óf  — dj                  «       }t        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,   )rV   rÃ   rr   zA Br.   r¯   r¡   rc  rp  )	Úsplitr   r8   r9   r:   r`   r†   re   r   )rF   rK   Úcolumns2r!  Úcategories2rq  s         r   Ú.test_grouped_box_return_type_arg_duplcate_catszHTestDataFrameGroupByPlots.test_grouped_box_return_type_arg_duplcate_catsø  s›   € ð ×$Ñ$Ó&ˆÜÜ�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¹   ©rM   rQ   r>  ©r¢   r£   r¤   re   r;  ©rF   rœ   rH   r�   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-   rL   ©rM   r>  rK   )r¢   r£   r¤   re   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¯   rW   r,   )rn  r.   r,   c                ó"  — |}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)NFr^   r­   rL   ©rM   rK   r,   r<  ©rc   rd   ry   r   r†   re   r
   r}   r~   Úgcfr€   )rF   rœ   Úgb_keyr=  ÚrowsrH   s         r   Ú,test_grouped_box_layout_positive_layout_axeszFTestDataFrameGroupByPlots.test_grouped_box_layout_positive_layout_axes"  sp   € ð ˆä×'Ñ'¬ÀeÔLñ 	ÜØ—
‘
˜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€   )rM   rQ   rK   r.   ©r,   r,   r<  )Úvisible)
re   r
   r}   r~   r‡  r€   r   r>   ÚxaxisÚ	get_label)rF   rœ   r   r�  rH   r€   r   s          r   Útest_grouped_box_layout_visiblez9TestDataFrameGroupByPlots.test_grouped_box_layout_visible2  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  rL   r…  r.   rŒ  r<  ©r†   re   r
   r}   r~   r‡  r€   )rF   rœ   rH   s      r   Útest_grouped_box_layout_shapez7TestDataFrameGroupByPlots.test_grouped_box_layout_shapeA  sG   € àˆØ
�
‰
�;Ó×'Ñ'Ú3Àð 	(ô 	
ô 	œ#Ÿ*™*Ÿ.™.Ó*×/Ñ/¸!ÀFÖKr   Úcolsr,   r‚  c                ó$  — |}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)NFr^   r¯   r­   r.   rL   r  rW   )r.   r,   r<  r†  )rF   rœ   r”  rH   s       r   Útest_grouped_box_layout_worksz7TestDataFrameGroupByPlots.test_grouped_box_layout_worksI  st   € ð ˆÜ×'Ñ'¬ÀeÔLñ 	ÜØ—
‘
˜:Ó&×.Ñ.ØØ˜4�yØ"õ	÷	ô 	œ#Ÿ*™*Ÿ.™.Ó*×/Ñ/¸!ÀFÖK÷	ð 	ús   ž+BÂBz	rows, resrW   r.   c                ó¤   — |}|j                  g d¢d|df¬«       t        t        j                  j	                  «       j
                  d|df¬«       y )Nrb  r;  r-   ry  r.   r<  )re   r
   r}   r~   r‡  r€   )rF   rœ   r‰  r\  rH   s        r   Ú'test_grouped_box_layout_axes_shape_rowszATestDataFrameGroupByPlots.test_grouped_box_layout_axes_shape_rowsV  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-   rL   r  r.   r<  r’  )rF   rœ   r”  r\  rH   s        r   Ú/test_grouped_box_layout_axes_shape_cols_groupbyzITestDataFrameGroupByPlots.test_grouped_box_layout_axes_shape_cols_groupby_  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€   ©rM   rK   r   rW   rŒ  r<  )rc   rd   ry   r}   r~   r   r†   re   r
   r‡  r€   )rF   rœ   rH   r�   r€   s        r   Útest_grouped_box_multiple_axesz8TestDataFrameGroupByPlots.test_grouped_box_multiple_axesj  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   )rM   rQ   rK   r   )r-   r.   r<  rn  r-   r�  )r}   r~   r   rc   rd   ry   re   r8   ÚarrayrE   r“   r
   Úassert_numpy_array_equalrÊ   r†   )rF   rœ   rH   r‡   r€   rq  s         r   Ú%test_grouped_box_multiple_axes_on_figz?TestDataFrameGroupByPlots.test_grouped_box_multiple_axes_on_figy  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¤   rc   rd   ry   r†   re   )rF   rœ   rH   r�   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                óh   — t        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Ñ   )rQ   rÒ   rÓ   rÖ   rz   s     r   r×   z'TestDataFrameGroupByPlots.test_fontsizeŸ  s1   € ÜÒ/Ò6HÑIÓJˆÜØ�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        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¬«      }|j                  «       D �cg c]  }|j                  «       ‘Œ }}||k(  sJ ‚y c c}w )	Nr,   Úabcder  )Úcatrò   r«  r³  Fr€   )r   rM   rK   )r   r8   r9   r:   r;   rE   r†   r   re   r>   r@   )rF   r   Úexpected_xticklabelrH   r@  r€   rI   Ú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 e°CÀVô
ˆð 48×3GÑ3GÓ3IÖJ¨a˜QŸZ™Z�\ÐJÐÐJØ"Ð&7Ò7Ð7Ñ7ùò Ks   ÃC;c                óÚ   — |j                  d«      }|j                  d«      }d}t        j                  t        |¬«      5  t        |j                  d¬«       d d d «       y # 1 sw Y   y xY w)NÚobjectr;  z:boxplot method requires numerical columns, nothing to plotrŠ   F)r   )rá   r†   r¢   r£   r¤   r   re   )rF   rœ   rH   r@  r�   s        r   Útest_groupby_boxplot_objectz5TestDataFrameGroupByPlots.test_groupby_boxplot_objectÝ  sT   € à�^‰^˜HÓ%ˆØ—*‘*˜XÓ&ˆØJˆÜ�]‰]œ:¨SÔ1ñ 	?Ü˜gŸo™o¸Õ>÷	?÷ 	?ñ 	?ús   Á A!Á!A*c                ó”  — g d¢g d¢g}t        t        |ddiŽ«      }t        j                  |ddg¬«      }t	        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)r4   r4   Úbazr»  r]   r]   Úquxr¼  )rN   rO   rN   rO   rN   rO   rN   rO   rF  TÚfirstÚsecond)Únamesr,   )r.   rÈ   ro  r[   )r4   rN   )r4   rO   r€   r…  z
(bar, one)z
(bar, two))rE   rJ  r   rL  r   r8   r9   r:   r`   r   re   r>   r@   )
rF   ÚarraysrN  r3   rH   r   r€   r´  rI   rµ  s
             r   Útest_boxplot_multiindex_columnz8TestDataFrameGroupByPlots.test_boxplot_multiindex_columnå  sÍ   € ò EÚDð
ˆô ”c˜6Ð/¨$Ñ/Ó0ˆÜ×&Ñ& v°g¸xÐ5HÔIˆÜÜ�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   Â$Cr  rv   rw   c           	     ó  — d}t        t        j                  j                  d«      j	                  |df¬«      ddg¬«      }t        t        j                  dd	gt        |dz  «      «      «      |d
<   t        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  rp   rq   rr   rt   ru   rv   rÄ   rÅ   rw   T)rQ   Údefault_axes)rÃ  )r   r8   r9   r:   rX  r   Úrepeatr?   Útiler†   r   re   r=   rà   )rF   r  r‰  rH   r@  s        r   Ú!test_boxplot_multi_groupby_groupsz;TestDataFrameGroupByPlots.test_boxplot_multi_groupby_groupsú  sÊ   € ð ˆÜÜ�I‰I×!Ñ! "Ó%×,Ñ,°4¸°)Ð,Ó<ÀvÈvÐFVô
ˆô œŸ™ C¨ :¬s°4¸!±8«}Ó=Ó>ˆˆ3‰ÜœŸ™ # s ¬S°¸±«]Ó;Ó<ˆˆ3‰Ø—*‘*˜UÓ#ˆÜ˜"Ÿ*™*¨¸TÕBÜ˜"Ÿ'™'Ÿ+™+¨%¸dÕCÜ˜'Ÿ/™/¸Ö=r   )"r2  r3  r4  rh   rC  r¢   r.  r5  r{   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   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ò$?ò8ð* ‡[�[×Ñ˜W s¨S°#¨JÐ&7Ó8ñ>ó 9ñ>r   r9  )'Ú__doc__Ú
__future__r   r�   ra   Únumpyr8   r¢   Úpandasr   r   r   r   r   r	   Úpandas._testingÚ_testingrc   Úpandas.tests.plotting.commonr
   r   r   r   r   Úpandas.util.versionr   Úpandas.io.formats.printingr   Úimportorskipr}   rC   r   r,  r    Ú__annotations__Úfixturer   r)   r9  r  r   r   ú<module>rÓ     sÝ   ðÚ $å "ã Û ã Û ÷÷ õ ÷õ õ (å 3à€f×Ñ˜,Ó'€Ø€f×ÑÐ-Ó.€òñ ˆ3�?‰?Ó™g f›oÒ-Ø+1°5¨/¸FÀD¸>Ð)J€EÐ&ÔJà˜\Ð*¨]¸JÐ,GÐH€Eð €‡��uÔñó ð÷e;ñ e;÷Pj>ò j>r   