Ë
    ¤eh‡r  ã                   óò   — d 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  ej0                  d«      Z ej0                  d«      Zd„ Z G d	„ d
«      Z G d„ d«      Zy)z  Test cases for .boxplot method é    N)Ú	DataFrameÚ
MultiIndexÚSeriesÚ
date_rangeÚplottingÚtimedelta_range)Ú_check_axes_shapeÚ_check_box_return_typeÚ_check_plot_worksÚ_check_ticks_propsÚ_check_visible)Úpprint_thingÚ
matplotlibzmatplotlib.pyplotc                 ó~   — |j                  «       \  }}|| j                  «       k  sJ ‚|| j                  «       k\  sJ ‚y ©N)Úget_ylimÚminÚmax)ÚcolÚaxÚy_minÚy_maxs       úg/var/www/skyplay_api_hub/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ÒÐÑó    c                   ól  — 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                  d8d9d:g«      d;„ «       Zej
                  j                  d8d9d:g«      d<„ «       Zej
                  j                  d8d9d:g«      d=„ «       Zej
                  j                  d8d9d:g«      d>„ «       Z ej
                  j                  d8d9d:g«      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_textr'   Úto_listÚ
set_xticksÚdrawÚlist)ÚselfÚpltÚnÚdfr   Úxs         r   Útest_stacked_boxplot_set_axisz0TestDataFramePlots.test_stacked_boxplot_set_axis'   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)rC   ÚbyÚindic2rG   Únotchr!   )rG   rI   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    ©é   é   rL   ©rD   rE   ÚthreeÚfour©r'   ÚcolumnsÚfoor(   r"   rF   )rS   r(   rS   rH   F©Úcheck_stacklevel)r   r.   r/   r0   Ústandard_normalr:   ÚstringÚascii_lettersÚtmÚassert_produces_warningr   Úboxplot)r;   ÚkwargsÚwarnr>   s       r   Útest_boxplot_legacy1z'TestDataFramePlots.test_boxplot_legacy1<   s�   € ô Ü�I‰I×!Ñ! !Ó$×4Ñ4°VÓ<Ü”v×+Ñ+¨B¨QÐ/Ó0Ú3ô
ˆð
 ˜e�n qÑ(ˆˆ7‰Ú,¨qÑ0ˆˆ8‰ô ×'Ñ'¨¸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    rL   rB   )ÚdatarA   )	r   r.   r/   r0   rV   r   r   Ú_corer[   )r;   Úsers     r   Útest_boxplot_legacy1_seriesz.TestDataFramePlots.test_boxplot_legacy1_seriesW   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    ©r+   r    ÚCol1ÚCol2©rR   ©
