
    Owg(                         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y)    N)	DataFrame
date_range)_check_legend_labels_check_legend_marker_check_text_labels)Version
matplotlibc                   b   e Zd Zej                  j                  d      d        Zd Zej                  j                  dg d      d        Z	d Z
d	 Zd
 Zd Zd Zd Zej                  j                  dddd ej                   d ej$                  d            ddg      d        Zd Zd Zy)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      }|j                  dd	d
dd
      }|j                  dddd |d       |j                         }t        t        j                        t        d      k  r|j                  }n|j                  }t        |d   |      sJ t        |d   |      sJ y )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          d/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/plotting/frame/test_frame_legend.pytest_mixed_yerrzTestFrameLegend.test_mixed_yerr   s     	:+aaa02JKLWWS#8WD
SF"FC3??#gen4#11N#22N.+^<<<.+V444    c                    t        ddgddgd      }t        dddgi      }|j                  ddd	dd
      }|j                  dddi|       |j                         }t        t        j
                        t        d      k  r|j                  }n|j                  }|D cg c]  }|j                          }}g d}||k(  sJ y c c}w )Nr   r   r   )r   r   dg      @Tr   greenr   )r(   colorsecondary_yred)r(   r0   r   r   )r   r/   r2   )	r   r   r    r   r!   r"   r#   r$   	get_color)	r&   r'   df2r   r(   handleshandleresultexpecteds	            r*   test_legend_falsez!TestFrameLegend.test_legend_false.   s    aV1a&12sCj)*WWDf7(CQTWUS%LR83??#gen4**G++G3:;&""$;;+!!! <s   !Ckind)linebarbarhkdeareahistc                    t        j                  d       t        t        j                  j                  d      j	                  d      g d      }t        t        j                  j                  d      j	                  d      g d      }t        t        j                  j                  d      j	                  d      g d      }t        t        j                  j                  d      j	                  d      g d      }|j                  |d	
      }t        ||j                         |j                  |d|      }t        ||j                         |j                  |d	|      }t        ||j                  j                  |j                               |j                  |d|      }t        |j                  j                  |j                              t        t        |j                              z   }t        ||       y )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'   r4   df3df4r   r8   s           r*   test_df_legend_labelsz%TestFrameLegend.test_df_legend_labels>   sx   G$ryy,,Q/66v>XII!!!$++F3_
 II!!!$++F3_
 II!!!$++F3_
 WW$tW,R

3XX4"X5R

3XX4X4R

