Ë
    ¤ehœˆ  ã                   óü   — d 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
 ddlmZ ddlmZmZmZmZmZmZmZmZmZmZ  ej2                  d«      Zej6                  d„ «       Z G d„ d«      Z G d	„ d
«      Z G d„ d«      Zy)z Test cases for .hist method é    N)Ú	DataFrameÚIndexÚSeriesÚ
date_rangeÚto_datetime)
Ú_check_ax_scalesÚ_check_axes_shapeÚ_check_colorsÚ_check_legend_labelsÚ_check_patches_all_filledÚ_check_plot_worksÚ_check_text_labelsÚ_check_ticks_propsÚ
get_x_axisÚ
get_y_axisÚ
matplotlibc                  ó|   — t        t        j                  dt        j                  ¬«      t	        ddd¬«      d¬«      S )Né   ©Údtypez
2020-01-01ÚB)ÚperiodsÚfreqÚts©ÚindexÚname)r   ÚnpÚarangeÚfloat64r   © ó    úd/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/plotting/test_hist_method.pyr   r      s0   € äÜ
�	‰	�"œBŸJ™JÔ'Ü˜¨r¸Ô<Øôð r"   c                   ó  — e Zd Zej                  j                  di ddiddig«      d„ «       Zej                  j                  di ddig«      d	„ «       Zd
„ Zd„ Z	d„ Z
d„ Zd„ Zd„ Zd„ Zej                  j                  ej                  j                  dg d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      d„ «       «       Zd„ Zd„ Zd„ Zd„ Zej                  j                  dg d¢«      d „ «       Zej                  j                  d!d"d#g«      d$„ «       Zej                  j                  d%d&d'g«      d(„ «       Zd)„ Zd*„ Zd+„ Zej                  j7                  d,¬-«      d.„ «       Zd/„ Zd0„ Zej                  j7                  d,¬-«      d1„ «       Zd2„ Z d3„ Z!y&)4ÚTestSeriesPlotsÚkwargsÚgridFÚfigsize©é   é
   c                 ó0   — t        |j                  fi |¤Ž y ©N)r   Úhist©Úselfr   r&   s      r#   Útest_hist_legacy_kwargsz'TestSeriesPlots.test_hist_legacy_kwargs)   s   € ä˜"Ÿ'™'Ñ, VÓ,r"   Úbinsé   c                 ó¼   — t        j                  t        d¬«      5  t        |j                  fd|j
                  j                  i|¤Ž d d d «       y # 1 sw Y   y xY w)NF©Úcheck_stacklevelÚby)ÚtmÚassert_produces_warningÚUserWarningr   r.   r   Úmonthr/   s      r#   Útest_hist_legacy_kwargs_warningz/TestSeriesPlots.test_hist_legacy_kwargs_warning-   sK   € ô ×'Ñ'¬ÀeÔLñ 	DÜ˜bŸg™gÑC¨"¯(©(¯.©.ÐC¸FÒC÷	D÷ 	Dñ 	Dús   œ-AÁAc                 óz   — t         j                  j                  dd«      \  }}t        |j                  |d¬«       y )Né   T)ÚaxÚdefault_axes©ÚmplÚpyplotÚsubplotsr   r.   ©r0   r   Úfigr?   s       r#   Útest_hist_legacy_axz#TestSeriesPlots.test_hist_legacy_ax3   s,   € Ü—*‘*×%Ñ% a¨Ó+‰ˆˆRÜ˜"Ÿ'™' b°tÖ<r"   c                 ó|   — t         j                  j                  dd«      \  }}t        |j                  ||d¬«       y )Nr>   T)r?   Úfigurer@   rA   rE   s       r#   Útest_hist_legacy_ax_and_figz+TestSeriesPlots.test_hist_legacy_ax_and_fig7   s.   € Ü—*‘*×%Ñ% a¨Ó+‰ˆˆRÜ˜"Ÿ'™' b°À4ÖHr"   c                 óz   — t         j                  j                  dd«      \  }}t        |j                  |d¬«       y )Nr>   T)rI   r@   rA   )r0   r   rF   Ú_s       r#   Útest_hist_legacy_figz$TestSeriesPlots.test_hist_legacy_fig;   s,   € Ü—‘×$Ñ$ Q¨Ó*‰ˆˆQÜ˜"Ÿ'™'¨#¸DÖAr"   c                 ó´   — t         j                  j                  dd«      \  }\  }}t        |j                  ||d¬«       t        |j                  ||d¬«       y )Nr>   é   T)rI   r?   r@   rA   )r0   r   rF   Úax1Úax2s        r#   Útest_hist_legacy_multi_axz)TestSeriesPlots.test_hist_legacy_multi_ax?   sD   € ÜŸ*™*×-Ñ-¨a°Ó3‰ˆ‰Zˆc�3Ü˜"Ÿ'™'¨#°#ÀDÕIÜ˜"Ÿ'™'¨#°#ÀDÖIr"   c                 óè   — t         j                  j                  dd«      \  }}d}t        j                  t
        |¬«      5  |j                  |j                  |¬«       d d d «       y # 1 sw Y   y xY w)Nr>   z`Cannot pass 'figure' when using the 'by' argument, since a new 'Figure' instance will be created©Úmatch)r7   rI   )rB   rC   rD   ÚpytestÚraisesÚ
ValueErrorr.   r   )r0   r   rF   rL   Úmsgs        r#   Útest_hist_legacy_by_fig_errorz-TestSeriesPlots.test_hist_legacy_by_fig_errorD   s_   € Ü—‘×$Ñ$ Q¨Ó*‰ˆˆQð'ð 	ô �]‰]œ:¨SÔ1ñ 	-Ø�G‰G�r—x‘x¨ˆGÔ,÷	-÷ 	-ñ 	-ús   ÁA(Á(A1c                 óÖ   — t        t        j                  j                  d«      j	                  d«      «      }|j                  d¬«      d   d   }t        |j                  «      dk(  sJ ‚y )NrO   ©r+   rO   )r2   r   )r   r   ÚrandomÚdefault_rngÚstandard_normalr.   ÚlenÚpatches)r0   Údfr?   s      r#   Útest_hist_bins_legacyz%TestSeriesPlots.test_hist_bins_legacyM   sU   € Ü”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓHÓIˆØ�W‰W˜!ˆW‹_˜QÑ Ñ"ˆÜ�2—:‘:‹ !Ò#Ð#Ñ#r"   c                 ó@  — |}d}t        j                  t        |¬«      5  |j                  j	                  d¬«       d d d «       t        j                  t        |¬«      5  |j                  j	                  ddg¬«       d d d «       y # 1 sw Y   ŒLxY w# 1 sw Y   y xY w)Nz7The 'layout' keyword is not supported when 'by' is NonerT   ©r>   r>   ©Úlayoutr>   )rV   rW   rX   Úheightr.   )r0   Úhist_dfrb   rY   s       r#   Útest_hist_layoutz TestSeriesPlots.test_hist_layoutR   s�   € ØˆØGˆÜ�]‰]œ:¨SÔ1ñ 	*Ø�I‰I�N‰N &ˆNÔ)÷	*ô �]‰]œ:¨SÔ1ñ 	*Ø�I‰I�N‰N 1 a &ˆNÔ)÷	*ð 	*÷	*ð 	*ú÷	*ð 	*ús    BÁ BÂBÂBz by, layout, axes_num, res_layout)Úgender©rO   r>   rO   rl   )rk   ©é   éÿÿÿÿrO   )rn   r>   )Úcategory©é   r>   rr   rq   )rp   ©rO   ro   rr   ©rO   rO   )rp   rm   rr   )rn   rO   )rp   ©ro   rr   rr   ©r>   rr   )Ú	classroomrt   rn   rt   c                 óÜ   — |}t        j                  t        d¬«      5  t        |j                  j
                  t        ||«      |¬«      }d d d «       t        ||¬«       y # 1 sw Y   ŒxY w)NFr5   ©r7   rg   ©Úaxes_numrg   )r8   r9   r:   r   rh   r.   Úgetattrr	   )r0   ri   r7   rg   r{   Ú