ÚArj   rj   rj   rj   ÚBrk   rk   rk   rk   ÚXrj   r+   ÚYFrT   ©rG   )
r   r.   r/   r0   r   rY   rZ   ÚUserWarningr   r[   ©r;   r>   s     r   Útest_boxplot_legacy2z'TestDataFramePlots.test_boxplot_legacy2[   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    re   rf   rg   rh   ri   rl   rj   r+   rm   )rG   r   )
r   r.   r/   r0   r   Úmplr-   Úsubplotsr[   Úaxes)r;   r>   Ú_r   ru   Úax_axess         r   Útest_boxplot_legacy2_with_axz/TestDataFramePlots.test_boxplot_legacy2_with_axd   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    re   rf   rg   rh   ri   rl   rj   r+   rm   ru   ©r   rA   )r   r.   r/   r0   r   rs   r-   rt   Úgroupbyr[   ru   )r;   r>   Úfigr   ru   rw   s         r   Ú(test_boxplot_legacy2_with_ax_return_typez;TestDataFramePlots.test_boxplot_legacy2_with_ax_return_typeq   s£   € ÜÜ�I‰I×!Ñ! !Ó$×+Ñ+¨GÓ4¸vÀvÐ>Nô
ˆô Ò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    re   rf   rg   rh   ri   rl   rj   r+   rm   ru   )rC   rG   r   rA   )r   r.   r/   r0   r   rs   r-   rt   rY   rZ   ro   r[   Ú
get_figure)r;   r>   r|   r   ru   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    re   rf   rg   rh   ri   rl   rj   r+   rm   rB   rz   )r   r.   r/   r0   r   rs   r-   rt   r[   r:   Ú	itertoolsÚchainÚfrom_iterableÚvaluesÚlenÚ	get_lines)r;   r>   rv   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   )r[   Ú
isinstancers   r-   ÚAxes)r;   Ú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    rK   rL   rN   rQ   z,return_type must be {'axes', 'dict', 'both'}©ÚmatchÚ
NOT_A_TYPE©rA   ru   )r   r.   r/   r0   rV   r:   rW   rX   ÚpytestÚraisesÚ
ValueErrorr[   r
   )r;   r>   Ú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©rB   ru   Ú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    rK   rL   rN   rQ   Fr•   )r   r.   r/   r0   rV   r:   rW   rX   rY   rZ   r[   r
   )r;   rA   r>   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Úcategoryrn   ©	Úcopyr.   r/   r0   ÚintegersÚshaper[   r   Ú_sharey)r;   rŽ   r>   Ú	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¤   rn   )r   r   )r   r!   )r!   r   ©r!   r!   r¢   r£   r¥   )r;   rŽ   r>   Ú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    rM   r   ru   r•   )	r   r.   r/   r0   rV   ÚnanÚlocr   r[   rp   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    )r+   é   )rj   rk   ÚCÚDÚErh   ru   )é   é   )rA   Úfigsizer¼   r½   )	r   r.   r/   r0   r[   ÚfigureÚbbox_inchesÚwidthr¢   )r;   r>   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"   rM   r¸   rL   é   )Úfontsize©Ú
xlabelsizeÚ
ylabelsize©r   r   r[   rp   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)r)   rÒ   rÓ   )r   r   r.   r/   r0   rV   ÚastypeÚstrr   r3   r4   r6   )r;   r>   r   r?   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    re   rB   ©ÚcolorrA   r   )r   r.   r/   r0   r[   ÚitemsÚ	get_color)r;   Ú
colors_kwdÚexpectedr>   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    re   r   rB   r•   )r   r.   r/   r0   r,   r-   ÚstyleÚuser3   rÖ   rã   rä   )r;   Úschemeræ   r>   r<   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    re   r’   rB   rá   )r   r.   r/   r0   r–   r—   r˜   r[   )r;   Údict_colorsr™   r>   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    r+   râ   ÚC1rA   rB   r   © )r   r.   r/   r0   r[   rä   )r;   Úpropsræ   rç   r>   Ú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=ÚvertTFc                 ó¸  — 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|||¬«      }|j                  «       |k(  sJ ‚|j                  «       |k(  sJ ‚y )	Nr    r+   Úgroup1Úgroup2©rÄ   rÒ   Úgroup©r?   ÚyrÖ   )r)   r   ÚxlabelÚylabel)	r   r.   r/   r0   rV   r1   r3   Ú
get_xlabelÚ
get_ylabel©r;   r   r>   r  r	  r   s         r   Útest_plot_xlabel_ylabelz*TestDataFramePlots.test_plot_xlabel_ylabel>  s¸   € ää—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜŸ™×.Ñ.¨qÓ1×8Ñ8¸(ÀHÐ9MÈrÓRñó
ˆð "‰ˆ�Ø�W‰W˜% d°6À&ˆWÓIˆØ�}‰}‹ &Ò(Ð(Ð(Ø�}‰}‹ &Ò(Ð(Ñ(r   c                 óH  — 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   |||¬«       |j                  j                  |d   |||¬«       |D ],  }	|	j                  «       |k(  sJ ‚|	j                  «       |k(  rŒ,J ‚ t        j                  j                  «        y )Nr    r   rÎ   )rÎ   rM   ©ÚsizeÚABCDrh   r  )r+   é   T)Úncolsr¾   Úsharey)r   r   r  r	  r!   )r.   r/   r0   r   r§   r:   r<   rt   r3   rÖ   r
  r  rs   r-   Úclose)
