
    Eg(                         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 d dl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)Version
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                    ddl m} ddlm} t	          ddddddddg          }|                    dd	d
dd
          }|                    dddd |d           |                                }t          t          j	                  t          d          k     r|j
        }n|j        }t          |d         |          sJ t          |d         |          sJ d S )Nr   )LineCollection)Line2D   )xab      r   r   orangeg?)cyerrlabelr   blue)r   r   axr   3.7)matplotlib.collectionsr   matplotlib.linesr   r   plot
get_legendr   mpl__version__legendHandleslegend_handles
isinstance)selfr   r   dfr   legendresult_handless          b/var/www/sysmax/venv/lib/python3.11/site-packages/pandas/tests/plotting/frame/test_frame_legend.pytest_mixed_yerrzTestFrameLegend.test_mixed_yerr   s     	:99999++++++aaa002J2JKLLWWS#8WDD
SF"FCCC3?##genn44#1NN#2N.+^<<<<<.+V4444444    c                    t          ddgddgd          }t          dddgi          }|                    ddd	dd
          }|                    dddi|           |                                }t          t          j                  t          d          k     r|j        }n|j        }d |D             }g d}||k    sJ d S )Nr   r   r   )r   r   dg      @Tr   greenr   )r(   colorsecondary_yred)r(   r0   r   r   c                 6    g | ]}|                                 S  )	get_color).0handles     r*   
<listcomp>z5TestFrameLegend.test_legend_false.<locals>.<listcomp>:   s$    ;;;&""$$;;;r,   )r   r/   r2   )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3?##genn44*GG+G;;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   rJ   unionlistreversed)r&   r>   r'   r9   df3df4r   r<   s           r*   test_df_legend_labelsz%TestFrameLegend.test_df_legend_labels>   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 )NrF   r   rG   rH   rI   rK   rN   Tr   r(   r1   r   	b (right)r   rV   Fr(   r   r@   rP   )r>   r(   r1   r   )r   rg   r   rO   z	h (right)rQ   )rY   rZ   r   r[   r\   r]   r   r   )r&   r'   r9   ra   r   s        r*   !test_df_legend_labels_secondary_yz1TestFrameLegend.test_df_legend_labels_secondary_yY   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 )NrF   1/1/2014r   periodsr   rG   rH   rJ   indexrK   rN   Tr   re   rf   rV   Frh   )r   rg   r   rO   rP   rQ   )
rY   rZ   r   r   r[   r\   r]   standard_normalr   r   r&   indr'   r9   ra   r   s         r*   !test_df_legend_labels_time_seriesz1TestFrameLegend.test_df_legend_labels_time_seriesj   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 )NrF   rk   r   rl   r   rG   rH   rn   rK   rN   r   r   data1)r   yr   rV   r.   rL   Fdata2)r   rv   r(   r   r   rO   rP   data3)r   rv   r   r   )rY   rZ   r   r   r[   r\   r]   rp   r   scatterr   rq   s         r*   )test_df_legend_labels_time_series_scatterz9TestFrameLegend.test_df_legend_labels_time_series_scatter   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 )NrF   rk   r   rl   r   rG   rH   rn   r   r   )rv   rV   LABEL_b)rv   r   r   LABEL_c)rv   r   r   )rY   rZ   r   r   r[   r\   r]   rp   	set_indexr   r   r   xaxis	get_labelrJ   tolist)r&   rr   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   rrO   r   )datarJ   r   r   )nrowsncolsr   r   r   o)r   rv   	linewidthmarkerr0   r   rO   r   )r   rO   r   rV   )r   r   r   expected_markers)r   r   rO   )r   r   r   r   )rO   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   rv   r   rv   rI   group
individualzgroup,individual)   r   Trh   newF)r   r[   r\   r]   rp   arrayrJ   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@   rA   rB   rF   )marksrC   rD   c                     t          t          j                            d                              d          g d          }|                    |d          }t          |d           d S )Nr   rG   rH   rI   FrU   )visible)r   r[   r\   r]   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CrI   r   r   solid)rv   r   	linestyler   r   dotted)rv   r   r   r   r   <rV   )r   r   r   r   )r   r[   r\   r]   rp   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   rV   )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__rY   markxfailr+   r=   parametrizerc   ri   rs   rz   r   r   r   paramtd
skip_if_nor   r   r   r4   r,   r*   r   r      s       [D   5 5 5&" " "  [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   )numpyr[   rY   pandas.util._test_decoratorsutil_test_decoratorsr   pandasr   r   pandas.tests.plotting.commonr   r   r   pandas.util.versionr   rZ   r!   r   r4   r,   r*   <module>r      s         ) ) ) ) ) ) ) ) )                
 ( ' ' ' ' 'f,''|C |C |C |C |C |C |C |C |C |Cr,   