res_layoutrb   Úaxess           r#   Útest_hist_layout_with_byz(TestSeriesPlots.test_hist_layout_with_by[   s]   € ð ˆô
 ×'Ñ'¬ÀeÔLñ 	XÜ$ R§Y¡Y§^¡^¼ÀÀB»ÐPVÔWˆD÷	Xä˜$¨¸*ÖE÷	Xð 	Xús   ž-A"Á"A+c                 óv   — |}|j                   j                  |j                  dd¬«      }t        |ddd¬«       y )N©rr   rO   )é   é   )r7   rg   r(   rr   ©r{   rg   r(   )rh   r.   rp   r	   ©r0   ri   rb   r~   s       r#   Útest_hist_layout_with_by_shapez.TestSeriesPlots.test_hist_layout_with_by_shaper   s1   € Øˆà�y‰y�~‰~ §¡°VÀWˆ~ÓMˆÜ˜$¨°6À7ÖKr"   c                 ó–  — ddl m}m} t        t        j
                  j                  d«      j                  d«      «      }t        t        j
                  j                  d«      j                  d«      «      } |d«       |j                  «         |d«       |j                  «         |«       }|j                  }t        |«      dk(  sJ ‚y )Nr   )ÚgcfÚsubplotrO   éy   éz   )Úmatplotlib.pyplotrˆ   r‰   r   r   r]   r^   r_   r.   r~   r`   )r0   rˆ   r‰   ÚxÚyrF   r~   s          r#   Útest_hist_no_overlapz$TestSeriesPlots.test_hist_no_overlapx   s‘   € ÷	
ô
 ”2—9‘9×(Ñ(¨Ó+×;Ñ;¸AÓ>Ó?ˆÜ”2—9‘9×(Ñ(¨Ó+×;Ñ;¸AÓ>Ó?ˆÙ�ŒØ	�‰ŒÙ�ŒØ	�‰ŒÙ‹eˆØ�x‰xˆÜ�4‹y˜AŠ~Ð‰~r"   c                 ó¬   — |}|j                   j                  |j                  ¬«       t        t        j
                  j                  «       «      dk(  sJ ‚y )N©r7   r>   )rh   r.   rk   r`   rB   rC   Úget_fignums)r0   ri   rb   s      r#   Útest_hist_by_no_extra_plotsz+TestSeriesPlots.test_hist_by_no_extra_plotsˆ   s=   € ØˆØ
�	‰	�‰˜"Ÿ)™)ˆÔ$Ü”3—:‘:×)Ñ)Ó+Ó,°Ò1Ð1Ñ1r"   c                 óØ   — ddl m}  |«       } |«       }|j                  d«      }d}t        j                  t
        |¬«      5  |j                  ||¬«       d d d «       y # 1 sw Y   y xY w)Nr   )rI   éo   z&passed axis not bound to passed figurerT   )r?   rI   )ÚpylabrI   Úadd_subplotrV   rW   ÚAssertionErrorr.   )r0   r   rI   Úfig1Úfig2rP   rY   s          r#   Ú+test_plot_fails_when_ax_differs_from_figurez;TestSeriesPlots.test_plot_fails_when_ax_differs_from_figure�   s[   € Ý á‹xˆÙ‹xˆØ×Ñ˜sÓ#ˆØ6ˆÜ�]‰]œ>°Ô5ñ 	)Ø�G‰G�s 4ˆGÔ(÷	)÷ 	)ñ 	)úó   ÁA Á A)úhisttype, expected©)ÚbarT)Ú
barstackedT)ÚstepF)Ú
stepfilledTc                 ó²   — t        t        j                  j                  d«      j	                  dd«      «      }|j                  |¬«      }t        ||¬«       y )NrO   r>   r+   ©Úhisttype©Úfilled)r   r   r]   r^   Úintegersr.   r   )r0   r¥   ÚexpectedÚserr?   s        r#   Útest_histtype_argumentz&TestSeriesPlots.test_histtype_argument—   sD   € ô ”R—Y‘Y×*Ñ*¨1Ó-×6Ñ6°q¸"Ó=Ó>ˆØ�X‰X˜xˆXÓ(ˆÜ! "¨XÖ6r"   z&by, expected_axes_num, expected_layout)Nr>   re   )ÚbrO   )r>   rO   c                 ó  — ddgz  ddgz  z   }t        t        j                  j                  d«      j	                  d«      |d¬«      }d|j
                  _        t        |j                  d	d	|¬
«      }t        |||¬«       t        |d«       y )Né   Ú1Ú2rO   r   Úar   r¬   T)r@   Úlegendr7   rz   )r   r   r]   r^   r_   r   r   r   r.   r	   r   )r0   r7   Úexpected_axes_numÚexpected_layoutr   Úsr~   s          r#   Útest_hist_with_legendz%TestSeriesPlots.test_hist_with_legend¦   s{   € ð
 �c�U‘
˜R 3 %™ZÑ'ˆÜ”2—9‘9×(Ñ(¨Ó+×;Ñ;¸BÓ?ÀuÐSVÔWˆØˆ�‰Œô ! §¡°dÀ4ÈBÔOˆÜ˜$Ð):À?ÕSÜ˜T 3Õ'r"   r7   Nr¬   c                 ó<  — ddgz  ddgz  z   }t        t        j                  j                  d«      j	                  d«      |d¬«      }d|j
                  _        t        j                  t        d	¬
«      5  |j                  d|d¬«       d d d «       y # 1 sw Y   y xY w)Nr®   r¯   r°   rO   r   r±   r   r¬   ú Cannot use both legend and labelrT   TÚc)r²   r7   Úlabel)r   r   r]   r^   r_   r   r   rV   rW   rX   r.   )r0   r7   r   rµ   s       r#   Útest_hist_with_legend_raisesz,TestSeriesPlots.test_hist_with_legend_raises´   s„   € ð �c�U‘
˜R 3 %™ZÑ'ˆÜ”2—9‘9×(Ñ(¨Ó+×;Ñ;¸BÓ?ÀuÐSVÔWˆØˆ�‰Œä�]‰]œ:Ð-OÔPñ 	2Ø�F‰F˜$ 2¨SˆFÔ1÷	2÷ 	2ñ 	2ús   Á4BÂBc                 óü   — t         j                  j                  «       \  }}|j                  j	                  d|¬«      }t        |j                  «      dk(  sJ ‚t        |j                  j                  «       d«       y )Nr3   ©r2   r?   Ú	Frequency)
rB   rC   rD   Úplotr.   r`   ra   r   ÚyaxisÚ	get_label©r0   r   rL   r?   s       r#   Útest_hist_kwargsz TestSeriesPlots.test_hist_kwargs¾   s[   € Ü—
‘
×#Ñ#Ó%‰ˆˆ2Ø�W‰W�\‰\˜q Rˆ\Ó(ˆÜ�2—:‘:‹ !Ò#Ð#Ð#Ü˜2Ÿ8™8×-Ñ-Ó/°Õ=r"   c                 ó  — t         j                  j                  «       \  }}|j                  j	                  d|¬«      }|j                  j	                  d|¬«      }t        |j                  j                  «       d«       y )Nr3   r½   Ú
horizontal)Úorientationr?   r¾   )rB   rC   rD   r¿   r.   r   ÚxaxisrÁ   rÂ   s       r#   Útest_hist_kwargs_horizontalz+TestSeriesPlots.test_hist_kwargs_horizontalÄ   s[   € Ü—
‘
×#Ñ#Ó%‰ˆˆ2Ø�W‰W�\‰\˜q Rˆ\Ó(ˆØ�W‰W�\‰\ l°rˆ\Ó:ˆÜ˜2Ÿ8™8×-Ñ-Ó/°Õ=r"   c                 ó¼   — t         j                  j                  «       \  }}|j                  j	                  d|¬«      }|j                  j	                  dd|¬«      }y )Nr3   r½   ÚleftT)ÚalignÚstackedr?   )rB   rC   rD   r¿   r.   rÂ   s       r#   Útest_hist_kwargs_alignz&TestSeriesPlots.test_hist_kwargs_alignÊ   sF   € Ü—
‘
×#Ñ#Ó%‰ˆˆ2Ø�W‰W�\‰\˜q Rˆ\Ó(ˆØ�W‰W�\‰\ °¸ˆ\Ó<‰r"   zApi changed in 3.6.0)Úreasonc                 óh  — t        j                  d«       t        j                  j	                  «       \  }}|j
                  j                  d|¬«      }t        |d¬«       |j                  «       }t        |dgt        |«      z  «       |j                  «       }t        |dgt        |«      z  «       y ©NÚscipyT)Úlogyr?   Úlog©rÀ   Ú )rV   ÚimportorskiprB   rC   rD   r¿   r.   r   Úget_xticklabelsr   r`   Úget_yticklabels©r0   r   rL   r?   ÚxlabelsÚylabelss         r#   Útest_hist_kdezTestSeriesPlots.test_hist_kdeÏ   sŒ   € ä×Ñ˜GÔ$Ü—
‘
×#Ñ#Ó%‰ˆˆ2Ø�W‰W�\‰\˜t¨ˆ\Ó+ˆÜ˜ 5Õ)Ø×$Ñ$Ó&ˆä˜7 R D¬3¨w«<Ñ$7Ô8Ø×$Ñ$Ó&ˆÜ˜7 R D¬3¨w«<Ñ$7Õ8r"   c                 ól   — t        j                  d«       t        |j                  j                  «       y ©NrÑ   )rV   rÖ   r   r¿   Úkde©r0   r   s     r#   Útest_hist_kde_plot_worksz(TestSeriesPlots.test_hist_kde_plot_worksÛ   s    € Ü×Ñ˜GÔ$Ü˜"Ÿ'™'Ÿ+™+Õ&r"   c                 ól   — t        j                  d«       t        |j                  j                  «       y rÞ   )rV   rÖ   r   r¿   Údensityrà   s     r#   Útest_hist_kde_density_worksz+TestSeriesPlots.test_hist_kde_density_worksß   s    € Ü×Ñ˜GÔ$Ü˜"Ÿ'™'Ÿ/™/Õ*r"   c                 óh  — t        j                  d«       t        j                  j	                  «       \  }}|j
                  j                  d|¬«      }t        |d¬«       |j                  «       }t        |dgt        |«      z  «       |j                  «       }t        |dgt        |«      z  «       y rÐ   )rV   rÖ   rB   rC   rD   r¿   rß   r   r×   r   r`   rØ   rÙ   s         r#   Útest_hist_kde_logyz"TestSeriesPlots.test_hist_kde_logyã   sŒ   € ä×Ñ˜GÔ$Ü—
‘
×#Ñ#Ó%‰ˆˆ2Ø�W‰W�[‰[˜d rˆ[Ó*ˆÜ˜ 5Õ)Ø×$Ñ$Ó&ˆÜ˜7 R D¬3¨w«<Ñ$7Ô8Ø×$Ñ$Ó&ˆÜ˜7 R D¬3¨w«<Ñ$7Õ8r"   c                 ó2  — t        j                  d«       t        j                  j	                  «       \  }}|j
                  j                  ddd|¬«      }t        |d¬«       t        |j                  «      dk(  sJ ‚t        |j                  dgdz  ¬«       y )	NrÑ   Tr+   r¬   )rÒ   r2   Úcolorr?   rÓ   rÔ   )Ú
facecolors)rV   rÖ   rB   rC   rD   r¿   r.   r   r`   ra   r
   rÂ   s       r#   Útest_hist_kde_color_binsz(TestSeriesPlots.test_hist_kde_color_binsî   st   € Ü×Ñ˜GÔ$Ü—
