
    Pii'                         d dl Zd dlZd dlmc mZ d dlmZm	Z	 d dl
mZmZmZ  ej        d          Z G d d          ZdS )    N)	DataFrame
date_range)_check_legend_labels_check_legend_marker_check_text_labels
matplotlibc                   h   e Zd Zej                            d          d             Zd Zej                            dg d          d             Z	d Z
d	 Zd
 Zd Zd Zd Zej                            dddd ej        d ej        d                    ddg          d             Zd Zd ZdS )TestFrameLegendzLOpen bug in matplotlib https://github.com/matplotlib/matplotlib/issues/11357)reasonc                 t   t          ddddddddg          }|                    ddddd	          }|                    dd
dd |d           |                                }|j        }t	          |d         t
          j        j                  sJ t	          |d         t
          j        j	                  sJ d S )N   )xab      r   r   orangeg?)cyerrlabelr   blue)r   r   axr   r   )
r   plot
get_legendlegend_handles
isinstancemplcollectionsLineCollectionlinesLine2D)selfdfr   legendresult_handless        /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/plotting/frame/test_frame_legend.pytest_mixed_yerrzTestFrameLegend.test_mixed_yerr   s     aaa002J2JKLLWWS#8WDD
SF"FCCC..+S_-KLLLLL.+SY-=>>>>>>>    c                 (   t          ddgddgd          }t          dddgi          }|                    ddd	dd
          }|                    dddi|           |                                }|j        }d |D             }g d}||k    sJ d S )Nr   r   r   )r   r   dg      @Tr   greenr   )r$   colorsecondary_yred)r$   r,   r   c                 6    g | ]}|                                 S  )	get_color).0handles     r&   
<listcomp>z5TestFrameLegend.test_legend_false.<locals>.<listcomp>0   s$    ;;;&""$$;;;r(   )r   r+   r.   )r   r   r   r   )r"   r#   df2r   r$   handlesresultexpecteds           r&   test_legend_falsez!TestFrameLegend.test_legend_false'   s    aV1a&1122sCj)**WWDf7(C(CQTWUUS%LR888';;7;;;+++!!!!!!r(   kind)linebarbarhkdeareahistc                 v   t          j        d           t          t          j                            d                              d          g d          }t          t          j                            d                              d          g d          }t          t          j                            d                              d          g d          }t          t          j                            d                              d          g d          }|                    |d	
          }t          ||j                   |                    |d|          }t          ||j                   |                    |d	|          }t          ||j        	                    |j                             |                    |d|          }t          |j        	                    |j                            t          t          |j                            z   }t          ||           d S )Nscipyr   r   r   r   r   r   columnsr*   efghi)jklTr:   r$   labelsF)r:   r$   r   reverse)pytestimportorskipr   nprandomdefault_rngr   r   rF   unionlistreversed)r"   r:   r#   r5   df3df4r   r8   s           r&   test_df_legend_labelsz%TestFrameLegend.test_df_legend_labels4   s   G$$$ry,,Q//66v>>XXXI!!!$$++F33___
 
 
 I!!!$$++F33___
 
 
 I!!!$$++F33___
 
 
 WW$tW,,R
