
    d`                         d Z ddlZddlZddlZddlZddlmc m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 ddlmZ e	j         G d de                      Ze	j         G d d	e                      ZdS )
z  Test cases for .boxplot method     N)	DataFrame
MultiIndexSeries
date_rangeplottingtimedelta_range)TestPlotBase_check_plot_works)pprint_thingc                      e Zd Zd Zej        j        d             Zd Zd Z	d Z
d Zd Zd Zd	 Zd
 Ze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                            dddddddfddddddfg          d             Zej                            dddddfg          d             Zej                            dg d           d!             Zej                            d"d#d$g          d%             Zej                            d"d#d$g          d&             Zej                            d"d#d$g          d'             Zd(S ))TestDataFramePlotsc                    dd l m} d}t          t          j                            g d|          t          j                            g d|          t          j                            g d|          dt          j        d|                    }|                    dd          }d	 |                                D             |j	        
                                k    sJ |                    t          j        ddd
                     |                                 d |                                D             t          t          j        ddd
                    k    sJ d S )Nr   P   )r            )Clinical	Confirmed	DiscardedindexbarT)kindstackedc                 P    g | ]#}t          |                                          $S  intget_text.0xs     e/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/plotting/test_boxplot_method.py
<listcomp>zDTestDataFramePlots.test_stacked_boxplot_set_axis.<locals>.<listcomp>,   (    @@@aAJJLL!!@@@    
   c                 P    g | ]#}t          |                                          $S r   r   r    s     r#   r$   zDTestDataFramePlots.test_stacked_boxplot_set_axis.<locals>.<listcomp>/   r%   r&   )matplotlib.pyplotpyplotr   nprandomchoicearangeplotget_xticklabelsr   to_list
set_xticksdrawlist)selfpltndfaxs        r#   test_stacked_boxplot_set_axisz0TestDataFramePlots.test_stacked_boxplot_set_axis   sh   ''''''I,,\\\1==Y--lllA>>Y--lllA>> 
 )Aq//
 
 
 WW%W..@@2+=+=+?+?@@@BHDTDTDVDVVVVV
bi2r**+++


@@2+=+=+?+?@@@DIaR  E
 E
 
 
 
 
 
 
r&   c                 2   t          t          j                            dd          t	          t
          j        d d                   g d          }ddgdz  |d<   g d	d
z  |d<   t          |j        d           t          |j        ddgd           t          j
        t          d          5  t          |j        ddgd           d d d            n# 1 swxY w Y   t          |j        dddg           t          j
        t          d          5  t          |j        d           d d d            n# 1 swxY w Y   t          j
        t          d          5  t          |j        ddg           d d d            n# 1 swxY w Y   t          t          j        j        |d         d           t          |j        dd           t          j
        t          d          5  t          |j        dd           d d d            d S # 1 swxY w Y   d S )N      onetwothreefourr   columnsfoor   r   indic)rE   r   rE   r   indic2dictreturn_typer?   r@   columnrJ   Fcheck_stacklevel)rL   byrO   )datarJ   r   )notchrJ   )rO   rR   )r   r+   r,   randnr4   stringascii_lettersr
   boxplottmassert_produces_warningUserWarningr   _corer5   r8   s     r#   test_boxplot_legacy1z'TestDataFramePlots.test_boxplot_legacy13   s0   IOOAq!!v+BQB/00333
 
 

 enq(7,,,q08"*&9999"*eU^PPPP'eLLL 	M 	Mbj%GLLLL	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M"*U7JKKKK'eLLL 	6 	6bjW5555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6'eLLL 	B 	Bbjgx-@AAAA	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B(.0r%yfUUUU"*A6BBBB'eLLL 	? 	?bjWA>>>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	?sH   0CCCD88D<?D<FF
F'HHHc                    t          t          j                            d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            n# 1 swxY w Y   | j
                                        \  }}|	                    dd|          }|j        }||u sJ | j
                                        \  }}|                    d	          	                    |d          }|j        }||d         u sJ | j
                                        \  }}t          j        t                    5  |	                    ddgd|d          }d d d            n# 1 swxY w Y   |d                                         |u sJ | j
                                        \  }}|	                    |d          }t          t           j                            |                                                    }t)          |                                          t)          |          k    sJ d S )Nr'   r   Col1Col2rD   )
Ara   ra   ra   ra   Brb   rb   rb   rb   Xra   YFrM   rP   )rO   r9   axes)r9   rJ   )rL   rO   r9   rJ   rH   )r   r+   r,   randr   rW   rX   rY   r
   rV   r6   subplotsre   groupby
get_figurer4   	itertoolschainfrom_iterablevalueslen	get_lines)r5   r8   figr9   re   ax_axesdliness           r#   test_boxplot_legacy2z'TestDataFramePlots.test_boxplot_legacy2L   s   ry~~b!,,vv6FGGGKKKLL3#$$3'eLLL 	2 	2bjS1111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2
 (##%%Rzz&SRz00'$(##%%Rzz#&&"&&AA'$s)#### (##%%R'44 	 	::'CBF   D	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 F|&&((C//// (##%%RJJ"&J11Y_22188::>>??2<<>>""c%jj000000s$   7BB!B4FF #F c                 f    |                                 }t          || j        j                  sJ d S N)rV   
isinstancer6   Axes)r5   hist_dfresults      r#   test_boxplot_return_type_nonez0TestDataFramePlots.test_boxplot_return_type_nonen   s1    ""&$(-0000000r&   c                    t          t          j                            dd          t	          t
          j        d d                   g d          }d}t          j        t          |          5  |
                    d           d d d            n# 1 swxY w Y   |
                                }|                     |d	           t          j        d
          5  |
                    d          }d d d            n# 1 swxY w Y   |                     |d           t          j        d
          5  |
                    d	          }d d d            n# 1 swxY w Y   |                     |d	           t          j        d
          5  |
                    d          }d d d            n# 1 swxY w Y   |                     |d           d S )Nr<   r=   r>   rC   z,return_type must be {'axes', 'dict', 'both'}match
NOT_A_TYPErI   re   FrH   both)r   r+   r,   rS   r4   rT   rU   pytestraises
ValueErrorrV   _check_box_return_typerW   rX   )r5   r8   msgrz   s       r#   test_boxplot_return_type_legacyz2TestDataFramePlots.test_boxplot_return_type_legacys   s    IOOAq!!v+BQB/00333
 
 

 =]:S111 	1 	1JJ<J000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 ##FF333'.. 	4 	4ZZFZ33F	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4##FF333'.. 	4 	4ZZFZ33F	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4##FF333'.. 	4 	4ZZFZ33F	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4 	4##FF33333sH   /BBBC>>DD3EEEF..F25F2c                 P   d }|                                 }t          j                            dd|j        d                   |d<   |                    ddgd	          \  }} ||d         |            ||d         |           |j        |k    sJ |                    g d
d	          }|d         |d         |d         }}}|d         } ||d         |            ||d         |            ||d         |           |j        |k    sJ |j        |k    sJ |j        J d S )Nc                     |                                 \  }}||                                 k    sJ ||                                 k    sJ d S rv   )get_ylimminmax)colr9   y_miny_maxs       r#   _check_ax_limitszETestDataFramePlots.test_boxplot_axis_limits.<locals>._check_ax_limits   sK    ;;==LE5CGGII%%%%CGGII%%%%%%r&   r      r   ageheightweightcategoryrP   )r   r   r   )r   r   )r   r   )r   r   r   r   )copyr+   r,   randintshaperV   _sharey)	r5   ry   r   r8   	height_ax	weight_axpage_axdummy_axs	            r#   test_boxplot_axis_limitsz+TestDataFramePlots.test_boxplot_axis_limits   se   	& 	& 	&
 \\^^I%%aRXa[995	!zz8X*>:zNN	9Hy111Hy111 I---- JJ222zJBB'(w$4f9	T7Hy111Hy111EF+++ I----~****'''''r&   c                     t          t          j                            dd                    }t          j        |j        d d df<   t          |j        d           d S )Nr   r=   r   re   rI   )r   r+   r,   rS   nanlocr
   rV   r[   s     r#   test_boxplot_empty_columnz,TestDataFramePlots.test_boxplot_empty_column   sO    ryr1--..vqqq!t"*&999999r&   c                     t          t          j                            dd          g d          }|                    dd          }|j        j        j        dk    sJ |j        j        j        d	k    sJ d S )
Nr'      )ra   rb   CDEr`   re   )      )rJ   figsizer   r   )	r   r+   r,   rf   rV   figurebbox_incheswidthr   )r5   r8   rz   s      r#   test_figsizezTestDataFramePlots.test_figsize   sx    ry~~b!,,6O6O6OPPP@@}(."4444}(/1444444r&   c                     t          dg di          }|                     |                    dd          dd           d S )Nar   r   r   r=   r   r<      )fontsize
xlabelsize
ylabelsizer   _check_ticks_propsrV   r[   s     r#   test_fontsizez TestDataFramePlots.test_fontsize   sY    ///011JJsRJ((RB 	  	
 	
 	
 	
 	
r&   c                    t          t          dd          t          j                            d          t          j                            d          dz   t          dd                              t                    t          ddd          t          dd          d          }|                    d	
          }d |	                                D             ddgk    sJ d S )Nz