r;   r   ÚrngÚdf1Údf2r  r	  rv   Úaxsr   s
             r   Útest_plot_boxz TestDataFramePlots.test_plot_boxL  sø   € ô �i‰i×#Ñ# AÓ&ˆÜ˜Ÿ™ Q¨°(˜Ó;ÄTÈ&Ã\ÔRˆÜ˜Ÿ™ Q¨°(˜Ó;ÄTÈ&Ã\ÔRˆà!‰ˆ�Ü—‘ A¨w¸t�ÓD‰ˆˆ3Ø�‰�‰˜˜A™ T°&ÀˆÔHØ�‰�‰˜˜A™ T°&ÀˆÔHØò 	-ˆ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                  |||¬«      }|j                  «       |k(  sJ ‚|j                  «       |k(  sJ ‚y )Nr    r+   r  r  r  r  )r   r  r	  )	r   r.   r/   r0   rV   r1   r[   r
  r  r  s         r   Útest_boxplot_xlabel_ylabelz-TestDataFramePlots.test_boxplot_xlabel_ylabel\  s¶   € ää—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜŸ™×.Ñ.¨qÓ1×8Ñ8¸(ÀHÐ9MÈrÓRñó
ˆð "‰ˆ�Ø�Z‰Z˜T¨&¸ˆZÓ@ˆØ�}‰}‹ &Ò(Ð(Ð(Ø�}‰}‹ &Ò(Ð(Ñ(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(  rŒ,J ‚ t        j                  j                  «        y )	Nr    r+   r  r  r  r  r  )rG   r   r  r	  )r   r.   r/   r0   rV   r1   r[   r
  r  rs   r-   r  )r;   r   r>   r  r	  r   Úsubplots          r   Ú test_boxplot_group_xlabel_ylabelz3TestDataFramePlots.test_boxplot_group_xlabel_ylabelj  sß   € ää—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜŸ™×.Ñ.¨qÓ1×8Ñ8¸(ÀHÐ9MÈrÓRñó
ˆð "‰ˆ�Ø�Z‰Z˜7¨°fÀVˆZÓLˆØò 	2ˆGØ×%Ñ%Ó'¨6Ò1Ð1Ð1Ø×%Ñ%Ó'¨6Ó1Ð1Ð1ð	2ô 	�
‰
×ÑÕ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œ«      }|j                  d|¬«      }|D ]5  }|r|j                  «       n|j                  «       }|t        dg«      k(  rŒ5J ‚ t        j                  j                  «        y )Nr    r+   r  r  r  r  )rG   r   )r   r.   r/   r0   rV   r1   r[   r
  r  r   rs   r-   r  )r;   r   r>   r   r  Útarget_labels         r   Ú#test_boxplot_group_no_xlabel_ylabelz6TestDataFramePlots.test_boxplot_group_no_xlabel_ylabelz  sÔ   € ää—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸bÓAÜŸ™×.Ñ.¨qÓ1×8Ñ8¸(ÀHÐ9MÈrÓRñó
