Ë
    ômxiÏu  ã                  ó   — 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       ú`/home/htdocs/ttos/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                ór  — dd l m} 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d
«      «       |j                  «        |j                  «       D �cg c]  }t        |j                  «       «      ‘Œ c}t!        t        j                  ddd
«      «      k(  sJ ‚y c c}w c c}w )Nr   éP   é   )r   é   r,   é   )ÚClinicalÚ	ConfirmedÚ	Discarded©ÚindexÚbarT)ÚkindÚstackedé
   )Úmatplotlib.pyplotÚpyplotr   ÚnpÚrandomÚdefault_rngÚchoiceÚarangeÚplotÚget_xticklabelsÚintÚget_textr3   Úto_listÚ
set_xticksÚdrawÚlist)ÚselfÚpltÚnÚdfr   Úxs         r   Útest_stacked_boxplot_set_axisz0TestDataFramePlots.test_stacked_boxplot_set_axis5   sJ  € å'àˆÜäŸ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  2 rÓ*Ô+Ø�‰Œ
Ø+-×+=Ñ+=Ó+?Ö@ a”�A—J‘J“LÕ!Ò@ÄDÜ�I‰I�a˜˜RÓ óE
ò 
ð 	
ñ 
ùò Aùò As   Ã  F/Å( F4zkwargs, warnÚreturn_typeÚdictNÚcolumnÚoneÚtwoÚindic)rO   ÚbyÚindic2rS   Únotchr-   )rS   rU   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,   ©é   é   rX   ©rP   rQ   ÚthreeÚfour©r3   ÚcolumnsÚfoor4   r.   rR   )r_   r4   r_   rT   F©Úcheck_stacklevel)r   r:   r;   r<   Ústandard_normalrF   ÚstringÚascii_lettersÚtmÚassert_produces_warningr   Úboxplot)rG   ÚkwargsÚwarnrJ   s       r   Útest_boxplot_legacy1z'TestDataFramePlots.test_boxplot_legacy1J   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,   rX   rN   )ÚdatarM   )	r   r:   r;   r<   rb   r   r   Ú_corerg   )rG   Úsers     r   Útest_boxplot_legacy1_seriesz.TestDataFramePlots.test_boxplot_legacy1_seriese   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^   ©
ÚArv   rv   rv   rv   ÚBrw   rw   rw   rw   ÚXrv   r7   ÚYFr`   ©rS   )
r   r:   r;   r<   r   re   rf   ÚUserWarningr   rg   ©rG   rJ   s     r   Útest_boxplot_legacy2z'TestDataFramePlots.test_boxplot_legacy2i   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,   rq   rr   rs   rt   ru   rx   rv   r7   ry   )rS   r   )
r   r:   r;   r<   r   Úmplr9   Úsubplotsrg   Úaxes)rG   rJ   Ú_r   r�   Úax_axess         r   Útest_boxplot_legacy2_with_axz/TestDataFramePlots.test_boxplot_legacy2_with_axr   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,   rq   rr   rs   rt   ru   rx   rv   r7   ry   r�   ©r   rM   )r   r:   r;   r<   r   r   r9   r€   Úgroupbyrg   r�   )rG   rJ   Ú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                  «       \  }}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,   rq   rr   rs   rt   ru   rx   rv   r7   ry   r�   )rO   rS   r   rM   )r   r:   r;   r<   r   r   r9   r€   re   rf   r{   rg   Ú
get_figure)rG   rJ   rˆ   r   r�   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Ü×'Ñ'¬Ó4ñ 	Ø—:‘:Ø Ð'¨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,   rq   rr   rs   rt   ru   rx   rv   r7   ry   rN   r†   )r   r:   r;   r<   r   r   r9   r€   rg   rF   Ú	itertoolsÚchainÚfrom_iterableÚvaluesÚlenÚ	get_lines)rG   rJ   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   )rg   Ú
isinstancer   r9   ÚAxes)rG   Ú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,   rW   rX   rZ   r]   z,return_type must be {'axes', 'dict', 'both'}©ÚmatchÚ
NOT_A_TYPE©rM   r�   )r   r:   r;   r<   rb   rF   rc   rd   ÚpytestÚraisesÚ
ValueErrorrg   r   )rG   rJ   Úmsgr›   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©rN   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,   rW   rX   rZ   r]   Fr¡   )r   r:   r;   r<   rb   rF   rc   rd   re   rf   rg   r   )rG   rM   rJ   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Úcategoryrz   ©	Úcopyr:   r;   r<   ÚintegersÚshaperg   r   Ú_sharey)rG   rš   rJ   Ú	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°   rz   )r   r   )r   r-   )r-   r   ©r-   r-   r®   r¯   r±   )rG   rš   rJ   Ú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¬   rY   r   r�   r¡   )	r   r:   r;   r<   rb   ÚnanÚlocr   rg   r|   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   é   )rv   rw   ÚCÚDÚErt   r�   )é   é   )rM   ÚfigsizerÈ   rÉ   )	r   r:   r;   r<   rg   ÚfigureÚbbox_inchesÚwidthr®   )rG   rJ   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.   rY   rÄ   rX   é   )Úfontsize©Ú
xlabelsizeÚ
ylabelsize©r   r   rg   r|   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-01éd   )Úperiodsr,   ÚUTC)rÛ   Útzz1 days)rÐ   ÚbÚcr”   ÚeÚfÚbox)r5   rÞ   rß   )r   r   r:   r;   r<   rb   ÚastypeÚstrr	   r?   r@   rB   )rG   rJ   r   rK   s       r   Útest_boxplot_numeric_dataz,TestDataFramePlots.test_boxplot_numeric_dataï   sÆ   € ää °cÔ:Ü—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸cÓBÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸cÓBÀQÑFÜ °cÔ:×AÑAÄ#ÓFÜ °c¸eÔDÜ$ X°sÔ;ñó	
ˆð �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,   rq   rN   ©ÚcolorrM   r   )r   r:   r;   r<   rg   ÚitemsÚ	get_color)rG   Ú
colors_kwdÚexpectedrJ   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                óR  — t        t        j                  j                  d«      j                  d«      «      }dd lm} |j                  j                  |«       |j                  j                  d¬«      }|j                  «       D ]   \  }}||   d   j                  «       |k(  rŒ J ‚ y )Nr,   rq   r   rN   r¡   )r   r:   r;   r<   r8   r9   ÚstyleÚuser?   râ   rï   rð   )rG   Úschemerò   rJ   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,   rq   rž   rN   rí   )r   r:   r;   r<   r¢   r£   r¤   rg   )rG   Údict_colorsr¥   rJ   s       r   Útest_color_kwd_errorsz(TestDataFramePlots.test_color_kwd_errors1  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î   ÚC1rM   rN   r   © )r   r:   r;   r<   rg   rð   )rG   Úpropsrò   ró   rJ   Úkwdr›   s          r   Útest_specified_props_kwdz+TestDataFramePlots.test_specified_props_kwd;  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©rK   Úyrâ   )r5   ÚxlabelÚylabelr  )	r   r:   r;   r<   rb   r=   r?   Ú
get_xlabelÚ
get_ylabel©rG   r   rJ   r  r  r   s         r   Útest_plot_xlabel_ylabelz*TestDataFramePlots.test_plot_xlabel_ylabelL  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                óL  — 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 ‚ t        j                  j                  «        y )Nr,   r   rÚ   )rÚ   rY   ©ÚsizeÚABCDrt   r  )r7   é   T)ÚncolsrÊ   Úsharey)r   r  r  r-   r  )r:   r;   r<   r   r³   rF   rH   r€   r?   râ   r  r  r   r9   Úclose)
rG   r   ÚrngÚdf1Údf2r  r  r‚   Úaxsr   s
             r   Útest_plot_boxz TestDataFramePlots.test_plot_boxZ  s  € ô �i‰i×#Ñ# AÓ&ˆÜ˜Ÿ™ Q¨°(˜Ó;ÄTÈ&Ã\ÔRˆÜ˜Ÿ™ Q¨°(˜Ó;ÄTÈ&Ã\ÔRˆà!‰ˆ�Ü—‘ 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   r:   r;   r<   rb   r=   rg   r  r  r  s         r   Útest_boxplot_xlabel_ylabelz-TestDataFramePlots.test_boxplot_xlabel_ylabelj  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 ‚ t        j                  j                  «        y )
