o
    _~#gr                     @   s   d Z ddlZddlZddlZddlZddlmZmZm	Z	m
Z
mZmZ ddlmZ ddlmZmZmZmZmZ ddlmZ edZedZdd	 ZG d
d dZG dd dZdS )z  Test cases for .boxplot method     N)	DataFrame
MultiIndexSeries
date_rangeplottingtimedelta_range)_check_axes_shape_check_box_return_type_check_plot_works_check_ticks_props_check_visible)pprint_thing
matplotlibzmatplotlib.pyplotc                 C   s0   |  \}}||  ksJ ||  ksJ d S N)get_ylimminmax)colaxy_miny_max r   /var/www/static.ux5.de/https/Moving-Object-Detection-with-OpenCV/env/lib/python3.10/site-packages/pandas/tests/plotting/test_boxplot_method.py_check_ax_limits    s   r   c                   @   sf  e Zd Zdd Zejjejdddidgddd	gidgdd	gd
degdgd
dgddgdd
iegdd
dgiegddidgd
ddeggdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zejdg d#d$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Zejd2d3d4d5d6d7d3d4d5d6d7fd8d3id8d3ifd3d3d3d3d3d7fgd9d: Zejd;d<d=d=d>d=d7fd?d@d@dAd@d7fgdBdC ZejdDd3d3dEdFfgdGdH ZejdIg dJdKdL ZejdMdNdOgdPdQ ZejdMdNdOgdRdS ZejdMdNdOgdTdU ZejdMdNdOgdVdW Z ejdMdNdOgdXdY Z!dS )ZTestDataFramePlotsc                 C   s   dd l m} d}ttjdg d|tjdg d|tjdg d|dtd|d}|jddd	}d
d |	 D |j
 ksKJ |tddd |  dd |	 D ttdddksmJ d S )Nr   P      )r      r      )Clinical	Confirmed	DiscardedindexbarT)kindstackedc                 S      g | ]}t | qS r   intget_text.0xr   r   r   
<listcomp>5       zDTestDataFramePlots.test_stacked_boxplot_set_axis.<locals>.<listcomp>
   c                 S   r'   r   r(   r+   r   r   r   r.   8   r/   )matplotlib.pyplotpyplotr   nprandomdefault_rngchoicearangeplotget_xticklabelsr#   to_list
set_xticksdrawlist)selfpltndfr   r   r   r   test_stacked_boxplot_set_axis'   s    
 z0TestDataFramePlots.test_stacked_boxplot_set_axiszkwargs, warnreturn_typedictNcolumnonetwoindic)rE   byindic2rI   notchr   )rI   rK   c                 C   s   t tjddttjd d g dd}ddgd |d	< g d
d |d< tj	|dd t
|jfi | W d    d S 1 sCw   Y  d S )Nr         rM   rF   rG   threefourr#   columnsfoor$   r   rH   )rT   r$   rT   rJ   Fcheck_stacklevel)r   r3   r4   r5   standard_normalr=   stringascii_letterstmassert_produces_warningr
   boxplot)r>   kwargswarnrA   r   r   r   test_boxplot_legacy1<   s   "z'TestDataFramePlots.test_boxplot_legacy1c                 C   s,   t tjdd}ttjj|dd d S )Nr   rM   rD   )datarC   )	r   r3   r4   r5   rW   r
   r   _corer\   )r>   serr   r   r   test_boxplot_legacy1_seriesW   s   z.TestDataFramePlots.test_boxplot_legacy1_seriesc                 C   s   t tjddddgd}tg d|d< tdgd	 |d