ˆð �Z‰Z˜7¨ˆZÓ.ˆØò 	;ˆGÙ37˜7×-Ñ-Ô/¸W×=OÑ=OÓ=QˆLØ¤<°°	Ó#:Ó:Ð:Ð:ð	;ô 	�
‰
×ÑÕr   )"Ú__name__Ú
__module__Ú__qualname__r@   r–   ÚmarkÚslowÚparametrizero   r^   rc   rq   rx   r}   r€   rŠ   r�   rš   rž   r¬   r²   r¶   rÂ   rÌ   rÙ   ré   rð   rô   rÿ   r  r  r  r  r"  rü   r   r   r   r   &   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ð ‡[�[×Ñ˜V d¨E ]Ó3ñ)ó 4ð)ð ‡[�[×Ñ˜V d¨E ]Ó3ñó 4ðð ‡[�[×Ñ˜V d¨E ]Ó3ñ)ó 4ð)ð ‡[�[×Ñ˜V d¨E ]Ó3ñó 4ðð ‡[�[×Ñ˜V d¨E ]Ó3ñó 4ñ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Úgenderrn   FrT   ru   r•   r    )r!   r    ©Úaxes_numÚlayout)	r{   rY   rZ   ro   r   r[   r	   r:   r…   ©r;   rŽ   Úgroupedru   s       r   r^   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,  rn   Fru   ©rt   rA   r!   r®   r-  )r{   r   r[   r	   r0  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)Nr+   r    ©r+   r"   r&   r!   ©ÚlevelFrT   ru   r•   )rM   r"   r-  )ÚziprW   rX   Úranger   r.   r/   r0   r   Úfrom_tuplesr{   rY   rZ   ro   r   r[   r	   r:   r…   ©r;   Útuplesr>   r1  ru   s        r   rq   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 )Nr+   r    r6  r&   r!   r7  Fru   r3  r®   r-  )r9  rW   rX   r:  r   r.   r/   r0   r   r;  r{   r   r[   r	   r<  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)Nr+   r    r6  r&   z+DataFrame.groupby with axis=1 is deprecatedr’   r!   r7  r   )r8  ÚaxisFrT   ru   r3  r-  )r9  rW   rX   r:  r   r.   r/   r0   r   r;  rY   rZ   ÚFutureWarningÚunstackr{   r   r[   r	   )
r;   rt   r]   r.  r/  r=  r>   r™   r1  ru   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 )Nr+   r    é¦   r    r  é<   ÚmaleÚfemale©r¢   r£   r,  r,  Úallru   r•   r!   )r   r.   r/   r0   Únormalr1   r   r{   r3   r†   rs   r-   Úget_fignumsr<   r  r[   )r;   r=   r£   r¢   r,  r>   Ú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 )Nr+   r    rG  r    r  rH  rI  rJ  rK  r,  )	r   r.   r/   r0   rM  r1   r   r{   Úhist)r;   r=   r£   r¢   r,  r>   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,  rn   ©r¢   r£   r¤   ©Úexpected_keys)r[   rŒ   r.   Úndarrayr
   ©r;   rŽ   r>   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,  rB   r•   ÚMaleÚFemalerW  ©r{   r[   r
   rZ  s       r   Ú$test_grouped_box_return_type_groupbyz>TestDataFrameGroupByPlots.test_grouped_box_return_type_groupbyå  s4   € àˆà—‘˜HÓ%×-Ñ-¸&Ð-ÓAˆÜ˜v v¸fÀhÐ=OÖPr   rA   r›   c                 ó°   — |}|j                  d«      j                  |¬«      }t        ||g d¢¬«       |j                  d|¬«      }t        ||g d¢¬«       y )NÚ	classroomr•   ©rj   rk   r¹   rW  ©rG   rA   rV  r_  )r;   rŽ   rA   r>   Ú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    )rL   r¸   rh   zA Br"   r¤   r•   rW  rd  )	Úsplitr   r.   r/   r0   rV   r{   r[   r
   )r;   rA   Úcolumns2r  Úcategories2re  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®   ©rC   rG   r/  ©r–   r—   r˜   r[   r,  ©r;   rŽ   r>   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’   rV  )r    r!   rB   ©rC   r/  rA   )r–   r—   r˜   r[   ro  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¢   )éÿÿÿÿrv  rm  rn  ro  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úrq  zgb_key, axes_num, rows)r,  r    r!   )r¤   rM   r    )rb  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)NFrT   r¢   rB   ©rC   rA   r    r-  ©rY   rZ   ro   r   r{   r[   r	   rs   r-   Úgcfru   )r;   rŽ   Úgb_keyr.  Úrowsr>   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 )	NrV  r,  ru   )rC   rG   rA   r"   r@  r-  )Úvisible)