Nr,   r7   r  r  r  r  r  )rS   r  r  r  )r   r:   r;   r<   rb   r=   rg   r  r  r   r9   r   )rG   r   rJ   r  r  r   Úsubplots          r   Ú test_boxplot_group_xlabel_ylabelz3TestDataFramePlots.test_boxplot_group_xlabel_ylabelx  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ð	2ô 	�
‰
×ÑÕr   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 ]A  }|ddik(  s|ddik(  r|j                  «       n|j                  «       }|t!        dg«      k(  rŒAJ ‚ t        j"                  j%                  «        y )Nr   r!   r"   z$ fails starting with matplotlib 3.10)Úreasonr,   r7   r  r  r  rS   r  r   Tr#   r  )r   r   Ú__version__Úapplymarkerr¢   ÚmarkÚxfailr   r:   r;   r<   rb   r=   rg   r  r  r   r9   r   )rG   r   r'   rJ   r   r)  Útarget_labels          r   Ú#test_boxplot_group_no_xlabel_ylabelz6TestDataFramePlots.test_boxplot_group_no_xlabel_ylabelˆ  sS  € ä”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ð ˜F D˜>Ò)Ø˜M¨:Ð6Ò6ð ×"Ñ"Ô$ð ×'Ñ'Ó)ð	 ð  ¤<°°	Ó#:Ó:Ð:Ð:ð	;ô 	�
‰
×ÑÕr   )#Ú__name__Ú
__module__Ú__qualname__rL   r¢   r/  ÚslowÚparametrizer{   rj   ro   r}   r„   r‰   rŒ   r–   rœ   r¦   rª   r¸   r¾   rÂ   rÎ   rØ   rå   rõ   rü   r   r  Úfilterwarningsr  r%  r'  r*  r2  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ñó Eðð ‡[�[×ÑÐ CÓDñó Eñr   r)   c            
      óð  — e Zd Zd„ Zd„ Zej                  j                  d„ «       Zej                  j                  d„ «       Z	ej                  j                  ddeddgg d	¢g«      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/d0g d1¢fd0gg d1¢fd2g d3¢fd0d2gg d4¢fd5g d4¢fg«      d6„ «       Z d7„ Z!d8„ Z"y5)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Úgenderrz   Fr`   r�   r¡   r,   )r-   r,   ©Úaxes_numÚlayout)	r‡   re   rf   r{   r   rg   r
   rF   r‘   ©rG   rš   Úgroupedr�   s       r   rj   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<  rz   Fr�   ©r€   rM   r-   rº   r=  )r‡   r   rg   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«      «      }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   r,   ©r7   r.   r2   r-   ©ÚlevelFr`   r�   r¡   )rY   r.   r=  )Úziprc   rd   Úranger   r:   r;   r<   r   Úfrom_tuplesr‡   re   rf   r{   r   rg   r
   rF   r‘   ©rG   ÚtuplesrJ   rA  r�   s        r   r}   z.TestDataFrameGroupByPlots.test_boxplot_legacy2¯  s´   € ä”V×)Ñ)¨#¨2Ð.´°b³	Ó:ˆÜÜ�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ü×(Ñ(¨Ó0ô
ˆð —*‘* 1�*Ó%ˆÜ×'Ñ'¬ÀeÔLñ 	JÜ$ W§_¡_À&ÔIˆD÷	Jäœ$˜tŸ{™{Ó+°bÀÖH÷	Jð 	Jús   Â C"Ã"C+c                óX  — t        t        j                  d d t        d«      «      }t	        t
        j                  j                  d«      j                  d«      t        j                  |«      ¬«      }|j                  d¬«      }t        |j                  dd¬	«      }t        |dd
¬«       y )Nr7   r,   rF  r2   r-   rG  Fr�   rC  rº   r=  )rI  rc   rd   rJ  r   r:   r;   r<   r   rK  r‡   r   rg   r
   rL  s        r   Ú test_boxplot_legacy2_return_typez:TestDataFrameGroupByPlots.test_boxplot_legacy2_return_type»  s„   € ä”V×)Ñ)¨#¨2Ð.´°b³	Ó:ˆÜÜ�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ü×(Ñ(¨Ó0ô
ˆð —*‘* 1�*Ó%ˆÜ  §¡¸5ÈfÔUˆÜ˜$¨°6Ö:r   z subplots, warn, axes_num, layoutTr.   ©r,   r,   )FNr-   rº   c                ó6  — t        t        j                  d d t        d«      «      }t	        t
        j                  j                  d«      j                  d«      t        j                  |«      ¬«      }d}t        j                  t        |¬«      5  |j                  d¬«      j                  d	d¬
«      }d d d «       t        j                  |d¬«      5  t        j                   |d¬«      }	d d d «       t#        	||¬«       y # 1 sw Y   ŒPxY w# 1 sw Y   Œ$xY w)Nr7   r,   rF  r2   z+DataFrame.groupby with axis=1 is deprecatedrž   r-   rG  r   )rH  ÚaxisFr`   r�   rC  r=  )rI  rc   rd   rJ  r   r:   r;   r<   r   rK  re   rf   ÚFutureWarningÚunstackr‡   r   rg   r
   )