‘
×#Ñ#Ó%‰ˆˆ2Ø�W‰W�\‰\˜t¨"°C¸Bˆ\Ó?ˆÜ˜ 5Õ)Ü�2—:‘:‹ "Ò$Ð$Ð$Ü�b—j‘j¨c¨U°R©ZÖ8r"   c                 ó   — t        j                  d«       t        j                  j	                  «       \  }}|j
                  j                  dd|¬«      }t        |d¬«       |j                  «       }t        |«      dk(  sJ ‚t        |dg«       y )NrÑ   TÚr)rÒ   rè   r?   rÓ   rÔ   r>   )rV   rÖ   rB   rC   rD   r¿   rß   r   Ú	get_linesr`   r
   )r0   r   rL   r?   Úliness        r#   Útest_hist_kde_colorz#TestSeriesPlots.test_hist_kde_colorö   so   € Ü×Ñ˜GÔ$Ü—
‘
×#Ñ#Ó%‰ˆˆ2Ø�W‰W�[‰[˜d¨#°"ˆ[Ó5ˆÜ˜ 5Õ)Ø—‘“ˆÜ�5‹z˜QŠÐˆÜ�e˜c˜UÕ#r"   )"Ú__name__Ú
__module__Ú__qualname__rV   ÚmarkÚparametrizer1   r<   rG   rJ   rM   rR   rZ   rc   rj   Úslowr   r†   r�   r“   r›   r«   r¶   r»   rÃ   rÈ   rÍ   ÚxfailrÜ   rá   rä   ræ   rê   rï   r!   r"   r#   r%   r%   (   sé  „ Ø‡[�[×Ñ˜X¨¨V°U¨O¸iÈÐ=QÐ'RÓSñ-ó Tð-ð ‡[�[×Ñ˜X¨¨V°Q¨KÐ'8Ó9ñDó :ðDò
=òIòBòJò
-ò$ò
*ð ‡[�[×ÑØ‡[�[×ÑØ*â)Ú*Ú+Ú,Ú,Ú,Ú,ð	
óñFóó ðFòLòò 2ò
)ð ‡[�[×ÑØò	
óñ7óð7ð ‡[�[×ÑØ0Ð3DÐFVÐ2Wóñ	(óð	(ð ‡[�[×Ñ˜T D¨# ;Ó/ñ2ó 0ð2ò>ò>ò=ð
 ‡[�[×ÑÐ4ÐÓ5ñ	9ó 6ð	9ò'ò+ð ‡[�[×ÑÐ4ÐÓ5ñ9ó 6ð9ò9ó$r"   r%   c                   óÜ  — e Zd Zej                  j
                  d„ «       Zej                  j
                  d„ «       Zej                  j
                  d„ «       Zej                  j
                  d„ «       Z	ej                  j
                  ej                  j                  ddddœdd	id
dig«      d„ «       «       Zej                  j
                  d„ «       Zej                  j
                  d„ «       Zej                  j
                  d„ «       Zej                  j
                  d„ «       Zd„ Zej                  j                  ddddœdddœdddœdddœdddœdddœdddœdddœdddœf	«      d„ «       Zd„ Zd„ Zd „ Zej                  j                  d!dg d"¢fg d#¢g d#¢fg«      d$„ «       Zej                  j                  d%g d&¢«      d'„ «       Zej                  j                  d(dd)g«      ej                  j                  d*dd+g«      d,„ «       «       Zej                  j                  d(dd)g«      ej                  j                  d*dd+g«      d-„ «       «       Zd.„ Zd/„ Zd0„ Zd1„ Zd2„ Zd3„ Zd4„ Zy)5ÚTestDataFramePlotsc                 óŽ   — t        j                  t        d¬«      5  t        |j                  «       d d d «       y # 1 sw Y   y xY w)NFr5   )r8   r9   r:   r   r.   )r0   ri   s     r#   Útest_hist_df_legacyz&TestDataFramePlots.test_hist_df_legacy  s3   € ä×'Ñ'¬ÀeÔLñ 	,Ü˜gŸl™lÔ+÷	,÷ 	,ñ 	,ús	   œ;»Ac                 ó  — t        t        j                  j                  d«      j	                  d«      «      }t        t        j                  j                  d«      j                  dddt        j                  ¬«      «      |d<   t        j                  t        d¬«      5  t        |j                  d¬	«      }d d d «       t        d
d¬«       |d   j                  «       rJ ‚t        |dg   j                  «       y # 1 sw Y   ŒFxY w)NrO   r\   ì     jÕ+2Zì     ÊRŠeöZr+   ©Úsizer   Fr5   )r'   rn   rt   rz   re   )r   r   r]   r^   r_   r   r¨   Úint64r8   r9   r:   r   r.   r	   Úget_visible©r0   rb   r~   s      r#   Útest_hist_df_legacy_layoutz-TestDataFramePlots.test_hist_df_legacy_layout  sÓ   € ô ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓHÓIˆÜÜ�I‰I×!Ñ! !Ó$×-Ñ-Ø"Ø"ØÜ—h‘hð	 .ó ó
ˆˆ1‰ô ×'Ñ'¬ÀeÔLñ 	:Ü$ R§W¡W°5Ô9ˆD÷	:ä˜$¨°6Õ:Ø˜‘:×)Ñ)Ô+Ð+Ð+ä˜"˜a˜S™'Ÿ,™,Õ'÷	:ð 	:ús   ÂC<Ã<Dc                 óœ   — t        t        j                  j                  d«      j	                  d«      «      }t        |j                  «       y )NrO   ©r+   r>   )r   r   r]   r^   r_   r   r.   ©r0   rb   s     r#   Útest_hist_df_legacy_layout2z.TestDataFramePlots.test_hist_df_legacy_layout2  s2   € ä”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓHÓIˆÜ˜"Ÿ'™'Õ"r"   c                 ó´  — t        t        j                  j                  d«      j	                  d«      «      }t        t        j                  j                  d«      j                  dddt        j                  ¬«      «      |d<   t        j                  t        d¬	«      5  t        |j                  d
¬«      }d d d «       t        dd
¬«       y # 1 sw Y   ŒxY w)NrO   ©r+   r3   rü   rý   r+   rþ   r3   Fr5   r�   rf   é   rz   )r   r   r]   r^   r_   r   r¨   r   r8   r9   r:   r   r.   r	   r  s      r#   Útest_hist_df_legacy_layout3z.TestDataFramePlots.test_hist_df_legacy_layout3  s«   € ô ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓHÓIˆÜÜ�I‰I×!Ñ! !Ó$×-Ñ-Ø"Ø"ØÜ—h‘hð	 .ó ó
ˆˆ1‰ô ×'Ñ'¬ÀeÔLñ 	=Ü$ R§W¡W°VÔ<ˆD÷	=ä˜$¨°6Ö:÷	=ð 	=ús   ÂCÃCr&   T)ÚsharexÚshareyr(   r)   r2   r3   c                 ó–  — t        t        j                  j                  d«      j	                  d«      «      }t        t        j                  j                  d«      j                  dddt        j                  ¬«      «      |d<   t        j                  t        d¬	«      5  t        |j                  fi |¤Ž d d d «       y # 1 sw Y   y xY w)
NrO   r	  rü   rý   r+   rþ   r3   Fr5   )r   r   r]   r^   r_   r   r¨   r   r8   r9   r:   r   r.   )r0   r&   rb   s      r#   Ú!test_hist_df_legacy_layout_kwargsz4TestDataFramePlots.test_hist_df_legacy_layout_kwargs.  s    € ô
 ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓHÓIˆÜÜ�I‰I×!Ñ! !Ó$×-Ñ-Ø"Ø"ØÜ—h‘hð	 .ó ó
ˆˆ1‰ô ×'Ñ'¬ÀeÔLñ 	1Ü˜bŸg™gÑ0¨Ò0÷	1÷ 	1ñ 	1ús   ÂB?Â?Cc                 ó„   —  |t        d«      «      }d\  }}d\  }}|j                  ||||¬«      }t        |||||¬«       y )Nr+   ©é   é   ©r   é(   ©Ú
xlabelsizeÚxrotÚ
ylabelsizeÚyrot)Úranger.   r   )r0   Úframe_or_seriesÚobjÚxfÚyfr  r  r~   s           r#   Ú(test_hist_df_legacy_layout_labelsize_rotz;TestDataFramePlots.test_hist_df_legacy_layout_labelsize_rotB  sJ   € ñ œe B›iÓ(ˆØ‰ˆˆBØ‰
ˆˆdØ�x‰x 2¨D¸RÀdˆxÓKˆÜ˜4¨B°TÀbÈtÖTr"   c                 ó  — ddl m} t        t        d«      «      }|j	                  ddd¬«      }|j                  «       D �cg c]  }t        ||«      sŒ|‘Œ }}t        j                  |d   j                  «       d«       y c c}w )	Nr   ©Ú	Rectangler+   Trr   )Ú
cumulativer2   rã   ro   ç      ð?)
Úmatplotlib.patchesr#  r   r  r.   Úget_childrenÚ
isinstancer8   Úassert_almost_equalÚ
get_height)r0   r#  rª   r?   r�   Úrectss         r#   Útest_hist_df_legacy_rectanglesz1TestDataFramePlots.test_hist_df_legacy_rectanglesK  sm   € å0ä”U˜2“YÓˆØ�X‰X ¨A°tˆXÓ<ˆàŸO™OÓ-ÖJ�q´¸A¸yÕ1I’ÐJˆÐJÜ
×Ñ˜u R™y×3Ñ3Ó5°sÕ;ùò Ks   ÁBÁBc                 ój   — t        t        d«      «      }|j                  d¬«      }t        |d¬«       y )Nr+   T)rÓ   rÓ   rÔ   )r   r  r.   r   )r0   rª   r?   s      r#   Útest_hist_df_legacy_scalez,TestDataFramePlots.test_hist_df_legacy_scaleU  s*   € ä”U˜2“YÓˆØ�X‰X˜$ˆXÓˆä˜ 5Ö)r"   c                 ó¬   — t        t        d«      «      }t        j                  t        «      5  |j                  d¬«       d d d «       y # 1 sw Y   y xY w)Nr+   rŸ   )Úfoo)r   r  r8   Úexternal_error_raisedÚAttributeErrorr.   )r0   rª   s     r#   Ú"test_hist_df_legacy_external_errorz5TestDataFramePlots.test_hist_df_legacy_external_error\  sA   € ä”U˜2“YÓˆä×%Ñ%¤nÓ5ñ 	 Ø�H‰H˜ˆHÔ÷	 ÷ 	 ñ 	 ús   ®A
Á
Ac                 ó¦  — t        t        j                  j                  d«      j                  d«      t        j                  j                  d«      j	                  ddd«      t        t        j                  j                  d«      j	                  dddt        j                  ¬«      «      t        t        j                  j                  d«      j	                  dddt        j                  ¬«      d¬«      d	œ«      }|j                  t        «      }d
}t        j                  t        |¬«      5  |j                  «        d d d «       y # 1 sw Y   y xY w)NrO   r+   r   l     úÛp¹/ l    @©spcÍ/ r   T)Úutc)r±   r¬   r¹   ÚdzDhist method requires numerical or datetime columns, nothing to plot.rT   )r   r   r]   r^   r¨   r   r   ÚastypeÚobjectrV   rW   rX   r.   )r0   rb   Údf_orY   s       r#   Ú*test_hist_non_numerical_or_datetime_raisesz=TestDataFramePlots.test_hist_non_numerical_or_datetime_raisesc  s  € ää—Y‘Y×*Ñ*¨1Ó-×4Ñ4°RÓ8Ü—Y‘Y×*Ñ*¨1Ó-×6Ñ6°q¸"¸bÓAÜ Ü—I‘I×)Ñ)¨!Ó,×5Ñ5Ø+Ð-@À"ÌBÏHÉHð 6ó óô
 !Ü—I‘I×)Ñ)¨!Ó,×5Ñ5Ø+Ð-@À"ÌBÏHÉHð 6ó ð ô	ñó
ˆð" �y‰yœÓ ˆàTˆÜ�]‰]œ:¨SÔ1ñ 	Ø�I‰IŒK÷	÷ 	ñ 	ús   Ä-EÅEÚlayout_testNrt   )rg   Úexpected_sizerq   rv   )rn   rn   ru   )rr   ro   )ro   rO   rs   c                 óZ  — t        t        j                  j                  d«      j	                  d«      «      }t        t        j                  j                  d«      j                  dddt        j                  ¬«      «      |d<   |j                  |d   ¬«      }|d	   }t        |d
|¬«       y )NrO   r\   rü   rý   r+   rþ   rg   rf   r<  rn   rz   )
r   r   r]   r^   r_   r   r¨   r   r.   r	   )r0   r;  rb   r~   r©   s        r#   rj   z#TestDataFramePlots.test_hist_layout|  s•   € ô ”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓHÓIˆÜÜ�I‰I×!Ñ! !Ó$×-Ñ-Ø"Ø"ØÜ—h‘hð	 .ó ó
ˆˆ1‰ð �w‰w˜k¨(Ñ3ˆwÓ4ˆØ˜Ñ/ˆÜ˜$¨°8Ö<r"   c                 óÈ  — t        t        j                  j                  d«      j	                  d«      «      }t        t        j                  j                  d«      j                  dddt        j                  ¬«      «      |d<   d}t        j                  t        |¬«      5  |j                  d	¬
«       d d d «       t        j                  d«      }t        j                  t        |¬«      5  |j                  d¬
«       d d d «       d}t        j                  t        |¬«      5  |j                  d¬
«       d d d «       y # 1 sw Y   Œ�xY w# 1 sw Y   ŒNxY w# 1 sw Y   y xY w)NrO   r\   rü   rý   r+   rþ   z1Layout of 1x1 must be larger than required size 3rT   re   rf   z)Layout must be a tuple of (rows, columns))r>   ú1At least one dimension of layout must be positive©ro   ro   )r   r   r]   r^   r_   r   r¨   r   rV   rW   rX   r.   ÚreÚescape)r0   rb   rY   s      r#   Útest_hist_layout_errorz)TestDataFramePlots.test_hist_layout_error˜  s  € Ü”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓHÓIˆÜÜ�I‰I×!Ñ! !Ó$×-Ñ-Ø"Ø"ØÜ—h‘hð	 .ó ó
ˆˆ1‰ð BˆÜ�]‰]œ:¨SÔ1ñ 	#Ø�G‰G˜6ˆGÔ"÷	#ô �i‰iÐCÓDˆÜ�]‰]œ:¨SÔ1ñ 	!Ø�G‰G˜4ˆGÔ ÷	!àAˆÜ�]‰]œ:¨SÔ1ñ 	%Ø�G‰G˜8ˆGÔ$÷	%ð 	%÷	#ð 	#ú÷
	!ð 	!ú÷	%ð 	%ús$   Â!E Ã,EÄ$EÅ E	ÅEÅE!c                 ót  — t        t        j                  j                  d«      j	                  d«      «      }t        t        j                  j                  d«      j                  dddt        j                  ¬«      «      |d<   t        |j                  d¬«       t        j                  j                  «        y )	NrO   ©éd   rO   rü   rý   rF  rþ   T)r@   )r   r   r]   r^   r_   r   r¨   r   r   r.   rB   rC   Útight_layoutr  s     r#   Útest_tight_layoutz$TestDataFramePlots.test_tight_layout°  s†   € Ü”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓIÓJˆÜÜ�I‰I×!Ñ! !Ó$×-Ñ-Ø"Ø"ØÜ—h‘hð	 .ó ó
ˆˆ1‰ô 	˜"Ÿ'™'°Õ5Ü�
‰
×ÑÕ!r"   c                 óx   — t        g d¢g d¢dœ«      }t        |j                  ddddd¬	«      }t        |d¬
«       y )N©g      ø?ç      à?g333333ó?çÍÌÌÌÌÌì?rn   )ÚpigÚrabbitrM  rM  rN  )ÚlengthÚanimalTrO  rP  r3   r   )r@   Úcolumnr7   r2   r  ©r  )r   r   r.   r   r  s      r#   Útest_hist_subplot_xrotz)TestDataFramePlots.test_hist_subplot_xrot¾  sE   € äâ1ÚCñó
ˆô !Ø�G‰GØØØØØô
ˆô 	˜4 aÖ(r"   zcolumn, expected©ÚwidthrO  rh   )rO  rU  rh   c                 óÖ   — t        g d¢g d¢g d¢dœg d¢¬«      }t        |j                  d|d¬	«      }t        d
«      D �cg c]  }|d|f   j	                  «       ‘Œ }}||k(  sJ ‚y c c}w )N)çffffffæ?çš™™™™™É?g333333Ã?rX  gš™™™™™ñ?rJ  )rn   rK  g333333@rO   r>   rT  )rM  rN  ÚduckÚchickenÚhorse)r   T©r>   rn   )r@   rQ  rg   rn   r   )r   r   r.   r  Ú	get_title)r0   rQ  r©   rb   r~   ÚiÚresults          r#   Ú test_hist_column_order_unchangedz3TestDataFramePlots.test_hist_column_order_unchangedÑ  s{   € ô â3Ú1Ú-ñò
 @ô
ˆô !Ø�G‰GØØØô	
ˆô 38¸³(Ö;¨Q�$�q˜!�t‘*×&Ñ&Õ(Ð;ˆÐ;Ø˜Ò!Ð!Ñ!ùò <s   Á A&r�   rž   c                 ó¾   — t        t        j                  j                  d«      j	                  ddd¬«      ddg¬«      }|j                  |¬	«      }t        ||¬
«       y )NrO   r>   r+   rE  ©rÿ   r±   r¬   ©Úcolumnsr¤   r¦   ©r   r   r]   r^   r¨   r.   r   ©r0   r¥   r©   rb   r?   s        r#   r«   z)TestDataFramePlots.test_histtype_argumentî  sU   € ô Ü�I‰I×!Ñ! !Ó$×-Ñ-¨a°¸(Ð-ÓCÈcÐSVÈZô
ˆð �W‰W˜hˆWÓ'ˆÜ! "¨XÖ6r"   r7   r¹   rQ  r¬   c                 ó†  — |€|�dnd}d|f}|xs ddg}|�|gdz  }t        ddgz  ddgz  z   d¬	«      }t        t        j                  j	                  d«      j                  d
«      |ddg¬«      }t        |j                  dd||¬«      }t        |||¬«       |€|€|d   }t        ||«      D ]  \  }	}
t        |
|	«       Œ y )Nr>   rO   r±   r¬   r®   r¯   r°   r¹   ©r   ©r   rO   ©r   rd  T)r@   r²   r7   rQ  rz   r   )r   r   r   r]   r^   r_   r   r.   r	   Úzipr   )r0   r7   rQ  r³   r´   Úexpected_labelsr   rb   r~   Úexpected_labelr?   s              r#   r¶   z(TestDataFramePlots.test_hist_with_legendÿ  só   € ð "$ °Ð0B™AÈÐØÐ/Ð0ˆØ Ò. S¨# JˆØˆ>Ø.Ð/°!Ñ3ˆOä�b˜C˜5‘j 2¨¨¡:Ñ-°CÔ8ˆÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=ØØ˜#�Jô
ˆô !Ø�G‰GØØØØô
ˆô 	˜$Ð):À?ÕSØˆ:˜&˜.Ø˜‘7ˆDÜ"% o°tÓ"<ò 	5ÑˆN˜BÜ   ^Õ4ñ	5r"   c                 ó6  — t        ddgz  ddgz  z   d¬«      }t        t        j                  j	                  d«      j                  d«      |dd	g¬
«      }t        j                  t        d¬«      5  |j                  d||d¬«       d d d «       y # 1 sw Y   y xY w)Nr®   r¯   r°   r¹   rh  rO   ri  r±   r¬   rj  r¸   rT   Tr6  )r²   r7   rQ  rº   )
r   r   r   r]   r^   r_   rV   rW   rX   r.   )r0   r7   rQ  r   rb   s        r#   r»   z/TestDataFramePlots.test_hist_with_legend_raises  s�   € ô �b˜C˜5‘j 2¨¨¡:Ñ-°CÔ8ˆÜÜ�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=ØØ˜#�Jô
ˆô �]‰]œ:Ð-OÔPñ 	BØ�G‰G˜4 B¨v¸SˆGÔA÷	B÷ 	Bñ 	Bús   Á0BÂBc                 ó"  — t        t        j                  j                  d«      j	                  d«      «      }t
        j                  j                  «       \  }}|j                  j                  d|¬«      }t        |j                  «      dk(  sJ ‚y )NrO   r\   r3   r½   r+   ©r   r   r]   r^   r_   rB   rC   rD   r¿   r.   r`   ra   ©r0   rb   rL   r?   s       r#   Útest_hist_df_kwargsz&TestDataFramePlots.test_hist_df_kwargs-  sh   € Ü”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓHÓIˆÜ—