r[   r	   rs   r-   r{  ru   r   r4   ÚxaxisÚ	get_label)r;   rŽ   r   r€  r>   ru   r   s          r   Útest_grouped_box_layout_visiblez9TestDataFrameGroupByPlots.test_grouped_box_layout_visible3  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 )Nrb  rV  rB   ry  r"   r@  r-  ©r{   r[   r	   rs   r-   r{  ru   )r;   rŽ   r>   s      r   Útest_grouped_box_layout_shapez7TestDataFrameGroupByPlots.test_grouped_box_layout_shapeB  sG   € àˆØ
�
‰
�;Ó×'Ñ'Ú3Àð 	(ô 	
ô 	œ#Ÿ*™*Ÿ.™.Ó*×/Ñ/¸!ÀFÖKr   Úcolsr    rv  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)NFrT   r¤   r¢   r"   rB   rs  rM   )r"   r    r-  rz  )r;   rŽ   r‡  r>   s       r   Útest_grouped_box_layout_worksz7TestDataFrameGroupByPlots.test_grouped_box_layout_worksJ  st   € ð ˆÜ×'Ñ'¬ÀeÔLñ 	ÜØ—
‘
˜:Ó&×.Ñ.ØØ˜4�yØ"õ	÷	ô 	œ#Ÿ*™*Ÿ.™.Ó*×/Ñ/¸!ÀFÖK÷	ð 	ús   ž+BÂBz	rows, resrM   c                 ó¤   — |}|j                  g d¢d|df¬«       t        t        j                  j	                  «       j
                  d|df¬«       y )NrV  r,  r!   rm  r"   r-  )r[   r	   rs   r-   r{  ru   )r;   rŽ   r}  rP  r>   s        r   Ú'test_grouped_box_layout_axes_shape_rowszATestDataFrameGroupByPlots.test_grouped_box_layout_axes_shape_rowsW  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 )Nrb  rV  r!   rB   rs  r"   r-  r…  )r;   rŽ   r‡  rP  r>   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                 ó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¢   ru   ©rC   rA   r   rM   r@  r-  )rY   rZ   ro   rs   r-   rt   r{   r[   r	   r{  ru   )r;   rŽ   r>   rv   ru   s        r   Útest_grouped_box_multiple_axesz8TestDataFrameGroupByPlots.test_grouped_box_multiple_axesk  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"   rV  r,  ru   r   )rC   rG   rA   r   )r!   r"   r-  rb  r!   r�  )rs   r-   rt   rY   rZ   ro   r[   r.   Úarrayr:   r…   r	   Úassert_numpy_array_equalr¿   r{   )r;   rŽ   r>   r|   ru   re  s         r   Ú%test_grouped_box_multiple_axes_on_figz?TestDataFrameGroupByPlots.test_grouped_box_multiple_axes_on_figz  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"   rb  )r   )r–   r—   r˜   rs   r-   rt   rY   rZ   ro   r{   r[   )r;   rŽ   r>   r™   r|   ru   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Æ   )rG   rÇ   rÈ   rË   rp   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¥  Fru   )rt   rC   rA   )r   r.   r/   r0   r1   r:   r{   r   r[   r4   r6   )r;   r   Úexpected_xticklabelr>   r1  ru   r?   Ú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)rt   )r×   r{   r–   r—   r˜   r   r[   )r;   rŽ   r>   r1  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)r(   r(   Úbazr­  rS   rS   Úquxr®  )rD   rE   rD   rE   rD   rE   rD   rE   ÚfirstÚsecond)Únamesr    )r"   r½   rc  rQ   )r(   rD   )r(   rE   ru   ry  z
(bar, one)z
(bar, two))r:   r9  r   r;  r   r.   r/   r0   rV   r   r[   r4   r6   )
r;   Úarraysr=  r'   r>   r   ru   r¦  r?   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)#r#  r$  r%  r^   r4  r–   r&  r'  rq   r?  r(  ro   rE  rQ  rT  r[  r`  rf  rk  rp  rt  rw  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__r‚   rW   Únumpyr.   r–   Úpandasr   r   r   r   r   r   Úpandas._testingÚ_testingrY   Úpandas.tests.plotting.commonr	   r
   r   r   r   Úpandas.io.formats.printingr   Úimportorskiprs   r<   r   r   r*  rü   r   r   ú<module>r¼     su   ðÙ &ã Û ã Û ÷÷ õ ÷õ õ 4à€f×Ñ˜,Ó'€Ø€f×ÑÐ-Ó.€ò÷añ a÷Ho8ò o8r   