
     j*                         d dl Z d dlZd dlZd dlmZ d dlmZ d dl	m
Z
mZmZmZ  ej        d           ej        d             Z G d d          Z G d d	          ZdS )
    N)	DataFrame)_check_axes_shape_check_plot_works
get_x_axis
get_y_axis
matplotlibc                  l   t          t          j                            d                              d          ddg          } t          j                            d                              g dd          | d<   t          j                            d                              g dd          | d	<   | S )
N   )   r
   ABcolumnsabcr   CD)r   nprandomdefault_rngstandard_normalchoice)dfs    C:\Users\Terasoftware\OneDrive\Desktop\faahhh\fyndo\fyndo\venv\Lib\site-packages\pandas/tests/plotting/frame/test_hist_box_by.pyhist_dfr      s    	
	a  0099C:
 
 
B i##A&&--ooorBBBsGi##A&&--ooorBBBsGI    c                   2   e Zd Zej        j        ej                            dddg ddggdz  fdddgg dddggdz  fddg dddggdz  fddgdg d	dggdz  fddgddgg d	ddggdz  fddgdg d	ddggdz  fg          d
                         Zej                            dddg ddggdz  fddg dddggdz  fddgdg d	dggdz  fg          d             Zej                            dg dgfg ddgfddddgfg          d             Z	ej        j        ej                            ddgdddfddgdgddfddddgddfddgdddfddgdddfddgdgddfddgddgddfddgdddfddgddgddfg          d                         Z
ej                            ddddgdf ej        d          ddfd g          d!             Zej        j        d"             Zej        j        d#             Zej                            d$d%d&g          d'             ZdS )(TestHistWithByzby, column, titles, legendsr   r   r      r   Nr   z(a, a)z(b, b)z(c, c)c                     t          |j        j        ||d          }d |D             }d |D             }||k    sJ ||k    sJ d S )NT)columnbydefault_axesc                 6    g | ]}|                                 S  	get_title.0axs     r   
<listcomp>z=TestHistWithBy.test_hist_plot_by_argument.<locals>.<listcomp>I        777B777r   c                 T    g | ]%}d  |                                 j        D             &S )c                 6    g | ]}|                                 S r(   get_textr,   legends     r   r.   zHTestHistWithBy.test_hist_plot_by_argument.<locals>.<listcomp>.<listcomp>K   "    CCC6V__CCCr   
get_legendtextsr+   s     r   r.   z=TestHistWithBy.test_hist_plot_by_argument.<locals>.<listcomp>J   ?     
 
 
HJCCR]]__-BCCC
 
 
r   )r   plothist)	selfr%   r$   titleslegendsr   axesresult_titlesresult_legendss	            r   test_hist_plot_by_argumentz)TestHistWithBy.test_hist_plot_by_argument   s    R !Lf$
 
 
 87$777
 
NR
 
 
 ((((&&&&&&r   r   c                     |                                 }|                    ddi          }t          |j        j        d||          }d |D             }d |D             }	|	|k    sJ ||k    sJ d S )Nr   r   r   Tr&   r$   r%   c                 6    g | ]}|                                 S r(   r)   r+   s     r   r.   z6TestHistWithBy.test_hist_plot_by_0.<locals>.<listcomp>h   r/   r   c                 T    g | ]%}d  |                                 j        D             &S )c                 6    g | ]}|                                 S r(   r2   r4   s     r   r.   zATestHistWithBy.test_hist_plot_by_0.<locals>.<listcomp>.<listcomp>j   r6   r   r7   r+   s     r   r.   z6TestHistWithBy.test_hist_plot_by_0.<locals>.<listcomp>i   r:   r   )copyrenamer   r;   r<   )
r=   r%   r$   r>   r?   r   r   r@   rA   rB   s
             r   test_hist_plot_by_0z"TestHistWithBy.test_hist_plot_by_0Q   s    & \\^^YYQxY(( DTVWWW77$777
 