2012-01-01d   )periodsr   UTC)r   tzz1 days)r   bcrr   efbox)r   c                 6    g | ]}|                                 S r   r   r    s     r#   r$   z@TestDataFramePlots.test_boxplot_numeric_data.<locals>.<listcomp>   s     ;;;

;;;r&   r   r   )
r   r   r+   r,   rS   astypestrr   r/   r0   )r5   r8   r9   s      r#   test_boxplot_numeric_dataz,TestDataFramePlots.test_boxplot_numeric_data   s    c:::Y__S))Y__S))A-c:::AA#FFceDDD$Xs;;; 	
 	
 WW%W  ;;b&8&8&:&:;;;SzIIIIIIr&   zcolors_kwd, expectedrr   gr   )boxeswhiskersmedianscapsr   c                    t          t          j                            dd                    }|                    |d          }|                                D ]+\  }}||         d                                         |k    sJ ,d S )Nr'   r   rH   colorrJ   r   )r   r+   r,   rf   rV   items	get_color)r5   
colors_kwdexpectedr8   rz   kvs          r#   test_color_kwdz!TestDataFramePlots.test_color_kwd   s     ry~~b!,,--*&AANN$$ 	1 	1DAq!9Q<))++q00000	1 	1r&   zscheme,expecteddark_backgroundz#8dd3c7z#bfbbd9defaultz#1f77b4z#2ca02cc                 V   t          t          j                            dd                    }dd lm} |j                            |           |j        	                    d          }|
                                D ]+\  }}||         d                                         |k    sJ ,d S )Nr'   r   r   rH   rI   )r   r+   r,   rf   r)   r*   styleuser/   r   r   r   )r5   schemer   r8   r6   rz   r   r   s           r#   test_colors_in_themez'TestDataFramePlots.test_colors_in_theme   s    2 ry~~b!,,--''''''	f00NN$$ 	1 	1DAq!9Q<))++q00000	1 	1r&   zdict_colors, msg)r   invalid_keyzinvalid key 'invalid_key'c                     t          t          j                            dd                    }t	          j        t          |          5  |                    |d           d d d            d S # 1 swxY w Y   d S )Nr'   r   r}   rH   r   )r   r+   r,   rf   r   r   r   rV   )r5   dict_colorsr   r8   s       r#   test_color_kwd_errorsz(TestDataFramePlots.test_color_kwd_errors   s     ry~~b!,,--]:S111 	> 	>JJ[fJ===	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	>s   	A..A25A2zprops, expected))boxpropsr   )whiskerpropsr   )cappropsr   )medianpropsr   c                     t          d dD                       }|ddii} |j        dddi|}||         d                                         dk    sJ d S )	Nc                 N    i | ]"}|t           j                            d           #S )r   )r+   r,   )r!   r   s     r#   