rG   r€   ri   r>  r?  rM  rJ   r¥   rA  r�   s
             r   Útest_boxplot_legacy3z.TestDataFrameGroupByPlots.test_boxplot_legacy3Æ  sî   € ô
 ”V×)Ñ)¨#¨2Ð.´°b³	Ó:ˆÜÜ�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4Ü×(Ñ(¨Ó0ô
ˆð <ˆÜ×'Ñ'¬¸SÔAñ 	CØ—j‘j q�jÓ)×1Ñ1¸ÀÐ1ÓBˆG÷	Cä×'Ñ'¨¸uÔEñ 	Ü$Ø—‘¨(ÀôˆD÷	ô 	˜$¨¸&ÖA÷	Cð 	Cú÷	ð 	ús   Â$DÃDÄDÄD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   r:   r;   r<   Únormalr=   r   r‡   r?   r’   r   r9   Úget_fignumsrH   r   rg   )rG   rI   r¯   r®   r<  rJ   Ú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,   rW  r¬   r  rX  rY  rZ  r[  r<  )	r   r:   r;   r<   r]  r=   r   r‡   Úhist)rG   rI   r¯   r®   r<  rJ   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<  rz   ©r®   r¯   r°   ©Úexpected_keys)rg   r˜   r:   Úndarrayr   ©rG   rš   rJ   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<  rN   r¡   ÚMaleÚFemalerg  ©r‡   rg   r   rj  s       r   Ú$test_grouped_box_return_type_groupbyz>TestDataFrameGroupByPlots.test_grouped_box_return_type_groupbyþ  s4   € àˆà—‘˜HÓ%×-Ñ-¸&Ð-ÓAˆÜ˜v v¸fÀhÐ=OÖPr   rM   r§   c                ó°   — |}|j                  d«      j                  |¬«      }t        ||g d¢¬«       |j                  d|¬«      }t        ||g d¢¬«       y )NÚ	classroomr¡   ©rv   rw   rÅ   rg  ©rS   rM   rf  ro  )rG   rš   rM   rJ   Ú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,   )rX   rÄ   rt   zA Br.   r°   r¡   rg  rt  )	Úsplitr   r:   r;   r<   rb   r‡   rg   r   )rG   rM   Úcolumns2r#  Úcategories2ru  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º   ©rO   rS   r?  ©r¢   r£   r¤   rg   r<  ©rG   rš   rJ   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ž   rf  )r,   r-   rN   ©rO   r?  rM   )r¢   r£   r¤   rg   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†  r}  r~  r  s       r   Ú'test_grouped_box_layout_positive_layoutzATestDataFrameGroupByPlots.test_grouped_box_layout_positive_layout5  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°   rY   r,   )rr  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®   rN   ©rO   rM   r,   r=  ©re   rf   r{   r   r‡   rg   r
   r   r9   Úgcfr�   )rG   rš   Úgb_keyr>  ÚrowsrJ   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¯   r°   c                ó(  — |}|j                  g d¢dd¬«      }t        t        j                  j	                  «       j
                  dd¬«       ||   }t        |j                  «       |¬«       t        |j                  j                  «       g|¬«       y )	Nrf  r<  r�   )rO   rS   rM   r.   rP  r=  )Úvisible)