3333XX4"X55R
3333XX4X44R
(8(8(E(EFFFFXX4	bX99
((5566hs{>S>S9T9TTR111111r(   c                    t          j        d           t          t          j                            d                              d          g d          }t          t          j                            d                              d          g d          }t          t          j                            d                              d          g d          }|                    dd	
          }t          |g d           |                    d|          }t          |g d           |                    ddd|          }t          |g d           d S )NrB   r   rC   rD   rE   rG   rJ   Tr   r$   r-   r   	b (right)r   rR   Fr$   r   r<   rL   )r:   r$   r-   r   )r   rc   r   rK   z	h (right)rM   )rU   rV   r   rW   rX   rY   r   r   )r"   r#   r5   r]   r   s        r&   !test_df_legend_labels_secondary_yz1TestFrameLegend.test_df_legend_labels_secondary_yO   sX   G$$$ry,,Q//66v>>XXXI!!!$$++F33___
 
 
 I!!!$$++F33___
 
 
 WWDcW22R(?(?(?@@@@XXUrX**R(?(?(?@@@@XX532XFFR(V(V(VWWWWWWr(   c                    t          j        d           t          dd          }t          t          j                            d                              d          g d|          }t          t          j                            d                              d          g d	|          }t          t          j                            d                              d          g d
|          }|                    dd          }t          |g d           |                    d|          }t          |g d           |                    d|          }t          |g d           d S )NrB   1/1/2014r   periodsr   rC   rD   rF   indexrG   rJ   Tr   ra   rb   rR   Frd   )r   rc   r   rK   rL   rM   )
rU   rV   r   r   rW   rX   rY   standard_normalr   r   r"   indr#   r5   r]   r   s         r&   !test_df_legend_labels_time_seriesz1TestFrameLegend.test_df_legend_labels_time_series`   s{   G$$$Q///I!!!$$44V<<#OO
 
 

 I!!!$$44V<<#OO
 
 

 I!!!$$44V<<#OO
 
 

 WWDcW22R(?(?(?@@@@XXUrX**R(?(?(?@@@@XXTbX))R(N(N(NOOOOOOr(   c                 
   t          j        d           t          dd          }t          t          j                            d                              d          g d|          }t          t          j                            d                              d          g d	|          }t          t          j                            d                              d          g d
|          }|j        	                    ddd          }t          |dg           |j        	                    dddd|          }t          |dg           |j        	                    ddd|          }t          |ddg           d S )NrB   rg   r   rh   r   rC   rD   rj   rG   rJ   r   r   data1)r   yr   rR   r*   rH   Fdata2)r   rr   r$   r   r   rK   rL   data3)r   rr   r   r   )rU   rV   r   r   rW   rX   rY   rl   r   scatterr   rm   s         r&   )test_df_legend_labels_time_series_scatterz9TestFrameLegend.test_df_legend_labels_time_series_scatterz   s   G$$$Q///I!!!$$44V<<#OO
 
 

 I!!!$$44V<<#OO
 
 

 I!!!$$44V<<#OO
 
 
 W__sc_99R	2222Xs5BOOR	2222Xs'bAAR'(:;;;;;;r(   c                    t          j        d           t          dd          }t          t          j                            d                              d          g d|          }|                    d	          }|	                    d
          }t          |d
g           |	                    d
d          }t          |dg           t          |j                                        d	           |	                    dd|          }t          |ddg           |j                                        d
dgk    sJ d S )NrB   rg   r   rh   r   rC   rD   rj   r   r   )rr   rR   LABEL_b)rr   r   r   LABEL_c)rr   r   r   )rU   rV   r   r   rW   rX   rY   rl   	set_indexr   r   r   xaxis	get_labelrF   tolist)r"   rn   r#   df5r   s        r&   +test_df_legend_labels_time_series_no_mutatez;TestFrameLegend.test_df_legend_labels_time_series_no_mutate   s=   G$$$Q///I!!!$$44V<<#OO
 
 
 ll3XXX__R....XX9X--R444428--//555XX9X44RI(>????{!!##Sz111111r(   c           	         t          g dg dgg d          }t          j                            dd          \  }}|                    dd	d
dd	|d
                    |                    ddddd|d
                    |                    ddddd|d
                    t          |d
         g d           t          |d
         g d           |                    ddddd|d                    |                    dd	d