<dictcomp>z?TestDataFramePlots.test_specified_props_kwd.<locals>.<dictcomp>  s*    @@@Q29++C00@@@r&   ABCr   C1rJ   rH   r   r   )r   rV   r   )r5   propsr   r8   kwdrz   s         r#   test_specified_props_kwdz+TestDataFramePlots.test_specified_props_kwd  sw     @@%@@@AAwo&666#66h",,..$666666r&   vertTFc                    t          t          j                            d          t          j                            d          t          j                            ddgd          d          }d\  }}|                    d|||          }|                                |k    sJ |                                |k    sJ d S )Nr   group1group2r   r   groupr"   yr   )r   r   xlabelylabel)r   r+   r,   rS   r-   r/   
get_xlabel
get_ylabelr5   r   r8   r   r   r9   s         r#   test_plot_xlabel_ylabelz*TestDataFramePlots.test_plot_xlabel_ylabel  s    Y__S))Y__S))))8X*>DD 
 
 "WW%d6&WII}}&((((}}&((((((r&   c                    t          t          j                            d          t          j                            d          t          j                            ddgd          d          }d\  }}|                    |||          }|                                |k    sJ |                                |k    sJ d S )Nr   r   r   r   r   )r   r   r   )r   r+   r,   rS   r-   rV   r   r   r   s         r#   test_boxplot_xlabel_ylabelz-TestDataFramePlots.test_boxplot_xlabel_ylabel$  s    Y__S))Y__S))))8X*>DD 
 
 "ZZT&Z@@}}&((((}}&((((((r&   c                    t          t          j                            d          t          j                            d          t          j                            ddgd          d          }d\  }}|                    d|||          }|D ]6}|                                |k    sJ |                                |k    sJ 7| j        	                                 |                    d|          }|D ]B}|r|                                n|                                }|t          dg          k    sJ C| j        	                                 d S )	Nr   r   r   r   r   r   )rO   r   r   r   )rO   r   )r   r+   r,   rS   r-   rV   r   r   r6   closer   )r5   r   r8   r   r   r9   subplottarget_labels           r#    test_boxplot_group_xlabel_ylabelz3TestDataFramePlots.test_boxplot_group_xlabel_ylabel2  sZ   Y__S))Y__S))))8X*>DD 
 
 "ZZ7fVZLL 	2 	2G%%''61111%%''611111ZZ7Z.. 	; 	;G37Q7--///W=O=O=Q=QL<	#:#::::::r&   N)__name__