‘
×#Ñ#Ó%‰ˆˆ2Ø�W‰W�\‰\˜q Rˆ\Ó(ˆÜ�2—:‘:‹ "Ò$Ð$Ñ$r"   c                 ó>  — t        t        j                  j                  d«      j	                  d«      g d¢¬«      }ddgdz  |d<   t
        j                  j                  «       \  }}|j                  j                  d|¬	«      }t        |j                  «      d
k(  sJ ‚y )NrO   ©r+   rr   ©ÚAr   ÚCÚDrc  r�   rŽ   r3   ÚEr½   r  rp  rq  s       r#   Útest_hist_df_with_nonnumericsz0TestDataFramePlots.test_hist_df_with_nonnumerics3  s�   € äÜ�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=Ú(ô
ˆð ˜�*˜q‘.ˆˆ3‰Ü—
‘
×#Ñ#Ó%‰ˆˆ2Ø�W‰W�\‰\˜q Rˆ\Ó(ˆÜ�2—:‘:‹ "Ò$Ð$Ñ$r"   c                 ó<  — t        t        j                  j                  d«      j	                  d«      g d¢¬«      }ddgdz  |d<   t
        j                  j                  «       \  }}|j                  j                  |¬	«      }t        |j                  «      d
k(  sJ ‚y )NrO   rt  ru  rc  r�   rŽ   r3   ry  )r?   r  rp  rq  s       r#   Ú%test_hist_df_with_nonnumerics_no_binsz8TestDataFramePlots.test_hist_df_with_nonnumerics_no_bins>  s   € äÜ�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=Ú(ô
ˆð ˜�*˜q‘.ˆˆ3‰Ü—
‘
×#Ñ#Ó%‰ˆˆ2Ø�W‰W�\‰\˜Rˆ\Ó ˆÜ�2—:‘:‹ "Ò$Ð$Ñ$r"   c                 óþ  — t        t        j                  j                  d«      j	                  d«      t        d«      ¬«      }t        j                  j                  «       \  }}|d   j                  j                  d|¬«      }|d   j                  j                  |dd¬	«       t        |dd
g¬«       |j                  «       j                  «       sJ ‚|j                  j                  «       j                  «       sJ ‚y )NrO   ©r   rr   Úabcdrc  r±   T)r²   r?   r¬   ©r?   r²   Úsecondary_yú	b (right)©Úlabels)r   r   r]   r^   r_   ÚlistrB   rC   rD   r¿   r.   r   Ú	get_yaxisr  Úright_axrq  s       r#   Útest_hist_secondary_legendz-TestDataFramePlots.test_hist_secondary_legendI  sÉ   € äÜ�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=ÄtÈFÃ|ô
ˆô
 —
