gL igtdZddlZddlZddlmZmZmZddlm Z m Z ejdGddZ y)z Test cases for GroupBy.plot N) DataFrameIndexSeries)_check_axes_shape_check_legend_labels matplotlibceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z ejj!d d dgdZejj!dddgdZdZdZy)TestDataFrameGroupByPlotscd}ttjjdj dd|}tjjdj ddg|}|j |jy)N sizemalefemalernprandom default_rngnormalchoicegroupbyplot)selfnweightgenders h/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pandas/tests/plotting/test_groupby.py,test_series_groupby_plotting_nominally_workszFTestDataFrameGroupByPlots.test_series_groupby_plotting_nominally_workssp  --a077Ra7HI&&q)00&(1C!0Lv##%cd}ttjjdj dd|}tjjdj ddg|}|j |jy)Nr r <rrr)rrrrrrrhistrrheightrs r 1test_series_groupby_plotting_nominally_works_histzKTestDataFrameGroupByPlots.test_series_groupby_plotting_nominally_works_histsp  --a077BQ7GH&&q)00&(1C!0Lv##%r"c"d}ttjjdj dd|}tjjdj ddg|}|j |jdy) Nr r r$rrrg?)alpharr&s r 2test_series_groupby_plotting_nominally_works_alphazLTestDataFrameGroupByPlots.test_series_groupby_plotting_nominally_works_alpha"su  --a077BQ7GH&&q)00&(1C!0Lv####.r"ctgdtjjdj ddgd}|j ddj y) N r.r.r r r r/r/r defval ?@@r5r6r7r5r6r7indexr2r3)rrrrstandard_normalrrrdfs r $test_plotting_with_float_index_worksz>TestDataFrameGroupByPlots.test_plotting_with_float_index_works)sS 2yy,,Q/??B @   5% %%'r"ctgdtjjdj ddgd}|j ddj d y) Nr-r r0r1r4r8r2r3c"|jS)N)r)xs r zVTestDataFrameGroupByPlots.test_plotting_with_float_index_works_apply..>s r")rrrrr:rapplyr;s r *test_plotting_with_float_index_works_applyzDTestDataFrameGroupByPlots.test_plotting_with_float_index_works_apply5sV 2yy,,Q/??B @   5% &&'9:r"ctjddd}tddgddgddgd }|d j|d | y) NPfr.AAABBBr UYNameByColMarkrNrMbybinsrarangerr%rrQr<s r test_hist_single_rowz.TestDataFrameGroupByPlots.test_hist_single_row@sIyyWa( !Q"bR S 6 2g;T2r"ctjddd}tdgdgdgd}|dj|d| y) NrErFr.rGrIrKrNrMrOrRrTs r !test_hist_single_row_single_bycolz;TestDataFrameGroupByPlots.test_hist_single_row_single_bycolFsCyyWa( 1#tD E 6 2g;T2r"ctgdgdtdd}|jdjj ddy)Nr.r r/r.r r/r r.ababar@yzr`r@r_)rlistrrscatterr;s r test_plot_submethod_worksz3TestDataFrameGroupByPlots.test_plot_submethod_worksLs5 _?gW X 3$$S#.r"ctgdgdtdd}|jddjj y)NrYr\r]r^r`r@)rrarrliner;s r test_plot_submethod_works_linez8TestDataFrameGroupByPlots.test_plot_submethod_works_linePs6 _?gW X 3!!&&(r"ctgdgdtdd}|jdjddd }t |d j d k(sJy) NrYr\r]r^r`rbr@r_)kindr@r_ar.)rrarrlen collectionsrr<ress r test_plot_kwargsz*TestDataFrameGroupByPlots.test_plot_kwargsTsU _?gW Xjjo"" SC"@3s8''(A---r"ctgdgdtdd}|jdjj dd}t |d j d k(sJy) NrYr\r]r^r`r@r_)r@r_rir.)rrarrrbrjrkrls r test_plot_kwargs_scatterz2TestDataFrameGroupByPlots.test_plot_kwargs_scatter\sW _?gW Xjjo""**SC*83s8''(A---r"zcolumn, expected_axes_num)Nr )br.c|d|f}|xsdgdgg}tddgzddgzzd}ttjj d j d |ddg }|j d}|jd | D]3}t|||t|d|D]\} } t| | 5y)Nr.rirq12cnamer r r9columnsT)legendcolumnaxes_numlayoutr) rrrrrr:rr%rzipr) rr~expected_axes_numexpected_layoutexpected_labelsr9r<gaxesaxexpected_labels r #test_groupby_hist_frame_with_legendz=TestDataFrameGroupByPlots.test_groupby_hist_frame_with_legendas/0 2cUSENbC5j2:-C8  II ! !! $ 4 4W =#J  JJsOFF$vF6 9D d-> W&)$q'?&C 9"N$R8 9 9r"r~NrqcVtddgzddgzzd}ttjj dj d|dd g }|j d}tjtd 5|jd |ddddy#1swYyxYw)Nrsrtrurvrwr ryrirqr{ Cannot use both legend and labelmatchTd)r}r~label rrrrrr:rpytestraises ValueErrorr%)rr~r9r<rs r *test_groupby_hist_frame_with_legend_raiseszDTestDataFrameGroupByPlots.test_groupby_hist_frame_with_legend_raisestsbC5j2:-C8  II ! !! $ 4 4W =#J  JJsO ]]:-O P : FF$vSF 9 : : :s BB(c:tddgzddgzzd}ttjj dj d|dd g }|j d}|djd D]}t|d dt|ddg y)Nrsrtrurvrwr ryrirqr{T)r}r.)r.r.r) rrrrrr:rr%rr)rr9r<rrs r $test_groupby_hist_series_with_legendz>TestDataFrameGroupByPlots.test_groupby_hist_series_with_legendsbC5j2:-C8  II ! !! $ 4 4W =#J  JJsOC&++T+* 1B b1V < c3Z 0 1r"cTtddgzddgzzd}ttjj dj d|dd g }|j d}tjtd 5|jd ddddy#1swYyxYw)Nrsrtrurvrwr ryrirqr{rrTr)r}rr)rr9r<rs r +test_groupby_hist_series_with_legend_raiseszETestDataFrameGroupByPlots.test_groupby_hist_series_with_legend_raisessbC5j2:-C8  II ! !! $ 4 4W =#J  JJsO ]]:-O P + FF$cF * + + +s BB')__name__ __module__ __qualname__r!r(r+r=rCrUrWrcrfrnrprmark parametrizerrrrr"r r r s&& / ( ;3 3 /)..  [[89h:OP9Q9$ [[Xc{3 :4 : 1 +r"r ) __doc__numpyrrpandasrrrpandas.tests.plotting.commonrr importorskipr rr"r rs=#   L!G+G+r"