(8(8(EFXX4	bX9

((56hs{{>S9TTR1r,   c                 `   t        j                  d       t        t        j                  j                  d      j	                  d      g d      }t        t        j                  j                  d      j	                  d      g d      }t        t        j                  j                  d      j	                  d      g d      }|j                  dd	
      }t        |g d       |j                  d|      }t        |g d       |j                  ddd|      }t        |g d       y )NrB   r   rC   rD   rE   rG   rJ   Tr   r(   r1   r   	b (right)r   rR   Fr(   r   r<   rL   )r:   r(   r1   r   )r   rc   r   rK   z	h (right)rM   )rU   rV   r   rW   rX   rY   r   r   )r&   r'   r4   r]   r   s        r*   !test_df_legend_labels_secondary_yz1TestFrameLegend.test_df_legend_labels_secondary_yY   s    G$ryy,,Q/66v>XII!!!$++F3_
 II!!!$++F3_
 WWDcW2R(?@XXUrX*R(?@XX532XFR(VWr,   c                 |   t        j                  d       t        dd      }t        t        j
                  j                  d      j                  d      g d|      }t        t        j
                  j                  d      j                  d      g d	|      }t        t        j
                  j                  d      j                  d      g d
|      }|j                  dd      }t        |g d       |j                  d|      }t        |g d       |j                  d|      }t        |g d       y )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'   r4   r]   r   s         r*   !test_df_legend_labels_time_seriesz1TestFrameLegend.test_df_legend_labels_time_seriesj   s    G$Q/II!!!$44V<#

 II!!!$44V<#

 II!!!$44V<#

 WWDcW2R(?@XXUrX*R(?@XXTbX)R(NOr,   c                    t        j                  d       t        dd      }t        t        j
                  j                  d      j                  d      g d|      }t        t        j
                  j                  d      j                  d      g d	|      }t        t        j
                  j                  d      j                  d      g d
|      }|j                  j                  ddd      }t        |dg       |j                  j                  dddd|      }t        |dg       |j                  j                  ddd|      }t        |ddg       y )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_scatter   s$   G$Q/II!!!$44V<#

 II!!!$44V<#

 II!!!$44V<#
 WW__sc_9R	2XXs5BOR	2XXs'bAR'(:;r,   c                 4   t        j                  d       t        dd      }t        t        j
                  j                  d      j                  d      g d|      }|j                  d	      }|j                  d
      }t        |d
g       |j                  d
d      }t        |dg       t        |j                  j                         d	       |j                  dd|      }t        |ddg       |j                  j                         d
dgk(  sJ y )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/II!!!$44V<#
 ll3XXX_R.XX9X-R4288--/5XX9X4RI(>?{{!!#Sz111r,   c           	      "   t        g dg dgg d      }t        j                  j                  dd      \  }}|j	                  dd	d
dd	|d
          |j	                  ddddd|d
          |j	                  ddddd|d
          t        |d
   g d       t        |d
   g d       |j	                  ddddd|d          |j	                  dd	d
dd	|d          |j	                  ddddd|d          t        |d   g d       t        |d   g d       |j	                  ddddd|d          |j	                  ddddd|d          |j	                  dd	d
dd	|d          t        |d   g d       t        |d   g d       y )N)r   r   r   r   )r   r         )r   rrK   r   )datarF   r   r   )nrowsncolsr   r   r   o)r   rr   	linewidthmarkerr0   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   \<8BVW

##!1#52
##SRUK
##SRUK
##SRUKRU?;RU_E
##SRUK
##SRUK
##SRUKRU?;RU_E
##SRUK
##SRUK
##SRUKRU?;RU_Er,   c                 F   t        t        j                  j                  d      j	                  d      t        j
                  g d      t        j
                  g d      g      }ddg|j                  _        |j                         }|j                  j                         }t        |d       t        t        j                  j                  d      j	                  d	            }|j                  d
|      }|j                  j                         }t        |d       d|j                  _        |j                  d|      }|j                  j                         }t        |d       |j                  d
|      }|j                  j                         }t        |d       y )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;   II!!!$44V<XX23RXX>R5ST
  '5ZZ\JJ((*	9&89ryy,,Q/??GHWWDRW(JJ((*	9&89

WWEbW)JJ((*	9&89WWDRW(JJ((*	9e,r,   r;   r<   r=   r>   rB   )marksr?   r@   c                     t        t        j                  j                  d      j                  d      g d      }|j	                  |d      }t        |d       y )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     ryy,,Q/66v>XWW$uW-R/r,   c                 8   t        t        j                  j                  d      j	                  d      g d      }|j                  dgdd      }|j                  d	gd
d|       |j                  dgdd|       t        |g d       t        |g d       y )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    II!!!$44V<o
 WWuSGW<
3%xB?
3%xB?R8R/Br,   c                     t        g dg dg dg dd      }t        j                  j                         \  }}dD ]  }|j	                  d|||d        t        |g d	
       t        |g d       y )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   sp    ''''	
 

##%2 	=DGGCTbG<	= 	R8R/Br,   N)__name__
__module____qualname__rU   markxfailr+   r9   parametrizer_   re   ro   rv   r   r   r   paramtd
skip_if_nor   r   r    r,   r*   r   r      s    [[D  55&"  [[V%ST2 U24X"P4<62*F.-2 [[FLLmbmmG&<=	

0
0

CCr,   r   )numpyrW   rU   pandas.util._test_decoratorsutil_test_decoratorsr   pandasr   r   pandas.tests.plotting.commonr   r   r   pandas.util.versionr   rV   r!   r   r   r,   r*   <module>r      sE      ) ) 
 (f,'|C |Cr,   