‘
×#Ñ#Ó%‰ˆˆ2Ø�‰W�\‰\×Ñ d¨rÐÓ2ˆØ
ˆ3‰�‰×Ñ˜R¨¸$ÐÔ?ô 	˜R¨¨kÐ(:Õ;Ø�|‰|‹~×)Ñ)Ô+Ð+Ð+Ø�{‰{×$Ñ$Ó&×2Ñ2Ô4Ð4Ñ4r"   c                 ó  — t        t        j                  j                  d«      j	                  d«      t        d«      ¬«      }t        j                  j                  «       \  }}|d   j                  j                  dd|¬«      }|d   j                  j                  |dd¬	«       t        |j                  d
dg¬«       |j                  j                  «       j                  «       rJ ‚|j                  «       j                  «       sJ ‚y )NrO   r~  r  rc  r±   T©r²   r�  r?   r¬   r€  ú	a (right)r‚  rƒ  ©r   r   r]   r^   r_   r…  rB   rC   rD   r¿   r.   r   Úleft_axr†  r  rq  s       r#   Útest_hist_secondary_secondaryz0TestDataFramePlots.test_hist_secondary_secondaryY  sÏ   € äÜ�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=ÄtÈFÃ|ô
ˆô —
‘
×#Ñ#Ó%‰ˆˆ2Ø�‰W�\‰\×Ñ d¸ÀÐÓDˆØ
ˆ3‰�‰×Ñ˜R¨¸$ÐÔ?ô 	˜RŸZ™Z°¸kÐ0JÕKØ—:‘:×'Ñ'Ó)×5Ñ5Ô7Ð7Ð7Ø�|‰|‹~×)Ñ)Ô+Ð+Ñ+r"   c                 ó  — t        t        j                  j                  d«      j	                  d«      t        d«      ¬«      }t        j                  j                  «       \  }}|d   j                  j                  dd|¬«      }|d   j                  j                  |d¬	«       t        |j                  d
dg¬«       |j                  j                  «       j                  «       sJ ‚|j                  «       j                  «       sJ ‚y )NrO   r~  r  rc  r±   TrŠ  r¬   )r?   r²   r‹  rƒ  rŒ  rq  s       r#   Útest_hist_secondary_primaryz.TestDataFramePlots.test_hist_secondary_primaryh  sÍ   € äÜ�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=ÄtÈFÃ|ô
ˆô —
‘
×#Ñ#Ó%‰ˆˆ2Ø�‰W�\‰\×Ñ d¸ÀÐÓDˆà
ˆ3‰�‰×Ñ˜R¨ÐÔ-ô 	˜RŸZ™Z°¸cÐ0BÕCØ�z‰z×#Ñ#Ó%×1Ñ1Ô3Ð3Ð3Ø�|‰|‹~×)Ñ)Ô+Ð+Ñ+r"   c                 ó  — t        j                  d«      }t        t        j                  ddgdt        j                  t        j                  gg d¢gt        d«      ¬«      }t        j                  g d¢«      }t        g d	¢g d¢gt        d«      ¬«      }t        j                  g d
¢g d¢g«      }t        j                  j                  «       \  }}|j                  j                  ||¬«       |j                  «       D �cg c]  }t        ||j                  «      sŒ|‘Œ }	}|	D �
cg c]  }
|
j                  «       ‘Œ }}
t        j                  j                  «       \  }}|j                  j                  ||¬«       |j                  «       D �cg c]  }t        ||j                  «      sŒ|‘Œ }}|D �
cg c]  }
|
j                  «       ‘Œ }}
t!        d„ t#        ||«      D «       «      sJ ‚t        j                  ddgddgg«      }d}t        j$                  t&        |¬«      5  t        j                  j                  «       \  }}|j                  j                  ||¬«       d d d «       y c c}w c c}
w c c}w c c}
w # 1 sw Y   y xY w)Nzmatplotlib.patchesrX  ç333333Ó?çš™™™™™Ù?)rW  gš™™™™™é?rL  Úabcrc  )ç      Ð?r’  çÍÌÌÌÌÌÜ?)r“  rX  r’  )r’  r•  r•  )r–  r–  r–  )r?   Úweightsc              3   ó,   K  — | ]  \  }}||k(  –— Œ y ­wr-   r!   )Ú.0Úh0Úh1s      r#   ú	<genexpr>zETestDataFramePlots.test_hist_with_nans_and_weights.<locals>.<genexpr>�  s   è ø€ ÒG¡  B�2˜•8ÑGùs   ‚r•  r–  z?weights must have the same shape as data, or be a single columnrT   )rV   rÖ   r   r   Únanr…  ÚarrayrB   rC   rD   r¿   r.   r'  r(  r#  r*  Úallrk  rW   rX   )r0   Úmpl_patchesrb   r—  Ú	no_nan_dfÚno_nan_weightsrL   Úax0r�   r+  ÚrectÚheightsrP   Úno_nan_rectsÚno_nan_heightsÚidxerror_weightsrY   rQ   s                     r#   Útest_hist_with_nans_and_weightsz2TestDataFramePlots.test_hist_with_nans_and_weightsx  s  € ä×)Ñ)Ð*>Ó?ˆÜÜ�f‰f�c˜3Ð #¤r§v¡v¬r¯v©vÐ!6ºÐHÜ˜“Kô
ˆô —(‘(Ò,Ó-ˆÜš²Ð@Ì$ÈuË+ÔVˆ	ÜŸ™Ò#4Ò6HÐ"IÓJˆä—‘×$Ñ$Ó&‰ˆˆ3Ø
�‰�‰˜ WˆÔ-Ø×,Ñ,Ó.ÖW�q´*¸QÀ×@UÑ@UÕ2V’ÐWˆÐWØ16Ö7¨�4—?‘?Õ$Ð7ˆÐ7Ü—‘×$Ñ$Ó&‰ˆˆ3Ø�‰×Ñ˜s¨NÐÔ;à×'Ñ'Ó)ö
Ø¬Z¸¸;×;PÑ;PÕ-QŠAð
ˆð 
ð 9EÖE°˜$Ÿ/™/Õ+ÐEˆÐEÜÑG¬#¨g°~Ó*FÔGÔGÐGÐGäŸ8™8 c¨4 [°4¸°,Ð$?Ó@ÐàOˆÜ�]‰]œ:¨SÔ1ñ 	BÜ—Z‘Z×(Ñ(Ó*‰FˆAˆsØ�N‰N×Ñ 3Ð0@ÐÔA÷	Bð 	Bùò XùÚ7ùò
ùò F÷	Bð 	Bús0   Ã?I+ÄI+Ä%I0ÆI5Æ*I5Æ4I:È#?I?É?J) rð   rñ   rò   rV   ró   rõ   rú   r  r  r  rô   r  r   r,  r.  r3  r:  rj   rC  rH  rS  r`  r«   r¶   r»   rr  rz  r|  rˆ  rŽ  r�  r©  r!   r"   r#   rø   rø      sã  „ Ø‡[�[×Ññ,ó ð,ð ‡[�[×Ññ(ó ð(ð$ ‡[�[×Ññ#ó ð#ð ‡[�[×Ññ;ó ð;ð ‡[�[×ÑØ‡[�[×ÑØ˜d¨dÑ3°iÀÐ5IÈFÐTUÈ;ÐWóñ1óó ð1ð  ‡[�[×ÑñUó ðUð ‡[�[×Ññ<ó ð<ð ‡[�[×Ññ*ó ð*ð ‡[�[×Ññ ó ð òð2 ‡[�[×ÑØà¨fÑ5Ø°Ñ7Ø°Ñ7Ø°Ñ7Ø°Ñ7Ø°Ñ8Ø°Ñ8Ø°Ñ8Ø°Ñ8ð
	
óñ=óð=ò%ò0"ò)ð& ‡[�[×ÑØàÒ0Ð1Ú*Ò,IÐJð	
óñ"óð"ð, ‡[�[×ÑØò	
óñ7óð7ð ‡[�[×Ñ˜T D¨# ;Ó/Ø‡[�[×Ñ˜X¨¨c {Ó3ñ5ó 4ó 0ð5ð< ‡[�[×Ñ˜T D¨# ;Ó/Ø‡[�[×Ñ˜X¨¨c {Ó3ñ
Bó 4ó 0ð
Bò%ò	%ò	%ò5ò ,ò,ó Br"   rø   c                   ó  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej                  j                  ej                  j                  d	g d
¢g d¢g d¢g«      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i dddœg«      d„ «       «       Zej                  j                  ej                  j                  ddddœddgdg d¢id dgg«      d!„ «       «       Zd"„ Zd#„ Zd$„ Zd%„ Zd&„ Zd'„ Zej                  j                  d(g d)¢«      d*„ «       Zy+),ÚTestDataFrameGroupByPlotsc                 ó|  — ddl m} t        j                  j	                  d«      }t        |j                  d«      dg¬«      }t        |j                  dddt        j                  ¬	«      «      |d
<   |j                  ddd«      |d<   dgdz  |d<    ||j                  |j                  ¬«      }t        |dd¬«       y )Nr   ©Ú_grouped_histr+   r  rv  rc  rü   rý   rþ   r   rr   rw  ÚXrx  r‘   rt   rz   )Ú pandas.plotting._matplotlib.histr®  r   r]   r^   r   r_   r   r¨   r   rv  rw  r	   ©r0   r®  Úrsrb   r~   s        r#   Útest_grouped_hist_legacyz2TestDataFrameGroupByPlots.test_grouped_hist_legacy˜  s¨   € ÝBä�Y‰Y×"Ñ" 2Ó&ˆÜ�r×)Ñ)¨'Ó2¸S¸EÔBˆÜØ�K‰KØ"Ø"ØÜ—h‘hð	 ó ó
ˆˆ3‰ð —+‘+˜a  BÓ'ˆˆ3‰Ø�%˜"‘*ˆˆ3‰á˜RŸT™T b§d¡dÔ+ˆÜ˜$¨°6Ö:r"   c                 ól  — t         j                  j                  d«      }t        |j	                  d«      dg¬«      }t        |j                  dddt         j                  ¬«      «      |d<   |j                  d	d
d«      |d<   dgdz  |d<   |j                  |j                  ¬«      }t        |d
d¬«       y )Nr+   r  rv  rc  rü   rý   rþ   r   r   rr   rw  r¯  rx  r‘   rt   rz   )r   r]   r^   r   r_   r   r¨   r   r.   rw  r	   ©r0   r²  rb   r~   s       r#   Ú*test_grouped_hist_legacy_axes_shape_no_colzDTestDataFrameGroupByPlots.test_grouped_hist_legacy_axes_shape_no_col«  s¥   € Ü�Y‰Y×"Ñ" 2Ó&ˆÜ�r×)Ñ)¨'Ó2¸S¸EÔBˆÜØ�K‰KØ"Ø"ØÜ—h‘hð	 ó ó
ˆˆ3‰ð —+‘+˜a  BÓ'ˆˆ3‰Ø�%˜"‘*ˆˆ3‰Ø�w‰w˜"Ÿ$™$ˆwÓˆÜ˜$¨°6Ö:r"   c                 ót  — t         j                  j                  d«      }t        |j	                  d«      dg¬«      }t        |j                  dddt         j                  ¬«      «      |d	<   |j                  d
dd«      |d<   dgdz  |d<   |j                  dd¬«      }t        |dd¬«       t        |d¬«       y )NrO   r  rv  rc  rü   rý   r+   rþ   r   r   rr   rw  r¯  rx  r   )r7   Úrotr>   re   rz   rR  )r   r]   r^   r   r_   r   r¨   r   r.   r	   r   rµ  s       r#   Ú#test_grouped_hist_legacy_single_keyz=TestDataFrameGroupByPlots.test_grouped_hist_legacy_single_key»  s­   € Ü�Y‰Y×"Ñ" 1Ó%ˆÜ�r×)Ñ)¨'Ó2¸S¸EÔBˆÜØ�K‰KØ"Ø"ØÜ—h‘hð	 ó ó
ˆˆ3‰ð —+‘+˜a  BÓ'ˆˆ3‰Ø�%˜"‘*ˆˆ3‰à�w‰w˜# 2ˆwÓ&ˆÜ˜$¨°6Õ:Ü˜4 bÖ)r"   c                 óv  — ddl m} ddlm} t        j
                  j                  d«      }t        |j                  d«      dg¬«      }t        |j                  dd	d