__module____qualname__r:   r   markslowr\   rt   r{   r   r   r   r   r   r   parametrizer   r   r   r   r   r   r  r   r&   r#   r   r      s       
 
 
* [? ? ?0 1  1  1D1 1 1
4 4 46( ( (4: : :
5 5 5
 
 
J J J [ 33LL33LL s^gs^,CSS#NNO	

 
1 1
 
1 [ "& )(%	  & )(%	 	
 .1 1/ .1 [
,
,.I	JK > >	 > [	
 	
 	
 7 7 7 [VdE]33) ) 43) [VdE]33) ) 43) [VdE]33  43  r&   r   c            
       Z   e Zd Zd Zej        j        d             Zd Zd Z	ej        j        d             Z
ej        j        d             Zej        j        d             Zd Zej                            d	d
g dfd
gg dfdg dfd
dgg dfdg dfg          d             Zd Zd ZdS )TestDataFrameGroupByPlotsc                 v   |                     d          }t          j        t          d          5  t	          |j        d          }d d d            n# 1 swxY w Y   |                     t          |j                  dd	           t	          |j        dd
          }|                     |dd	           d S )NgenderrP   FrM   re   rI   r   r   r   axes_numlayoutrg   rJ   r   r   )	rh   rW   rX   rY   r
   rV   _check_axes_shaper4   rm   )r5   ry   groupedre   s       r#   r\   z.TestDataFrameGroupByPlots.test_boxplot_legacy1K  s   //X/..'eLLL 	J 	J$W_&IIID	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	JtDK001VLLL 5fUUUta?????s   AAAc                 V   t          t          j        d d         t          d                    }t	          t
          j                            dd          t          j	        |                    }|
                    d          }t          j        t          d          5  t          |j        d	          }d d d            n# 1 swxY w Y   |                     t#          |j                  dd
           t          |j        dd          }|                     |dd           d S )Nr'   r   r   r   levelFrM   re   rI   )r=   r   r  r  r   )ziprT   rU   ranger   r+   r,   rf   r   from_tuplesrh   rW   rX   rY   r
   rV   r  r4   rm   r5   tuplesr8   r  re   s        r#   rt   z.TestDataFrameGroupByPlots.test_boxplot_legacy2S  sO   V)#2#.b		::ry~~b!,,J4J64R4RSSS**1*%%'eLLL 	J 	J$W_&IIID	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	JtDK002fMMM 5fUUUta?????s   "CC	C	c                    t          t          j        d d         t          d                    }t	          t
          j                            dd          t          j	        |                    }|
                    d                              dd          }t          j        t          d	          5  t          |j        d
          }d d d            n# 1 swxY w Y   |                     t%          |j                  dd           t          |j        dd
          }|                     |dd           d S )Nr'   r   r   r   r  r   )r  axisFrM   re   rI   r   r   r  r  r   )r  rT   rU   r  r   r+   r,   rf   r   r  unstackrh   rW   rX   rY   r
   rV   r  r4   rm   r  s        r#   test_boxplot_legacy3z.TestDataFrameGroupByPlots.test_boxplot_legacy3_  sb   V)#2#.b		::ry~~b!,,J4J64R4RSSS**1*%%--AA->>'eLLL 	J 	J$W_&IIID	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	J 	JtDK001VLLL 5fUUUta?????s   7CC!Cc                    d}t          t          j                            dd|                    }t          t          j                            dd|                    }t          j                            d                              ddg|          }t          |||d	          }|                    d
          }|                                }t          | j
                                                  dk    sJ t          |          dk    sJ t          j                     |                    d          }t          | j
                                                  dk    sJ t          |          dk    sJ t          j                     |                    d
                                          }t          j                     d S )Nr'      r   )size<   *   malefemale)r   r   r  r  r   re   rI   r   )r   r+   r,   normalRandomStater-   r   rh   r/   rn   r6   get_fignumsrW   r  rV   hist)r5   r7   r   r   r  r8   gbress           r#   test_grouped_plot_fignumsz3TestDataFrameGroupByPlots.test_grouped_plot_fignumsi  s|   	((bq(99::	((Ra(8899&&r**11682D11MM&FfMMNNZZ!!ggii48''))**a////3xx1}}}}