rg   r
   r   r9   r‹  r�   r   r@   ÚxaxisÚ	get_label)rG   rš   r   r�  rJ   r�   r   s          r   Útest_grouped_box_layout_visiblez9TestDataFrameGroupByPlots.test_grouped_box_layout_visibleL  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 )Nrr  rf  rN   r‰  r.   rP  r=  ©r‡   rg   r
   r   r9   r‹  r�   )rG   rš   rJ   s      r   Útest_grouped_box_layout_shapez7TestDataFrameGroupByPlots.test_grouped_box_layout_shape[  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.   rN   rƒ  rY   )r.   r,   r=  rŠ  )rG   rš   r—  rJ   s       r   Útest_grouped_box_layout_worksz7TestDataFrameGroupByPlots.test_grouped_box_layout_worksc  st   € ð ˆÜ×'Ñ'¬ÀeÔLñ 	ÜØ—
‘
˜:Ó&×.Ñ.ØØ˜4�yØ"õ	÷	ô 	œ#Ÿ*™*Ÿ.™.Ó*×/Ñ/¸!ÀFÖK÷	ð 	ús   ž+BÂBz	rows, resrY   c                ó¤   — |}|j                  g d¢d|df¬«       t        t        j                  j	                  «       j
                  d|df¬«       y )Nrf  r<  r-   r}  r.   r=  )rg   r
   r   r9   r‹  r�   )rG   rš   r�  r`  rJ   s        r   Ú'test_grouped_box_layout_axes_shape_rowszATestDataFrameGroupByPlots.test_grouped_box_layout_axes_shape_rowsp  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 )Nrr  rf  r-   rN   rƒ  r.   r=  r•  )rG   rš   r—  r`  rJ   s        r   Ú/test_grouped_box_layout_axes_shape_cols_groupbyzITestDataFrameGroupByPlots.test_grouped_box_layout_axes_shape_cols_groupbyy  sU   € ð ˆØ