NR
 
 
 ((((&&&&&&r   
by, column)r(   Nr(   c                     d}t          j        t          |          5  t          |j        j        d||           d d d            d S # 1 swxY w Y   d S NzNo group keys passedmatchTrE   )pytestraises
ValueErrorr   r;   r<   r=   r%   r$   r   msgs        r   )test_hist_plot_empty_list_string_tuple_byz8TestHistWithBy.test_hist_plot_empty_list_string_tuple_byp   s     %]:S111 	 	!V   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	   A		AAby, column, layout, axes_numr
   r
   )r   r   rY   r!   )   r!   )r   Nr!   rZ   r!   r[   )	   rZ   )r!   r!   )   r
   c                     t          j        t          d          5  t          |j        j        |||          }d d d            n# 1 swxY w Y   t          |||           d S )NF)check_stacklevelr$   r%   layoutaxes_numra   )tmassert_produces_warningUserWarningr   r;   r<   r   r=   r%   r$   ra   rc   r   r@   s          r   test_hist_plot_layout_with_byz,TestHistWithBy.test_hist_plot_layout_with_by   s    ( 'eLLL 	 	$!&R  D	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	$&AAAAAAs   AA
A
msg, by, layoutlarger than required sizerZ   rZ   )Layout must be a tuple of (rows, columns)rZ   z1At least one dimension of layout must be positiver   )ro   c                     t          j        t          |          5  |j                            ddg||           d d d            d S # 1 swxY w Y   d S NrO   r   r   r`   )rQ   rR   rS   r;   r<   r=   rU   r%   ra   r   s        r   ,test_hist_plot_invalid_layout_with_by_raisesz;TestHistWithBy.test_hist_plot_invalid_layout_with_by_raises   s     ]:S111 	G 	GLc3ZBvFFF	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G 	G    A		AAc                    |j                             ddd          \  }}}t          |                              ||          sJ t          |                              ||          sJ t          |                              ||          sJ t          |                              ||          sJ t	          |                              ||          rJ t	          |                              ||          rJ t	          |                              ||          rJ t	          |                              ||          rJ d S )Nr   r   T)r$   r%   sharex)r;   r<   r   joinedr   r=   r   ax1ax2ax3s        r   test_axis_share_x_with_byz(TestHistWithBy.test_axis_share_x_with_by   @     ))T)JJS# #%%c3/////#%%c3/////#%%c3/////#%%c3///// c??))#s33333c??))#s33333c??))#s33333c??))#s3333333r   c                    |j                             ddd          \  }}}t          |                              ||          sJ t          |                              ||          sJ t          |                              ||          sJ t          |                              ||          sJ t	          |                              ||          rJ t	          |                              ||          rJ t	          |                              ||          rJ t	          |                              ||          rJ d S )Nr   r   T)r$   r%   sharey)r;   r<   r   rw   r   rx   s        r   test_axis_share_y_with_byz(TestHistWithBy.test_axis_share_y_with_by   r}   r   figsize         
   c                 d    |j                             dd|          }t          |d|           d S )Nr   r   r$   r%   r   r!   rc   r   )r;   r<   r   r=   r   r   r@   s       r   test_figure_shape_hist_with_byz-TestHistWithBy.test_figure_shape_hist_with_by   s;     |  W EE$G<<<<<<r   )__name__
__module____qualname__rQ   markslowparametrizerC   rK   rV   rh   reescapers   r|   r   r   r(   r   r   r    r       s       [[%##!43*oooc
|a/?@$3*)9:c
  
 !	 c
c
  
 sq 	 c
  
 sq 	1"	
% %L' 'M% % N' [%___ugk2oooc
|a'78C  
 !		
 "' '# "' [#K#s#s		
    [[&UC#!USE61%"3*fa(3Zfa(3Zfa(3Z#*3Z#sVQ/3Zvq)3Z#sVQ/	
  B B!  "B [(3*f=RYBCCS$OP	
 G G G [4 4 4  [4 4 4  [Y((;<<= = =<= = =r   r    c                   2   e Zd Zej                            ddddgg dgfddgddgg dgfdddgddgg dgdz  fddgddgddgg dgdz  fdgd	ddgg dgdz  fg          d
             Zej                            ddddgg dgfddgddgg dgfdd	ddgg dgdz  fg          d             Zej                            dg dgfdg d	fdddgfg          d             Zej        j	        ej                            ddgdddfdddddgddfddgdddfddgd	ddfg          d                         Z
ej                            ddddgdf ej        d          ddfdg          d             Zej                            ddd g          d!             Zd	S )"TestBoxWithByzby, column, titles, xticklabelsr   r   r   r   r"   r   r
   Nc                     t          |j        j        d||          }d |D             }d |D             }||k    sJ ||k    sJ d S )NTrE   c                 6    g | ]}|                                 S r(   r)   r+   s     r   r.   z;TestBoxWithBy.test_box_plot_by_argument.<locals>.<listcomp>   r/   r   c                 J    g | ] }d  |                                 D             !S )c                 6    g | ]}|                                 S r(   r2   r,   labels     r   r.   zFTestBoxWithBy.test_box_plot_by_argument.<locals>.<listcomp>.<listcomp>   "    @@@%U^^@@@r   get_xticklabelsr+   s     r   r.   z;TestBoxWithBy.test_box_plot_by_argument.<locals>.<listcomp>   @     
 
 
EG@@2+=+=+?+?@@@
 
 
r   )r   r;   box)	r=   r%   r$   r>   xticklabelsr   r@   rA   result_xticklabelss	            r   test_box_plot_by_argumentz'TestBoxWithBy.test_box_plot_by_argument   s    F !L42
 
 
 87$777
 