< tjtdd t|j	dd W d    d S 1 s:w   Y  d S )Nr   r0   r   Col1Col2rS   
Ari   ri   ri   ri   Brj   rj   rj   rj   Xri   r0   YFrU   rI   )
r   r3   r4   r5   r   rZ   r[   UserWarningr
   r\   r>   rA   r   r   r   test_boxplot_legacy2[   s   "z'TestDataFramePlots.test_boxplot_legacy2c                 C   st   t tjddddgd}tg d|d< tdgd	 |d
< tj \}}|jdd|d}|j	}||u s8J d S )Nr   rd   re   rf   rg   rh   rk   ri   r0   rl   )rI   r   )
r   r3   r4   r5   r   mplr2   subplotsr\   axes)r>   rA   _r   rs   ax_axesr   r   r   test_boxplot_legacy2_with_axd   s   z/TestDataFramePlots.test_boxplot_legacy2_with_axc                 C   s|   t tjddddgd}tg d|d< tdgd	 |d
< tj \}}|d
j	|dd}|j
}||d u s<J d S )Nr   rd   re   rf   rg   rh   rk   ri   r0   rl   rs   r   rC   )r   r3   r4   r5   r   rq   r2   rr   groupbyr\   rs   )r>   rA   figr   rs   ru   r   r   r   (test_boxplot_legacy2_with_ax_return_typeq   s   z;TestDataFramePlots.test_boxplot_legacy2_with_ax_return_typec                 C   s   t tjddddgd}tg d|d< tdgd	 |d
< tj \}}t	t
 |jddgd|dd}W d    n1 sBw   Y  |d  |u sQJ d S )Nr   rd   re   rf   rg   rh   rk   ri   r0   rl   rs   )rE   rI   r   rC   )r   r3   r4   r5   r   rq   r2   rr   rZ   r[   rn   r\   
get_figure)r>   rA   ry   r   rs   r   r   r   #test_boxplot_legacy2_with_multi_col|   s   z6TestDataFramePlots.test_boxplot_legacy2_with_multi_colc                 C   s   t tjddddgd}tg d|d< tdgd	 |d
< tj \}}|j|dd}t	t
j| }t| t|ksDJ d S )Nr   rd   re   rf   rg   rh   rk   ri   r0   rl   rD   rw   )r   r3   r4   r5   r   rq   r2   rr   r\   r=   	itertoolschainfrom_iterablevalueslen	get_lines)r>   rA   rt   r   dlinesr   r   r   test_boxplot_legacy2_by_none   s   z/TestDataFramePlots.test_boxplot_legacy2_by_nonec                 C   s   |  }t|tjjsJ d S r   )r\   
isinstancerq   r2   Axes)r>   hist_dfresultr   r   r   test_boxplot_return_type_none   s   z0TestDataFramePlots.test_boxplot_return_type_nonec                 C   s   t tjddttjd d g dd}d}tj	t
|d |jdd	 W d    n1 s1w   Y  | }t|d
 d S )Nr   rL   rM   rO   rR   z,return_type must be {'axes', 'dict', 'both'}match
NOT_A_TYPErC   rs   )r   r3   r4   r5   rW   r=   rX   rY   pytestraises
ValueErrorr\   r	   )r>   rA   msgr   r   r   r   test_boxplot_return_type_legacy   s   z2TestDataFramePlots.test_boxplot_return_type_legacyrD   rs   bothc                 C   sr   t tjddttjd d g dd}t	d |j
|d}W d    n1 s-w   Y  t|| d S )Nr   rL   rM   rO   rR   Fr   )r   r3   r4   r5   rW   r=   rX   rY   rZ   r[   r\   r	   )r>   rC   rA   r   r   r   r   +test_boxplot_return_type_legacy_return_type   s   z>TestDataFramePlots.test_boxplot_return_type_legacy_return_typec                 C   sl   |  }tjddd|jd |d< |jddgdd	\}}t|d | t|d | |j|ks4J d S )
Nr   r      r   ageheightweightcategoryrm   	copyr3   r4   r5   integersshaper\   r   _sharey)r>   r   rA   	height_ax	weight_axr   r   r   test_boxplot_axis_limits   s    z+TestDataFramePlots.test_boxplot_axis_limitsc                 C   s   |  }tjddd|jd |d< |jg ddd}|d	 |d
 |d }}}|d }t|d | t|d | t|d | |j|ksKJ |j|ksRJ |jd u sYJ d S )Nr   r   r   r   r   )r   r   r   r   rm   )r   r   )r   r   )r   r   r   r   r   r   r   )r>   r   rA   pr   r   age_axdummy_axr   r   r   !test_boxplot_axis_limits_two_rows   s    z4TestDataFramePlots.test_boxplot_axis_limits_two_rowsc                 C   s<   t tjdd}tj|jd d df< t|jdd d S )Nr   )r   rN   r   rs   r   )	r   r3   r4   r5   rW   nanlocr
   r\   ro   r   r   r   test_boxplot_empty_column   s   z,TestDataFramePlots.test_boxplot_empty_columnc                 C   sT   t tjddg dd}|jddd}|jjjdksJ |jjjd	ks(J d S )