jjVj,,48''))**a////3xx1}}}}



 jj""''))





r&   c                    |}|                     d          }t          |t          j                  sJ |                     |d g d           |                    d                               d          }|                     |dddg           d	                                }t          t          j        	                    d
d          |          }d                                }|dz  |d<   dD ]}|                    d                               |          }|                     ||g d           |                     d|          }|                     ||g d           |                    d                               |          }|                     |||           |                     d|          }|                     |||           d S )Nr  rP   r   r   r   )expected_keysrH   rI   MaleFemalezX B C D A G Y N Q O2   r'   r`   zA B C D E F G H I Jr   r   )rH   re   r   	classroomra   rb   r   )rO   rJ   )
rV   rw   r+   ndarrayr   rh   splitr   r,   rS   )	r5   ry   r8   rz   columns2df2categories2treturneds	            r#   test_grouped_box_return_typez6TestDataFrameGroupByPlots.test_grouped_box_return_type  s    x((&"*-----##D(H(H(H 	$ 	
 	
 	

 H%%--&-AA##FF68BT#UUU(..00	B//BBB+1133%/J) 	M 	MAzz+..6616EEH''!???'SSSzz[az@@H''!+K+K+K (    {{:..6616EEH''!;'OOO{{ja{@@H''!8'LLLL	M 	Mr&   c                 T   |}d}t          j        t          |          5  |                    ddg|j        d           d d d            n# 1 swxY w Y   d}t          j        t          |          5  |                    g dd	d
           d d d            n# 1 swxY w Y   d}t          j        t          |          5  |                    ddg|j        d           d d d            n# 1 swxY w Y   t          j        t          d          5  t          |	                    d          j        dd
          }d d d            n# 1 swxY w Y   | 
                    | j                                        j        dd           t          j        t          d          5  t          |	                    d          j        dd
          }d d d            n# 1 swxY w Y   | 
                    | j                                        j        dd           t          j        t          d          5  t          |	                    d          j        dd
          }d d d            n# 1 swxY w Y   | 
                    | j                                        j        dd           |                    g ddd          }| 
                    | j                                        j        dd           |d         fD ]Z}|                     |                                d           |                     |j                                        gd           [|d         |d         fD ]V}|                     |                                           |                     |j                                        g           W|	                    d                              g dd
          }| 
                    | j                                        j        dd           t          j        t          d          5  t          |	                    d          j        ddd
          }d d d            n# 1 swxY w Y   | 
                    | j                                        j        dd           t          j        t          d          5  t          |	                    d          j        ddd
          }d d d            n# 1 swxY w Y   | 
                    | j                                        j        dd           |                    g ddd          }| 
                    | j                                        j        dd           |                    g ddd           }| 
                    | j                                        j        dd!           |	                    d                              g dd"d
          }| 
                    | j                                        j        dd"           |	                    d                              g dd#d
          }| 
                    | j                                        j        dd$           d S )%Nz1Layout of 1x1 must be larger than required size 2r}   r   r   r   )rL   rO   r  z7The 'layout' keyword is not supported when 'by' is Noner3  )r   r   rH   )rL   r  rJ   z1At least one dimension of layout must be positive)rC  FrM   r  rK   r   r  r  r   r=   r!  r8  r   re   )rL   rO   rJ   )visible)r   r   )r   rC  )r=   r   )rC  r   )r   r   )r   r=   )r   rC  r   r   )r   r   r   rV   r  rW   rX   rY   r
   rh   r  r6   gcfre   _check_visibler0   xaxis	get_label)r5   ry   r8   r   r   re   r9   s          r#   test_grouped_box_layoutz1TestDataFrameGroupByPlots.test_grouped_box_layout  s   A]:S111 	Q 	QJJx2ryJPPP	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q H]:S111 	 	JJ777"    	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 B]:S111 	S 	SJJx2ryJRRR	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 'eLLL 	 	#