t        j                  ¬«      «      |d<   |j                  ddd
«      |d<   d\  }}d\  }} ||j                  |j                  dd||||d¬«	      }	|	j                  «       D ]U  }
|
j                  «       D �cg c]  }t!        ||«      sŒ|‘Œ }}|d   j#                  «       }t%        j&                  |d«       ŒW t)        |	||||¬«       y c c}w )Nr   r"  r­  rO   r  rv  rc  rü   rý   r+   rþ   r   rr   rw  r  r  T)r7   r$  r2   r  r  r  r  rã   ro   r%  r  )r&  r#  r°  r®  r   r]   r^   r   r_   r   r¨   r   rv  rw  Úravelr'  r(  r*  r8   r)  r   )r0   r#  r®  r²  rb   r  r  r  r  r~   r?   r�   r+  rh   s                 r#   Ú,test_grouped_hist_legacy_grouped_hist_kwargszFTestDataFrameGroupByPlots.test_grouped_hist_legacy_grouped_hist_kwargsÍ  s/  € Ý0åBä�Y‰Y×"Ñ" 1Ó%ˆÜ�r×)Ñ)¨'Ó2¸S¸EÔBˆÜØ�K‰KØ"Ø"ØÜ—h‘hð	 ó ó
ˆˆ3‰ð —+‘+˜a  BÓ'ˆˆ3‰à‰ˆˆBØ‰
ˆˆdáØ�D‰DØ�t‰tØØØØØØØô