Nr   )r0      )ri   rj   CDErg   rs   )      )rC   figsizer   r   )	r   r3   r4   r5   r\   figurebbox_incheswidthr   )r>   rA   r   r   r   r   test_figsize   s   zTestDataFramePlots.test_figsizec                 C   s,   t dg di}t|jdddddd d S )Nar   r   r   rN   r   rM      )fontsize
xlabelsize
ylabelsizer   r   r\   ro   r   r   r   test_fontsize   s   z TestDataFramePlots.test_fontsizec              
   C   s   t tdddtjddtjddd tdddttddddtdddd}|j	d	d
}dd |
 D ddgksDJ d S )Nz
2012-01-01d   )periodsr   UTC)r   tzz1 days)r   bcr   efbox)r%   c                 S      g | ]}|  qS r   r*   r+   r   r   r   r.          z@TestDataFramePlots.test_boxplot_numeric_data.<locals>.<listcomp>r   r   )r   r   r3   r4   r5   rW   astypestrr   r8   r9   )r>   rA   r   r   r   r   test_boxplot_numeric_data   s   


"z,TestDataFramePlots.test_boxplot_numeric_datazcolors_kwd, expectedrr   gr   )boxeswhiskersmedianscapsr   c                 C   sR   t tjdd}|j|dd}| D ]\}}|| d  |ks&J qd S )Nr   rd   rD   colorrC   r   )r   r3   r4   r5   r\   items	get_color)r>   
colors_kwdexpectedrA   r   kvr   r   r   test_color_kwd   s
   z!TestDataFramePlots.test_color_kwdzscheme,expecteddark_backgroundz#8dd3c7z#bfbbd9defaultz#1f77b4z#2ca02cc                 C   sj   t tjdd}dd lm} |j| |jj	dd}|
 D ]\}}|| d  |ks2J q"d S )Nr   rd   r   rD   r   )r   r3   r4   r5   r1   r2   styleuser8   r   r   r   )r>   schemer   rA   r?   r   r   r   r   r   r   test_colors_in_theme  s   z'TestDataFramePlots.test_colors_in_themezdict_colors, msg)r   invalid_keyzinvalid key 'invalid_key'c                 C   sX   t tjdd}tjt|d |j|dd W d    d S 1 s%w   Y  d S )Nr   rd   r   rD   r   )r   r3   r4   r5   r   r   r   r\   )r>   dict_colorsr   rA   r   r   r   test_color_kwd_errors#  s   "z(TestDataFramePlots.test_color_kwd_errorszprops, expected))boxpropsr   )whiskerpropsr   )cappropsr   )medianpropsr   c                 C   sN   t dd dD }|ddii}|jd	ddi|}|| d  dks%J d S )
Nc                 S   s    i | ]}|t jd dqS )r   r0   )r3   r4   r5   )r,   r   r   r   r   
<dictcomp>8  s     z?TestDataFramePlots.test_specified_props_kwd.<locals>.<dictcomp>ABCr   C1rC   rD   r   r   )r   r\   r   )r>   propsr   rA   kwdr   r   r   r   test_specified_props_kwd-  s   z+TestDataFramePlots.test_specified_props_kwdvertTFc                 C   s~   t tjddtjddtjdddgdd}d\}}|jd|||d}| |ks5J | |ks=J d S )	Nr   r0   group1group2r   r   groupr-   yr   )r%   r   xlabelylabel)	r   r3   r4   r5   rW   r6   r8   
get_xlabel
get_ylabelr>   r   rA   r   r   r   r   r   r   test_plot_xlabel_ylabel>  s   z*TestDataFramePlots.test_plot_xlabel_ylabelc           
      C   s   t jd}t|jddddtdd}t|jddddtdd}d\}}tjdd	d