8$$,X6  C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	tx||~~2QvNNN'eLLL 	 	#

:&&.xV  C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	tx||~~2QvNNN 'eLLL 	 	#

;''/f  C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	tx||~~2QvNNN zz333f  
 
 	tx||~~2QvNNN>" 	G 	GB 2 2 4 4eDDD!3!3!5!5 6FFFF>4
#34 	8 	8B 2 2 4 4555!3!3!5!5 67777jj%%--333 . 
 
 	tx||~~2QvNNN'eLLL 	 	#

:&&."	  C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	tx||~~2QvNNN'eLLL 	 	#

:&&."	  C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	tx||~~2QvNNNjj333  
 
 	tx||~~2QvNNNjj333  
 
 	tx||~~2QvNNNjj%%--333FPV . 
 
 	tx||~~2QvNNNjj%%--333GQW . 
 
 	tx||~~2QvNNNNNs    AAA4BB"B C//C36C3+EEE&+GG!$G!7+I..I25I2,Q99Q= Q=,TTTc                    |}t          j        t                    5  | j                            dd          \  }}|                    d                              dd|           |                     | j                                        j	        dd           d d d            n# 1 swxY w Y   | j                            dd	          \  }}t          j        t                    5  |                    g d
dd|d                   }d d d            n# 1 swxY w Y   t          j        t          |j                            }|                     |d	d           t          j        ||d                    |d         j        |u sJ t          j        t                    5  |                    d                              g d
d|d                   }d d d            n# 1 swxY w Y   t          j        t          |j                            }|                     |d	d           t          j        ||d                    |d         j        |u sJ d}t!          j        t$          |          5  | j                            dd	          \  }}t          j        t                    5  |                    d                              |          }d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   r   r   re   )rL   rJ   r9   r=   r!  r  r   r3  r  r   )rL   rO   rJ   r9   rE  r8  r   z@The number of passed axes must be 3, the same as the output plotr}   )r9   )rW   rX   rY   r6   rg   rh   rV   r  rF  re   r+   arrayr4   rm   assert_numpy_array_equalr   r   r   r   )r5   ry   r8   rp   re   r@  r   s          r#   test_grouped_box_multiple_axesz8TestDataFrameGroupByPlots.test_grouped_box_multiple_axes   sP     '44 	S 	S))!Q//ICJJz""**(SW*XXX""48<<>>#66"RRR	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S
 H%%a++	T'44 	 	zz777"7	 "  H	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 8D1122x!FCCC