KO
 
 
 "[0000&&&&&&r   r   c                     |                                 }|                    ddi          }t          |j        j        d||          }d |D             }d |D             }	|	|k    sJ ||k    sJ d S )Nr   r   r   TrE   c                 6    g | ]}|                                 S r(   r)   r+   s     r   r.   z4TestBoxWithBy.test_box_plot_by_0.<locals>.<listcomp>  r/   r   c                 J    g | ] }d  |                                 D             !S )c                 6    g | ]}|                                 S r(   r2   r   s     r   r.   z?TestBoxWithBy.test_box_plot_by_0.<locals>.<listcomp>.<listcomp>  r   r   r   r+   s     r   r.   z4TestBoxWithBy.test_box_plot_by_0.<locals>.<listcomp>  r   r   )rI   rJ   r   r;   r   )
r=   r%   r$   r>   r   r   r   r@   rA   r   s
             r   test_box_plot_by_0z TestBoxWithBy.test_box_plot_by_0  s    * \\^^YYQxY(( 4SUVVV77$777
 
KO
 
 
 "[0000&&&&&&r   rL   )r(   r   r(   c                     d}t          j        t          |          5  t          |j        j        d||           d d d            d S # 1 swxY w Y   d S rN   )rQ   rR   rS   r   r;   r   rT   s        r   %test_box_plot_with_none_empty_list_byz3TestBoxWithBy.test_box_plot_with_none_empty_list_by"  s     %]:S111 	Y 	Ygl.T&UWXXXX	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	Y 	YrW   rX   rk   rZ   )r   r   rk   rZ   )r   N)r
   rZ   r
   )rZ   r
   c                 f    t          |j        j        d|||          }t          |||           d S )NT)r&   r$   r%   ra   rb   )r   r;   r   r   rg   s          r   test_box_plot_layout_with_byz*TestBoxWithBy.test_box_plot_layout_with_by1  sE     !L42f
 
 
 	$&AAAAAAr   ri   rj   rl   rm   rn   c                     t          j        t          |          5  |j                            ddg||           d d d            d S # 1 swxY w Y   d S rq   )rQ   rR   rS   r;   r   rr   s        r   +test_box_plot_invalid_layout_with_by_raisesz9TestBoxWithBy.test_box_plot_invalid_layout_with_by_raisesD  s     ]:S111 	F 	FLS#J2fEEE	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	Frt   r   r   r   c                 d    |j                             dd|          }t          |d|           d S )Nr   r   r   rZ   r   )r;   r   r   r   s       r   r   z,TestBoxWithBy.test_figure_shape_hist_with_byR  s;     |ssGDD$G<<<<<<r   )r   r   r   rQ   r   r   r   r   r   r   r   r   r   r   r   r(   r   r   r   r      s       [)#u/0c
  	 3*sCj???*;a*?@c
c
c
   	 UD3*&7!&;<9	
   B' 'C   B' [)cU___-.C  	 sCj???"3a"78	
 &' '' &' [#KJ#s		
 Y Y Y [[&UC#!"3*fa(3Zfa(3Zvq)	

 
B B
 
 B [(3*f=RYBCCS$OP	
 F F F [Y((;<<= = =<= = =r   r   )r   numpyr   rQ   pandasr   pandas._testing_testingrd   pandas.tests.plotting.commonr   r   r   r   importorskipfixturer   r    r   r(   r   r   <module>r      s"   				                              L ! ! !   s= s= s= s= s= s= s= s=lD= D= D= D= D= D= D= D= D= D=r   