d\}}|jj	|d |||d |jj	|d |||d |D ]}	|	
 |ksTJ |	 |ks\J qJtj  d S )Nr   r   r   )r   rN   sizeABCDrg   r   )r0      T)ncolsr   sharey)r   r   r   r   r   )r3   r4   r5   r   r   r=   r?   rr   r8   r   r   r   rq   r2   close)
r>   r   rngdf1df2r   r   rt   axsr   r   r   r   test_plot_boxL  s   z TestDataFramePlots.test_plot_boxc                 C   s|   t tjddtjddtjdddgdd}d\}}|j|||d}| |ks4J | |ks<J d S )Nr   r0   r   r   r   r   )r   r   r   )	r   r3   r4   r5   rW   r6   r\   r   r   r   r   r   r   test_boxplot_xlabel_ylabel\  s   z-TestDataFramePlots.test_boxplot_xlabel_ylabelc                 C   s   t tjddtjddtjdddgdd}d\}}|jd|||d}|D ]}| |ks9J | |ksAJ q/t	j
  d S )	Nr   r0   r   r   r   r   r   )rI   r   r   r   )r   r3   r4   r5   rW   r6   r\   r   r   rq   r2   r  )r>   r   rA   r   r   r   subplotr   r   r    test_boxplot_group_xlabel_ylabelj  s   z3TestDataFramePlots.test_boxplot_group_xlabel_ylabelc                 C   s   t tjddtjddtjdddgdd}|jd|d}|D ]}|r1| n| }|t	dgks>J q)t
j  d S )Nr   r0   r   r   r   r   )rI   r   )r   r3   r4   r5   rW   r6   r\   r   r   r   rq   r2   r  )r>   r   rA   r   r  target_labelr   r   r   #test_boxplot_group_no_xlabel_ylabelz  s   z6TestDataFramePlots.test_boxplot_group_no_xlabel_ylabel)"__name__
__module____qualname__rB   r   markslowparametrizern   r_   rc   rp   rv   rz   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	  r
  r  r  r   r   r   r   r   &   s    


	
	





	



r   c                
   @   s  e Zd Zdd Zdd Zejjdd Zejjdd Z	ej
d	d
eddgg dgdd Zdd Zdd Zejjdd Zejjdd Zejjej
dg ddd Zejjej
dg ddd Zejjdd Zejjd d! Zejjd"d# Zejjej
d$g d%g d&g d'gd(d) Zejjej
d*d+d,gd-d
gd.d
ggd/d0 Zejjd1d2 Zejjej
d3d4d5gd6d7 Zejjej
d8d9d9gd5dggd:d; Zejjej
d<d9d9gd5dggd=d> Zejjd?d@ ZejjdAdB ZejjdCdD ZdEdF Zej
dGdHg dIfdHgg dIfdJg dKfdHdJgg dLfdMg dLfgdNdO Z dPdQ Z!dRdS Z"dMS )TTestDataFrameGroupByPlotsc                 C   s`   |j dd}tjtdd t|jdd}W d    n1 sw   Y  tt|jddd	 d S )
Ngenderrm   FrU   rs   r   r   )r   r   axes_numlayout)	rx   rZ   r[   rn   r
   r\   r   r=   r   r>   r   groupedrs   r   r   r   r_     s
   z.TestDataFrameGroupByPlots.test_boxplot_legacy1c                 C   s.   |j dd}t|jddd}t|ddd d S )	Nr  rm   Frs   rr   rC   r   r   r  )rx   r
   r\   r   r  r   r   r    test_boxplot_legacy1_return_type  s   z:TestDataFrameGroupByPlots.test_boxplot_legacy1_return_typec                 C   s   t tjd d td}ttjddt	|d}|j
dd}tjtdd t|jd	d
}W d    n1 s;w   Y  tt|jddd d S )Nr0   r   r0   r   r"   r   levelFrU   rs   r   )rN   r   r  )ziprX   rY   ranger   r3   r4   r5   r   from_tuplesrx   rZ   r[   rn   r
   r\   r   r=   r   r>   tuplesrA   r  rs   r   r   r   rp     s   z.TestDataFrameGroupByPlots.test_boxplot_legacy2c                 C   sf   t tjd d td}ttjddt	|d}|j