dd	|d                    |                    ddddd|d                    t          |d         g d           t          |d         g d           |                    ddddd|d                    |                    ddddd|d                    |                    dd	d
dd	|d                    t          |d         g d           t          |d         g d           d S )N)r   r   r   r   )r   r         )r   rrK   r   )datarF   r   r   )nrowsncolsr   r   r   o)r   rr   	linewidthmarkerr,   r   rK   r   )r   rK   r   rR   )r   r   r   expected_markers)r   r   rK   )r   r   r   r   )rK   r   r   )r   r   r   r   r   pyplotsubplotsr   r   r   )r"   r#   _r   s       r&   *test_missing_marker_multi_plots_on_same_axz:TestFrameLegend.test_missing_marker_multi_plots_on_same_ax   s    \\\<<<8BVBVBVWWW
##!1#552
##SRUKKK
##SRUKKK
##SRUKKKRU???;;;;RU___EEEE
##SRUKKK
##SRUKKK
##SRUKKKRU???;;;;RU___EEEE
##SRUKKK
##SRUKKK
##SRUKKKRU???;;;;RU___EEEEEEr(   c                    t          t          j                            d                              d          t          j        g d          t          j        g d          g          }ddg|j        _        |                                }|j	        
                                }t          |d           t          t          j                            d                              d	                    }|                    d
|          }|j	        
                                }t          |d           d|j        _        |                    d|          }|j	        
                                }t          |d           |                    d
|          }|j	        
                                }t          |d           d S )Nr   )r   r   )r   r   r   r   )r   rr   r   rr   rE   group
individualzgroup,individual)   r   Trd   newF)r   rW   rX   rY   rl   arrayrF   namesr   legend_	get_titler   name)r"   multir   	leg_titler#   s        r&   test_legend_namez TestFrameLegend.test_legend_name   s   I!!!$$44V<<X22233RX>R>R>R5S5ST
 
 
  '5ZZ\\J((**	9&8999ry,,Q//??GGHHWWDRW((J((**	9&8999
WWEbW))J((**	9&8999WWDRW((J((**	9e,,,,,r(   r;   r<   r=   r>   rB   )marksr?   r@   c                     t          t          j                            d                              d          g d          }|                    |d          }t          |d           d S )Nr   rC   rD   rE   FrQ   )visible)r   rW   rX   rY   r   r   )r"   r:   r#   r   s       r&   test_no_legendzTestFrameLegend.test_no_legend   sf     ry,,Q//66v>>XXXWW$uW--R//////r(   c                 r   t          t          j                            d                              d          g d          }|                    dgdd          }|                    d	gd
d|           |                    dgdd|           t          |g d           t          |g d           d S )Nr   )r   r   ABCrE   r   r   solid)rr   r   	linestyler   r   dotted)rr   r   r   r   r   <rR   )r   r   r   r   )r   rW   rX   rY   rl   r   r   r   )r"   r#   r   s      r&   test_missing_markers_legendz+TestFrameLegend.test_missing_markers_legend   s    I!!!$$44V<<ooo
 
 
 WWuSGW<<
3%xB???
3%xB???R8888R///BBBBBBr(   c                 
   t          g dg dg dg dd          }t          j                                        \  }}dD ]}|                    d|||d           t          |g d	
           t          |g d           d S )N)r   r   r   r   r      )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   XABCr   .)r   r   styler   rR   )r   r   r   r   r   )r"   r#   r   r   r:   s        r&   'test_missing_markers_legend_using_stylez7TestFrameLegend.test_missing_markers_legend_using_style   s    ''''''''''''	 
 
 
##%%2 	= 	=DGGCTbG<<<<R8888R///BBBBBBr(   N)__name__
__module____qualname__rU   markxfailr'   r9   parametrizer_   re   ro   rv   r   r   r   paramtd
skip_if_nor   r   r   r0   r(   r&   r
   r
      s       [D   ? ? ?" " " [V%S%S%STT2 2 UT24X X X"P P P4< < <62 2 2*F F F.- - -2 [FLmbmG&<&<===	

 
0 0
 
0

C 
C 
CC C C C Cr(   r
   )numpyrW   rU   pandas.util._test_decoratorsutil_test_decoratorsr   pandasr   r   pandas.tests.plotting.commonr   r   r   rV   r   r
   r0   r(   r&   <module>r      s         ) ) ) ) ) ) ) ) )                 f,''sC sC sC sC sC sC sC sC sC sCr(   