ˆð —*‘*“,ò 	0ˆBØ "§¡Ó 1ÖN˜1´ZÀÀ9Õ5M’QÐNˆEÐNØ˜2‘Y×)Ñ)Ó+ˆFÜ×"Ñ" 6¨3Õ/ð	0ô 	˜4¨B°TÀbÈtÖTùò Os   Ã"D6Ã4D6c                 ó|  — ddl m} t        j                  j	                  d«      }t        |j                  d«      dg¬«      }t        |j                  ddd	t        j                  ¬
«      «      |d<   |j                  ddd	«      |d<   dgd	z  |d<    ||j                  |j                  d¬«      }t        |d¬«       y )Nr   r­  rO   r  rv  rc  rü   rý   r+   rþ   r   rr   rw  r¯  rx  T)r7   rÓ   rÓ   rÔ   )r°  r®  r   r]   r^   r   r_   r   r¨   r   rv  rw  r   r±  s        r#   Ú%test_grouped_hist_legacy_grouped_histz?TestDataFrameGroupByPlots.test_grouped_hist_legacy_grouped_histó  s¨   € ÝBä�Y‰Y×"Ñ" 1Ó%ˆÜ�r×)Ñ)¨'Ó2¸S¸EÔBˆÜØ�K‰KØ"Ø"ØÜ—h‘hð	 ó ó
ˆˆ3‰ð —+‘+˜a  BÓ'ˆˆ3‰Ø�%˜"‘*ˆˆ3‰Ù˜RŸT™T b§d¡d°Ô5ˆä˜ UÖ+r"   c                 ó¾  — ddl m} t        j                  j	                  d«      }t        |j                  d«      dg¬«      }t        |j                  ddd	t        j                  ¬
«      «      |d<   |j                  ddd	«      |d<   dgd	z  |d<   t        j                  t        «      5   ||j                  |j                  d¬«       d d d «       y # 1 sw Y   y xY w)Nr   r­  rO   r  rv  rc  rü   rý   r+   rþ   r   rr   rw  r¯  rx  rŸ   )r7   r0  )r°  r®  r   r]   r^   r   r_   r   r¨   r   r8   r1  r2  rv  rw  )r0   r®  r²  rb   s       r#   Ú%test_grouped_hist_legacy_external_errz?TestDataFrameGroupByPlots.test_grouped_hist_legacy_external_err  s¿   € ÝBä�Y‰Y×"Ñ" 1Ó%ˆÜ�r×)Ñ)¨'Ó2¸S¸EÔBˆÜØ�K‰KØ"Ø"ØÜ—h‘hð	 ó ó
ˆˆ3‰ð —+‘+˜a  BÓ'ˆˆ3‰Ø�%˜"‘*ˆˆ3‰ä×%Ñ%¤nÓ5ñ 	4Ù˜"Ÿ$™$ 2§4¡4¨UÕ3÷	4÷ 	4ñ 	4ús   Â* CÃCc                 ó¢  — t         j                  j                  d«      }t        |j	                  d«      dg¬«      }t        |j                  dddt         j                  ¬«      «      |d	<   |j                  d
dd«      |d<   dgdz  |d<   d}t        j                  t        |¬«      5  |j                  dd¬«       d d d «       y # 1 sw Y   y xY w)NrO   r  rv  rc  rü   rý   r+   rþ   r   r   rr   rw  r¯  rx  z$Specify figure size by tuple insteadrT   Údefault)r7   r(   )r   r]   r^   r   r_   r   r¨   r   rV   rW   rX   r.   )r0   r²  rb   rY   s       r#   Ú$test_grouped_hist_legacy_figsize_errz>TestDataFrameGroupByPlots.test_grouped_hist_legacy_figsize_err  s½   € Ü�Y‰Y×"Ñ" 1Ó%ˆÜ�r×)Ñ)¨'Ó2¸S¸EÔBˆÜØ�K‰KØ"Ø"ØÜ—h‘hð	 ó ó
ˆˆ3‰ð —+‘+˜a  BÓ'ˆˆ3‰Ø�%˜"‘*ˆˆ3‰Ø4ˆÜ�]‰]œ:¨SÔ1ñ 	/Ø�G‰G�s IˆGÔ.÷	/÷ 	/ñ 	/ús   Â(CÃC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        |«      dk(  sJ ‚t        t        j                  j                  «       «      dk(  sJ ‚y )Nr+   rO   é¦   r  rb  é<   r   r>   )rh   Úweightrk   rk   )r   r   r]   r^   ÚnormalÚchoicer   Úgroupbyr.   r`   rB   rC   r’   )r0   ÚnrÇ  rh   Ú
gender_intÚdf_intÚgbr~   s           r#   Útest_grouped_hist_legacy2z3TestDataFrameGroupByPlots.test_grouped_hist_legacy2*  sß   € ØˆÜœŸ	™	×-Ñ-¨aÓ0×7Ñ7¸¸RÀaÐ7ÓHÓIˆÜœŸ	™	×-Ñ-¨aÓ0×7Ñ7¸¸BÀQÐ7ÓGÓHˆÜ—Y‘Y×*Ñ*¨1Ó-×4Ñ4°a¸°VÀ!Ð4ÓDˆ
Ü f¸È*ÑUÓVˆØ�^‰^˜HÓ%ˆØ�w‰w‹yˆÜ�4‹y˜AŠ~Ðˆ~Ü”3—:‘:×)Ñ)Ó+Ó,°Ò1Ð1Ñ1r"   zmsg, plot_col, by_col, layout)z1Layout of 1x1 must be larger than required size 2rÇ  rk   re   )z1Layout of 1x3 must be larger than required size 4rh   rp   r\  )r?  rh   rp   r@  c                 ó¤   — |}t        j                  t        |¬«      5  |j                  |t	        ||«      |¬«       d d d «       y # 1 sw Y   y xY w)NrT   ©rQ  r7   rg   )rV   rW   rX   r.   r|   )r0   ri   rY   Úplot_colÚby_colrg   rb   s          r#   Útest_grouped_hist_layout_errorz8TestDataFrameGroupByPlots.test_grouped_hist_layout_error5  sI   € ð2 ˆÜ�]‰]œ:¨SÔ1ñ 	LØ�G‰G˜8¬°°FÓ(;ÀFˆGÔK÷	L÷ 	Lñ 	Lús   žAÁAc                 óÊ   — |}t        j                  t        d¬«      5  t        |j                  d|j
                  d¬«      }d d d «       t        dd¬«       y # 1 sw Y   ŒxY w)NFr5   rh   rl   rÑ  rO   rz   )r8   r9   r:   r   r.   rk   r	   r…   s       r#   Ú test_grouped_hist_layout_warningz:TestDataFrameGroupByPlots.test_grouped_hist_layout_warningR  sU   € àˆÜ×'Ñ'¬ÀeÔLñ 	Ü$Ø—‘ ¨R¯Y©Y¸vôˆD÷	ô 	˜$¨°6Ö:÷		ð 	ús   ž$AÁA"zlayout, check_layout, figsize)rq   rq   N))ro   r>   rq   N)r�   r�   )r‚   r*   c                 ód   — |}|j                  d|j                  ||¬«      }t        |d||¬«       y )Nrh   )rQ  r7   rg   r(   rr   r„   )r.   rp   r	   )r0   ri   rg   Úcheck_layoutr(   rb   r~   s          r#   Ú test_grouped_hist_layout_figsizez:TestDataFrameGroupByPlots.test_grouped_hist_layout_figsize[  s1   € ð ˆØ�w‰w˜h¨2¯;©;¸vÈwˆwÓWˆÜ˜$¨°<ÈÖQr"   r&   rh   rt   )rQ  rg   c                 ó´   — |}t        j                  t        d¬«      5  t        |j                  fddi|¤Ž}d d d «       t        dd¬«       y # 1 sw Y   ŒxY w)NFr5   r7   rw   rn   rt   rz   )r8   r9   r:   r   r.   r	   )r0   ri   r&   rb   r~   s        r#   Ú#test_grouped_hist_layout_by_warningz=TestDataFrameGroupByPlots.test_grouped_hist_layout_by_warninge  sV   € ð ˆä×'Ñ'¬ÀeÔLñ 	HÜ$ R§W¡WÑG°ÐGÀÑGˆD÷	Hä˜$¨°6Ö:÷	Hð 	Hús   žAÁAzkwargs, axes_num, layoutrk   )rn   r3   ry   rO   rQ  ©rh   rÇ  rp   rn   c                 óH   — |} |j                   di |¤Ž}t        |||¬«       y )Nrz   r!   )r.   r	   )r0   ri   r&   r{   rg   rb   r~   s          r#   Útest_grouped_hist_layout_axesz7TestDataFrameGroupByPlots.test_grouped_hist_layout_axesn  s(   € ð ˆØˆr�w‰wÑ ˜Ñ ˆÜ˜$¨¸&ÖAr"   c                 óò   — |}t         j                  j                  dd«      \  }}|j                  g d¢|d   ¬«      }t	        |dd¬«       t        j                  ||d   «       |d   j                  |u sJ ‚y )NrO   rn   rÜ  r   ©rQ  r?   r\  rz   ©rB   rC   rD   r.   r	   r8   Úassert_numpy_array_equalrI   ©r0   ri   rb   rF   r~   Úreturneds         r#   Útest_grouped_hist_multiple_axesz9TestDataFrameGroupByPlots.test_grouped_hist_multiple_axes{  sp   € àˆä—J‘J×'Ñ'¨¨1Ó-‰	ˆˆTØ—7‘7Ò"BÀtÈAÁw�7ÓOˆÜ˜(¨Q°vÕ>Ü