dd}t|jddd	}t|dd
d d S )Nr0   r   r  r"   r   r  Frs   r  r   r  )r!  rX   rY   r"  r   r3   r4   r5   r   r#  rx   r
   r\   r   r$  r   r   r    test_boxplot_legacy2_return_type  s   z:TestDataFrameGroupByPlots.test_boxplot_legacy2_return_typez subplots, warn, axes_num, layoutTr   r   r   )FNr   r   c           
      C   s   t tjd d td}ttjddt	|d}d}t
jt|d |jddjd	dd
}W d    n1 s;w   Y  t
j|dd t|j|dd}	W d    n1 sZw   Y  t|	||d d S )Nr0   r   r  r"   z+DataFrame.groupby with axis=1 is deprecatedr   r   r  r   )r   axisFrU   rs   r  r  )r!  rX   rY   r"  r   r3   r4   r5   r   r#  rZ   r[   FutureWarningunstackrx   r
   r\   r   )
r>   rr   r^   r  r  r%  rA   r   r  rs   r   r   r   test_boxplot_legacy3  s   z.TestDataFrameGroupByPlots.test_boxplot_legacy3c                 C   s   d}t tjdjdd|d}t tjdjdd|d}tjdjddg|d}t|||d	}|d
}| }t	t
j dksGJ t	|dksOJ td |jdd}t	t
j dkseJ t	|dksmJ d S )Nr0   r      r   r   <   malefemaler   r   r  r  allrs   r   r   )r   r3   r4   r5   normalr6   r   rx   r8   r   rq   r2   get_fignumsr?   r  r\   )r>   r@   r   r   r  rA   gbresr   r   r   test_grouped_plot_fignums  s   

z3TestDataFrameGroupByPlots.test_grouped_plot_fignumsc                 C   sx   d}t tjdjdd|d}t tjdjdd|d}tjdjddg|d}t|||d	}|d
  d S )Nr0   r   r,  r   r   r-  r.  r/  r0  r  )	r   r3   r4   r5   r2  r6   r   rx   hist)r>   r@   r   r   r  rA   r   r   r   &test_grouped_plot_fignums_excluded_col  s   z@TestDataFrameGroupByPlots.test_grouped_plot_fignums_excluded_colc                 C   s6   |}|j dd}t|tjsJ t|d g dd d S )Nr  rm   r   r   r   expected_keys)r\   r   r3   ndarrayr	   r>   r   rA   r   r   r   r   test_grouped_box_return_type  s   

z6TestDataFrameGroupByPlots.test_grouped_box_return_typec                 C   s,   |}| djdd}t|dddgd d S )Nr  rD   r   MaleFemaler:  rx   r\   r	   r=  r   r   r   $test_grouped_box_return_type_groupby  s   z>TestDataFrameGroupByPlots.test_grouped_box_return_type_groupbyrC   r   c                 C   sL   |}| dj|d}t||g dd |jd|d}t||g dd d S )N	classroomr   ri   rj   r   r:  rI   rC   r9  rA  )r>   r   rC   rA   returnedr   r   r    test_grouped_box_return_type_arg  s   