�
‰
�;Ó×'Ñ'Ú3Ø�t�9Øð 	(ô 	
ô
 	œ#Ÿ*™*Ÿ.™.Ó*×/Ñ/¸!ÀQÈÀHÖMr   c                óX  — |}t        j                  t        «      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)	Nr,   r°   r®   r�   ©rO   rM   r   rY   rP  r=  )re   rf   r{   r   r9   r€   r‡   rg   r
   r‹  r�   )rG   rš   rJ   r‚   r�   s        r   Útest_grouped_box_multiple_axesz8TestDataFrameGroupByPlots.test_grouped_box_multiple_axes„  sˆ   € ð ˆô ×'Ñ'¬Ó4ñ 	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
        «      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
        «      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.   rf  r<  r�   r   )rO   rS   rM   r   )r-   r.   r=  rr  r-   rŸ  )r   r9   r€   re   rf   r{   rg   r:   ÚarrayrF   r‘   r
   Úassert_numpy_array_equalrË   r‡   )rG   rš   rJ   rˆ   r�   ru  s         r   Ú%test_grouped_box_multiple_axes_on_figz?TestDataFrameGroupByPlots.test_grouped_box_multiple_axes_on_fig“  s\  € ð ˆÜ—J‘J×'Ñ'¨¨1Ó-‰	ˆˆTÜ×'Ñ'¬Ó4ñ 	Ø—z‘zÚ7ØØ"Ø˜‘7ð	 "ó ˆH÷	ô —8‘8œD §¡Ó1Ó2ˆÜ˜(¨Q°vÕ>Ü
×#Ñ# H¨d°1©gÔ6Ø˜‰{×!Ñ! SÑ(Ð(Ð(ô ×'Ñ'¬Ó4ñ 	Ø—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   ¿E1Ã)E>Å1E;Å>Fc                óP  — |}d}t        j                  t        |¬«      5  t        j                  j                  dd«      \  }}t        j                  t        «      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.   rr  )r   )r¢   r£   r¤   r   r9   r€   re   rf   r{   r‡   rg   )rG   rš   rJ   r¥   rˆ   r�   s         r   Ú'test_grouped_box_multiple_axes_ax_errorzATestDataFrameGroupByPlots.test_grouped_box_multiple_axes_ax_error®  s˜   € ð ˆØPˆÜ�]‰]œ:¨SÔ1ñ 	@ÜŸ
™
×+Ñ+¨A¨qÓ1‰IˆC�ä×+Ñ+¬KÓ8ñ @Ø—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Ò   )rS   rÓ   rÔ   r×   r|   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€   rO   rM   )r   r:   r;   r<   r=   rF   r‡   r   rg   r@   rB   )rG   r   Úexpected_xticklabelrJ   rA  r�   rK   Ú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   rg   )rG   rš   rJ   rA  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        |Ž «      }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¾  )rP   rQ   rP   rQ   rP   rQ   rP   rQ   ÚfirstÚsecond)Únamesr,   )r.   rÉ   rs  r]   )r4   rP   )r4   rQ   r�   r‰  z
(bar, one)z
(bar, two))rF   rI  r   rK  r   r:   r;   r<   rb   r   rg   r@   rB   )
rG   ÚarraysrM  r3   rJ   r   r�   r¶  rK   r·  s
             r   Útest_boxplot_multiindex_columnz8TestDataFrameGroupByPlots.test_boxplot_multiindex_columnÿ  sÇ   € ò EÚDð
ˆô ”c˜6�lÓ#ˆÜ×&Ñ& 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)#r3  r4  r5  rj   rD  r¢   r/  r6  r}   rO  r7  r{   rU  ra  rd  rk  rp  rv  r{  r€  r„  r‡  rŽ  r“  r–  r™  r›  r�  r   r¤  r¦  rØ   r¸  r»  rÃ  r  r   r   r:  r:  £  sø  „ òHò;ð
 ‡[�[×Ññ	Ió ð	Ið ‡[�[×Ññ;ó ð;ð ‡[�[×ÑØ*Ø
�˜Q Ð	'Ò)AÐBóñBó	ðBòò"$ð ‡[�[×Ññ
ó ð
ð ‡[�[×Ññ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ò$?ó8r   r:  )'Ú__doc__Ú
__future__r   rŽ   rc   Únumpyr:   r¢   Úpandasr   r   r   r   r   r	   Úpandas._testingÚ_testingre   Úpandas.tests.plotting.commonr
   r   r   r   r   Úpandas.util.versionr   Úpandas.io.formats.printingr   Úimportorskipr   rH   r   r-  r    Ú__annotations__Úfixturer   r)   r:  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Ôñó ð÷lñ l÷^o8ò o8r   