×#Ñ# H¨d°1©gÔ6Ø˜‰{×!Ñ! SÑ(Ð(Ñ(r"   c                 óî   — |}t         j                  j                  dd«      \  }}|j                  d|d   ¬«      }t	        |dd¬«       t        j                  ||d   «       |d   j                  |u sJ ‚y )	NrO   rn   rw   r>   )r7   r?   r\  rz   r   rá  rã  s         r#   Ú'test_grouped_hist_multiple_axes_no_colszATestDataFrameGroupByPlots.test_grouped_hist_multiple_axes_no_cols…  so   € àˆä—J‘J×'Ñ'¨¨1Ó-‰	ˆˆTØ—7‘7˜k¨d°1©g�7Ó6ˆÜ˜(¨Q°vÕ>Ü
×#Ñ# H¨d°1©gÔ6Ø˜‰{×!Ñ! SÑ(Ð(Ñ(r"   c                 óØ   — |}t         j                  j                  dd«      \  }}d}t        j                  t
        |¬«      5  |j                  d|¬«      }d d d «       y # 1 sw Y   y xY w)NrO   rn   z@The number of passed axes must be 1, the same as the output plotrT   rh   rà  )rB   rC   rD   rV   rW   rX   r.   )r0   ri   rb   rF   r~   rY   s         r#   Ú%test_grouped_hist_multiple_axes_errorz?TestDataFrameGroupByPlots.test_grouped_hist_multiple_axes_error�  s[   € àˆÜ—J‘J×'Ñ'¨¨1Ó-‰	ˆˆTàPˆÜ�]‰]œ:¨SÔ1ñ 	5Ø—7‘7 (¨t�7Ó4ˆD÷	5÷ 	5ñ 	5úrœ   c                 ó2  — |}|j                  d|j                  d¬«      \  }}t        |«      j                  ||«      sJ ‚t        |«      j                  ||«      sJ ‚t	        |«      j                  ||«      rJ ‚t	        |«      j                  ||«      rJ ‚y )Nrh   T)rQ  r7   r  ©r.   rk   r   Újoinedr   ©r0   ri   rb   rP   rQ   s        r#   Útest_axis_share_xz+TestDataFrameGroupByPlots.test_axis_share_x˜  s’   € Øˆà—7‘7 (¨r¯y©yÀ�7ÓF‰ˆˆSô ˜#‹×%Ñ% c¨3Ô/Ð/Ð/Ü˜#‹×%Ñ% c¨3Ô/Ð/Ð/ô ˜c“?×)Ñ)¨#¨sÔ3Ð3Ð3Ü˜c“?×)Ñ)¨#¨sÔ3Ð3Ð3Ð3r"   c                 ó2  — |}|j                  d|j                  d¬«      \  }}t        |«      j                  ||«      sJ ‚t        |«      j                  ||«      sJ ‚t	        |«      j                  ||«      rJ ‚t	        |«      j                  ||«      rJ ‚y )Nrh   T)rQ  r7   r  )r.   rk   r   rì  r   rí  s        r#   Útest_axis_share_yz+TestDataFrameGroupByPlots.test_axis_share_y¥  s’   € ØˆØ—7‘7 (¨r¯y©yÀ�7ÓF‰ˆˆSô ˜#‹×%Ñ% c¨3Ô/Ð/Ð/Ü˜#‹×%Ñ% c¨3Ô/Ð/Ð/ô ˜c“?×)Ñ)¨#¨sÔ3Ð3Ð3Ü˜c“?×)Ñ)¨#¨sÔ3Ð3Ð3Ð3r"   c                 ó4  — |}|j                  d|j                  dd¬«      \  }}t        |«      j                  ||«      sJ ‚t        |«      j                  ||«      sJ ‚t	        |«      j                  ||«      sJ ‚t	        |«      j                  ||«      sJ ‚y )Nrh   T)rQ  r7   r  r  rë  rí  s        r#   Útest_axis_share_xyz,TestDataFrameGroupByPlots.test_axis_share_xy±  s�   € ØˆØ—7‘7 (¨r¯y©yÀÈd�7ÓS‰ˆˆSô ˜#‹×%Ñ% c¨3Ô/Ð/Ð/Ü˜#‹×%Ñ% c¨3Ô/Ð/Ð/ä˜#‹×%Ñ% c¨3Ô/Ð/Ð/Ü˜#‹×%Ñ% c¨3Ô/Ð/Ñ/r"   r�   rž   c                 óÀ   — t        t        j                  j                  d«      j	                  ddd¬«      ddg¬«      }|j                  d|¬	«      }t        ||¬
«       y )NrO   r>   r+   r\   rb  r±   r¬   rc  )r7   r¥   r¦   re  rf  s        r#   r«   z0TestDataFrameGroupByPlots.test_histtype_argument¼  sW   € ô Ü�I‰I×!Ñ! !Ó$×-Ñ-¨a°¸'Ð-ÓBÈSÐRUÈJô
ˆð �W‰W˜ hˆWÓ/ˆÜ! "¨XÖ6r"   N)rð   rñ   rò   r³  r¶  r¹  r¼  r¾  rÀ  rÃ  rÏ  rV   ró   rõ   rô   rÔ  rÖ  rÙ  rÛ  rÞ  rå  rç  ré  rî  rð  rò  r«   r!   r"   r#   r«  r«  —  sÇ  „ ò;ò&;ò *ò$$UòL,ò&4ò&/ò"	2ð ‡[�[×ÑØ‡[�[×ÑØ'òòòð	
óñ.Ló/ó ð0Lð
 ‡[�[×Ññ;ó ð;ð ‡[�[×ÑØ‡[�[×ÑØ'Ú	Ò!8Ò:SÐTóñRó	ó ð
Rð
 ‡[�[×ÑØ‡[�[×Ñ˜X¨°xÈ6Ñ,RÐ'SÓTñ;ó Uó ð;ð ‡[�[×ÑØ‡[�[×ÑØ"à¨Ñ/°°FÐ;ØÒ8Ð9¸1¸fÐEð	
óñBóó ðBò
)ò)ò5ò4ò
4ò	0ð ‡[�[×ÑØò	
óñ7óñ7r"   r«  ) Ú__doc__rA  Únumpyr   rV   Úpandasr   r   r   r   r   Úpandas._testingÚ_testingr8   Úpandas.tests.plotting.commonr   r	   r
   r   r   r   r   r   r   r   rÖ   rB   Úfixturer   r%   rø   r«  r!   r"   r#   ú<module>rû     sƒ   ðÙ #Û 	ã Û ÷õ õ ÷÷ ÷ ð €f×Ñ˜,Ó'€ð ‡�ñó ð÷U$ñ U$÷pTBñ TB÷nt7ò t7r"   