z:TestDataFrameGroupByPlots.test_grouped_box_return_type_argc                 C   sv   d  }ttjdd|d}d  }|d |d< |dj|d}t|||d	 |jd|d
}t|||d	 d S )Nz	X B C D Ar   )rM   r   rg   zA Br   r   r   r:  rE  )	splitr   r3   r4   r5   rW   rx   r\   r	   )r>   rC   columns2r  categories2rF  r   r   r   .test_grouped_box_return_type_arg_duplcate_cats  s   zHTestDataFrameGroupByPlots.test_grouped_box_return_type_arg_duplcate_catsc                 C   R   |}d}t jt|d |jddg|jdd W d    d S 1 s"w   Y  d S )Nz1Layout of 1x1 must be larger than required size 2r   r   r   r   rE   rI   r  r   r   r   r\   r  r>   r   rA   r   r   r   r   !test_grouped_box_layout_too_small	  s
   "z;TestDataFrameGroupByPlots.test_grouped_box_layout_too_smallc                 C   sP   |}d}t jt|d |jg dddd W d    d S 1 s!w   Y  d S )Nz7The 'layout' keyword is not supported when 'by' is Noner   r9  )r   r   rD   rE   r  rC   )r   r   r   r\   rO  r   r   r    test_grouped_box_layout_needs_by  s   "z:TestDataFrameGroupByPlots.test_grouped_box_layout_needs_byc                 C   rL  )Nz1At least one dimension of layout must be positiver   r   r   )rS  rM  rN  rO  r   r   r   'test_grouped_box_layout_positive_layout  s
   "zATestDataFrameGroupByPlots.test_grouped_box_layout_positive_layoutzgb_key, axes_num, rows)r  r   r   )r   rN   r   )rC  r   r   c                 C   sf   |}t jtdd t||jddd W d    n1 sw   Y  ttj	 j
||dfd d S )NFrU   r   rD   rE   rC   r   r  rZ   r[   rn   r
   rx   r\   r   rq   r2   gcfrs   )r>   r   gb_keyr  rowsrA   r   r   r   ,test_grouped_box_layout_positive_layout_axes#  s   zFTestDataFrameGroupByPlots.test_grouped_box_layout_positive_layout_axeszcol, visibler   Fr   r   c                 C   s^   |}|j g dddd}ttj jddd || }t| |d t|j	 g|d d S )	Nr9  r  rs   )rE   rI   rC   r   r'  r  )visible)
r\   r   rq   r2   rW  rs   r   r9   xaxis	get_label)r>   r   r   r[  rA   rs   r   r   r   r   test_grouped_box_layout_visible3  s   
z9TestDataFrameGroupByPlots.test_grouped_box_layout_visiblec                 C   s6   |}| djg ddd ttj jddd d S )NrC  r9  rD   rU  r   r'  r  rx   r\   r   rq   r2   rW  rs   )r>   r   rA   r   r   r   test_grouped_box_layout_shapeB  s
   
z7TestDataFrameGroupByPlots.test_grouped_box_layout_shapecolsr   rS  c                 C   sh   |}t jtdd t|djdd|fdd W d    n1 s"w   Y  ttj	 j
dd	d
 d S )NFrU   r   r   r   rD   rQ  rN   )r   r   r  rV  )r>   r   ra  rA   r   r   r   test_grouped_box_layout_worksJ  s   
