
    Mh(                         S SK rS SKrS SKJs  Jr  S SKJrJ	r	  S SK
JrJrJr  S SKJr  \R                   " S5      r " S S5      rg)    N)	DataFrame
date_range)_check_legend_labels_check_legend_marker_check_text_labels)Version
matplotlibc                   ^   \ rS rSr\R
                  R                  SS9S 5       rS r\R
                  R                  S/ SQ5      S 5       r
S	 rS
 rS rS rS rS r\R
                  R                  SSSS\R"                  " S\R&                  " S5      S9SS/5      S 5       rS rS rSrg)TestFrameLegend   zLOpen bug in matplotlib https://github.com/matplotlib/matplotlib/issues/11357)reasonc           	         SSK Jn  SSKJn  [	        SSSS.SSSS./5      nUR                  SS	S
SS
S9nUR                  SSSS USS9  UR                  5       n[        [        R                  5      [        S5      :  a  UR                  nOUR                  n[        US   U5      (       d   e[        US   U5      (       d   eg )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          _/var/www/html/env/lib/python3.13/site-packages/pandas/tests/plotting/frame/test_frame_legend.pytest_mixed_yerr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4    c                    [        SS/SS/S.5      n[        SSS/05      nUR                  SSS	S.S
S9nUR                  SSS0US9  UR                  5       n[        [        R
                  5      [        S5      :  a  UR                  nOUR                  nU Vs/ s H  ofR                  5       PM     nn/ SQnXx:X  d   eg s  snf )Nr   r   r   )r   r   dg      @Tr   greenr   )r)   colorsecondary_yred)r)   r2   r   r   )r   r1   r4   )	r   r    r!   r   r"   r#   r$   r%   	get_color)	r'   r(   df2r   r)   handleshandleresultexpecteds	            r+   test_legend_false!TestFrameLegend.test_legend_false.   s    aV1a&12sCj)*WWDf7(CQTWUS%LR83??#gen4**G++G3:;7""$7;+!!! <s   Ckind)linebarbarhkdeareahistc                    [         R                  " S5        [        [        R                  R                  S5      R	                  S5      / SQS9n[        [        R                  R                  S5      R	                  S5      / SQS9n[        [        R                  R                  S5      R	                  S5      / SQS9n[        [        R                  R                  S5      R	                  S5      / SQS9nUR                  US	S
9n[        XbR                  S9  UR                  USUS9n[        XbR                  S9  UR                  US	US9n[        XbR                  R                  UR                  5      S9  UR                  USUS9n[        UR                  R                  UR                  5      5      [        [        UR                  5      5      -   n[        XgS9  g )Nscipyr   r   r   r   r   r   columnsr0   efghi)jklTr=   r)   labelsF)r=   r)   r   reverse)pytestimportorskipr   nprandomdefault_rngr    r   rI   unionlistreversed)r'   r=   r(   r6   df3df4r   r:   s           r+   test_df_legend_labels%TestFrameLegend.test_df_legend_labels>   sp   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                 ,   [         R                  " S5        [        [        R                  R                  S5      R	                  S5      / SQS9n[        [        R                  R                  S5      R	                  S5      / SQS9n[        [        R                  R                  S5      R	                  S5      / SQS9nUR                  SS	S
9n[        U/ SQS9  UR                  SUS9n[        U/ SQS9  UR                  SSSUS9n[        U/ SQS9  g )NrE   r   rF   rG   rH   rJ   rM   Tr   r)   r3   r   	b (right)r   rU   Fr)   r   r?   rO   )r=   r)   r3   r   )r   rg   r   rN   z	h (right)rP   )rX   rY   r   rZ   r[   r\   r    r   )r'   r(   r6   r`   r   s        r+   !test_df_legend_labels_secondary_y1TestFrameLegend.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                 B   [         R                  " S5        [        SSS9n[        [        R
                  R                  S5      R                  S5      / SQUS9n[        [        R
                  R                  S5      R                  S5      / S	QUS9n[        [        R
                  R                  S5      R                  S5      / S
QUS9nUR                  SSS9n[        U/ SQS9  UR                  SUS9n[        U/ SQS9  UR                  SUS9n[        U/ SQS9  g )NrE   1/1/2014r   periodsr   rF   rG   rI   indexrJ   rM   Tr   re   rf   rU   Frh   )r   rg   r   rN   rO   rP   )
rX   rY   r   r   rZ   r[   r\   standard_normalr    r   r'   indr(   r6   r`   r   s         r+   !test_df_legend_labels_time_series1TestFrameLegend.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                    [         R                  " S5        [        SSS9n[        [        R
                  R                  S5      R                  S5      / SQUS9n[        [        R
                  R                  S5      R                  S5      / S	QUS9n[        [        R
                  R                  S5      R                  S5      / S
QUS9nUR                  R                  SSSS9n[        US/S9  UR                  R                  SSSSUS9n[        US/S9  UR                  R                  SSSUS9n[        USS/S9  g )NrE   rl   r   rm   r   rF   rG   ro   rJ   rM   r   r   data1)r   yr   rU   r0   rK   Fdata2)r   rx   r)   r   r   rN   rO   data3)r   rx   r   r   )rX   rY   r   r   rZ   r[   r\   rq   r    scatterr   rr   s         r+   )test_df_legend_labels_time_series_scatter9TestFrameLegend.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                    [         R                  " S5        [        SSS9n[        [        R
                  R                  S5      R                  S5      / SQUS9nUR                  S	5      nUR                  S
S9n[        US
/S9  UR                  S
SS9n[        US/S9  [        UR                  R                  5       S	5        UR                  SSUS9n[        USS/S9  UR                  R                  5       S
S/:X  d   eg )NrE   rl   r   rm   r   rF   rG   ro   r   r   )rx   rU   LABEL_b)rx   r   r   LABEL_c)rx   r   r   )rX   rY   r   r   rZ   r[   r\   rq   	set_indexr    r   r   xaxis	get_labelrI   tolist)r'   rs   r(   df5r   s        r+   +test_df_legend_labels_time_series_no_mutate;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           	         [        / SQ/ SQ// SQS9n[        R                  R                  SSS9u  p#UR	                  SS	S
SS	US
   S9  UR	                  SSSSSUS
   S9  UR	                  SSSSSUS
   S9  [        US
   / SQS9  [        US
   / SQS9  UR	                  SSSSSUS   S9  UR	                  SS	S
SS	US   S9  UR	                  SSSSSUS   S9  [        US   / SQS9  [        US   / SQS9  UR	                  SSSSSUS   S9  UR	                  SSSSSUS   S9  UR	                  SS	S
SS	US   S9  [        US   / SQS9  [        US   / SQS9  g )N)r   r   r   r   )r   r         )r   rrN   r   )datarI   r   r   )nrowsncolsr   r   r   o)r   rx   	linewidthmarkerr2   r   rN   r   )r   rN   r   rU   )r   r   r   expected_markers)r   r   rN   )r   r   r   r   )rN   r   r   )r   r   r   r   r"   pyplotsubplotsr    r   r   )r'   r(   _r   s       r+   *test_missing_marker_multi_plots_on_same_ax:TestFrameLegend.test_missing_marker_multi_plots_on_same_ax   s   \<8BVW

##!1#5
##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                 2   [        [        R                  R                  S5      R	                  S5      [        R
                  " / SQ5      [        R
                  " / SQ5      /S9nSS/UR                  l        UR                  5       nUR                  R                  5       n[        US5        [        [        R                  R                  S5      R	                  S	5      5      nUR                  S
US9nUR                  R                  5       n[        US5        SUR                  l        UR                  SUS9nUR                  R                  5       n[        US5        UR                  S
US9nUR                  R                  5       n[        US5        g )Nr   )r   r   )r   r   r   r   )r   rx   r   rx   rH   group
individualzgroup,individual)   r   Trh   newF)r   rZ   r[   r\   rq   arrayrI   namesr    legend_	get_titler   name)r'   multir   	leg_titler(   s        r+   test_legend_name 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@   rA   rE   )marksrB   rC   c                     [        [        R                  R                  S5      R                  S5      / SQS9nUR	                  USS9n[        USS9  g )Nr   rF   rG   rH   FrT   )visible)r   rZ   r[   r\   r    r   )r'   r=   r(   r   s       r+   test_no_legendTestFrameLegend.test_no_legend   sF     ryy,,Q/66v>XWW$uW-R/r.   c                    [        [        R                  R                  S5      R	                  S5      / SQS9nUR                  S/SSS9nUR                  S	/S
SUS9  UR                  S/SSUS9  [        U/ SQS9  [        U/ SQS9  g )Nr   )r   r   ABCrH   r   r   solid)rx   r   	linestyler   r   dotted)rx   r   r   r   r   <rU   )r   r   r   r   )r   rZ   r[   r\   rq   r    r   r   )r'   r(   r   s      r+   test_missing_markers_legend+TestFrameLegend.test_missing_markers_legend   s    II!!!$44V<o
 WWuSGW<
3%xB?
3%xB?R8R/Br.   c           	          [        / SQ/ SQ/ SQ/ SQS.5      n[        R                  R                  5       u  p#S H  nUR	                  SXDUSS9  M     [        U/ S	QS
9  [        U/ SQS9  g )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   rU   )r   r   r   r   r   )r'   r(   r   r   r=   s        r+   'test_missing_markers_legend_using_style7TestFrameLegend.test_missing_markers_legend_using_style   sg    ''''	
 

##%DGGCbG<  	R8R/Br.    N)__name__
__module____qualname____firstlineno__rX   markxfailr,   r;   parametrizerb   ri   rt   r|   r   r   r   paramtd
skip_if_nor   r   r   __static_attributes__r   r.   r+   r   r      s    [[D  55&"  [[V%ST2 U24X"P4<62*F.-2 [[LLbmmG&<=	

0
0

CCr.   r   )numpyrZ   rX   pandas.util._test_decoratorsutil_test_decoratorsr   pandasr   r   pandas.tests.plotting.commonr   r   r   pandas.util.versionr   rY   r"   r   r   r.   r+   <module>r      sC      ) ) 
 (,'|C |Cr.   