#Hd1g666{!S(((( '44 	 	zz+..66777VPTUVPW 7  H	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 8D1122x!FCCC
#Hd1g666{!S((((P]:S111 	@ 	@))!Q//IC+K88 @ @zz+..66$6??@ @ @ @ @ @ @ @ @ @ @ @ @ @ @	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@sl   A>B&&B*-B*("DDD$4G$$G(+G(68K<.*K$K<$K(	(K<+K(	,K<<L L c                     t          g dg dd          }|                     |                    ddd          dd           d S )	Nr   )r   r   r   r   r   r   )r   r   r   r   r   )rO   r   r   r   r[   s     r#   r   z'TestDataFrameGroupByPlots.test_fontsize-  se    ///6H6H6HIIJJJJssRJ00RB 	  	
 	
 	
 	
 	
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))
rP  rV  rQ  rW  rR  rX  rS  rY  rT  rZ  Nc                    t          t          j                            t	          d          d          t          j                            d          t          j                            d          d          }|                    d          }t          |j        d|d          }d |	                                D             }||k    sJ d S )	Nabcder   )catr   rU  r]  Fre   )rg   rL   rJ   c                 6    g | ]}|                                 S r   r   r    s     r#   r$   zQTestDataFrameGroupByPlots.test_groupby_boxplot_subplots_false.<locals>.<listcomp>h       JJJaQZZ\\JJJr&   )
r   r+   r,   r-   r4   rf   rh   r
   rV   r0   )r5   r   expected_xticklabelr8   r  re   result_xticklabels          r#   #test_groupby_boxplot_subplots_falsez=TestDataFrameGroupByPlots.test_groupby_boxplot_subplots_false3  s    P y''Ws;;Y^^C((innS)) 
 
 **U## OeCV
 
 
 KJ43G3G3I3IJJJ"&7777777r&   c                     |                     d          }|                    d          }d}t          j        t          |          5  t          |j        d           d d d            d S # 1 swxY w Y   d S )Nobjectr  z:boxplot method requires numerical columns, nothing to plotr}   F)rg   )r   rh   r   r   r   r
   rV   )r5   ry   r8   r  r   s        r#   test_groupby_boxplot_objectz5TestDataFrameGroupByPlots.test_groupby_boxplot_objectk  s    ^^H%%**X&&J]:S111 	? 	?go>>>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	?s   A,,A03A0c                 `   g dg dg}t          t          |           }t          j        |ddg          }t	          t
          j                            dd          g d|	          }d
dg}t          |j	        |d          }ddg}d |
                                D             }||k    sJ d S )N)r   r   bazrg  rE   rE   quxrh  )r?   r@   r?   r@   r?   r@   r?   r@   firstsecond)namesr   r   r9  rC   )r   r?   )r   r@   re   rK   z
(bar, one)z
(bar, two)c                 6    g | ]}|                                 S r   r   r    s     r#   r$   zLTestDataFrameGroupByPlots.test_boxplot_multiindex_column.<locals>.<listcomp>  r_  r&   )r4   r  r   r  r   r+   r,   rS   r
   rV   r0   )	r5   arraysr  r   r8   r   re   r`  ra  s	            r#   test_boxplot_multiindex_columnz8TestDataFrameGroupByPlots.test_boxplot_multiindex_columns  s     EDDDDD
 c6l##&vgx5HIIIryq!,,OOOUSSS~. CVLLL+\:JJ43G3G3I3IJJJ"&7777777r&   )r  r  r  r\   r   r	  r
  rt   r#  r1  rA  rJ  rN  r   r  rb  re  rn  r   r&   r#   r  r  I  s       @ @ @ [	@ 	@ 	@@ @ @  , [ M  M  MD [[O [O [Oz [*@ *@ *@X
 
 
 ["DDDEUFFFGJJJKd      '"	
% %L8 8M% %L8$? ? ?8 8 8 8 8r&   r  )__doc__rj   rT   numpyr+   r   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   r   r   r   r   pandas._testing_testingrW   pandas.tests.plotting.commonr	   r
   pandas.io.formats.printingr   skip_if_no_mplr   r  r   r&   r#   <module>r{     s   & &           ) ) ) ) ) ) ) ) )                            
 4 3 3 3 3 3 i i i i i i i iX	 x8 x8 x8 x8 x8 x8 x8 x8 x8 x8r&   