z7TestDataFrameGroupByPlots.test_grouped_box_layout_worksz	rows, resrN   c                 C   s:   |}|j g dd|dfd ttj jd|dfd d S )Nr9  r  r   rM  r   r  )r\   r   rq   r2   rW  rs   )r>   r   rY  r5  rA   r   r   r   'test_grouped_box_layout_axes_shape_rowsW  s
   zATestDataFrameGroupByPlots.test_grouped_box_layout_axes_shape_rowsz	cols, resc                 C   s@   |}| djg dd|fdd ttj jdd|fd d S )NrC  r9  r   rD   rQ  r   r  r_  )r>   r   ra  r5  rA   r   r   r   /test_grouped_box_layout_axes_shape_cols_groupby`  s   
zITestDataFrameGroupByPlots.test_grouped_box_layout_axes_shape_cols_groupbyc                 C   sr   |}t t( tjdd\}}|djdd|d ttj	 j
ddd W d    d S 1 s2w   Y  d S )	Nr   r   r   rs   rE   rC   r   rN   r'  r  )rZ   r[   rn   rq   r2   rr   rx   r\   r   rW  rs   )r>   r   rA   rt   rs   r   r   r   test_grouped_box_multiple_axesk  s   "z8TestDataFrameGroupByPlots.test_grouped_box_multiple_axesc                 C   s&  |}t jdd\}}tt |jg ddd|d d}W d    n1 s(w   Y  tt	|j
}t|ddd	 t||d  |d j|u sMJ tt |d
jg dd|d d}W d    n1 slw   Y  tt	|j
}t|ddd	 t||d  |d j|u sJ d S )Nr   r   r9  r  rs   r   )rE   rI   rC   r   )r   r   r  rC  r   re  )rq   r2   rr   rZ   r[   rn   r\   r3   arrayr=   r   r   assert_numpy_array_equalr   rx   )r>   r   rA   ry   rs   rF  r   r   r   %test_grouped_box_multiple_axes_on_figz  s.   
z?TestDataFrameGroupByPlots.test_grouped_box_multiple_axes_on_figc              	   C   s   |}d}t jt|d8 tjdd\}}tt |	dj
|d}W d    n1 s.w   Y  W d    d S W d    d S 1 sFw   Y  d S )Nz@The number of passed axes must be 3, the same as the output plotr   r   r   rC  )r   )r   r   r   rq   r2   rr   rZ   r[   rn   rx   r\   )r>   r   rA   r   ry   rs   r   r   r   'test_grouped_box_multiple_axes_ax_error  s   "zATestDataFrameGroupByPlots.test_grouped_box_multiple_axes_ax_errorc                 C   s4   t g dg dd}t|jddddddd d S )	Nr   )r   r   r   r   r   r   )r   r   r   r   r   )rI   r   r   r   ro   r   r   r   r     s   
z'TestDataFrameGroupByPlots.test_fontsizezcol, expected_xticklabelr   )(a, v)(b, v)(c, v)(d, v)(e, v)v1)(a, v1)(b, v1)(c, v1)(d, v1)(e, v1))
rk  rq  rl  rr  rm  rs  rn  rt  ro  ru  Nc                 C   s~   t tjdtddtjddtjddd}|d}t|jd|dd}d	d
 |	 D }||ks=J d S )Nr   abcder   )catr   rp  rw  Frs   )rr   rE   rC   c                 S   r   r   r   r+   r   r   r   r.     r   zQTestDataFrameGroupByPlots.test_groupby_boxplot_subplots_false.<locals>.<listcomp>)
r   r3   r4   r5   r6   r=   rx   r
   r\   r9   )r>   r   expected_xticklabelrA   r  rs   result_xticklabelr   r   r   #test_groupby_boxplot_subplots_false  s   (

z=TestDataFrameGroupByPlots.test_groupby_boxplot_subplots_falsec                 C   sZ   | d}|d}d}tjt|d t|jdd W d    d S 1 s&w   Y  d S )Nobjectr  z:boxplot method requires numerical columns, nothing to plotr   F)rr   )r   rx   r   r   r   r
   r\   )r>   r   rA   r  r   r   r   r   test_groupby_boxplot_object  s   

"z5TestDataFrameGroupByPlots.test_groupby_boxplot_objectc           	      C   s   g dg dg}t t| }tj|ddgd}ttjddg d|d	}d
dg}t	|j
|dd}ddg}dd | D }||ksFJ d S )N)r$   r$   bazr}  rT   rT   quxr~  )rF   rG   rF   rG   rF   rG   rF   rG   firstsecond)namesr   )r   r   rD  rR   )r$   rF   )r$   rG   rs   rU  z
(bar, one)z
(bar, two)c                 S   r   r   r   r+   r   r   r   r.     r   zLTestDataFrameGroupByPlots.test_boxplot_multiindex_column.<locals>.<listcomp>)r=   r!  r   r#  r   r3   r4   r5   rW   r
   r\   r9   )	r>   arraysr%  r#   rA   r   rs   rx  ry  r   r   r   test_boxplot_multiindex_column  s   z8TestDataFrameGroupByPlots.test_boxplot_multiindex_column)#r  r  r  r_   r  r   r  r  rp   r&  r  rn   r+  r6  r8  r>  rB  rG  rK  rP  rR  rT  rZ  r^  r`  rb  rc  rd  rf  ri  rj  r   rz  r|  r  r   r   r   r   r    s    



	







	






&r  )__doc__r}   rX   numpyr3   r   pandasr   r   r   r   r   r   pandas._testing_testingrZ   pandas.tests.plotting.commonr   r	   r
   r   r   pandas.io.formats.printingr   importorskiprq   r?   r   r   r  r   r   r   r   <module>   s      

  f