
    rbiR              	       
   d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlZd dlZ	d dl
mZ d dlZd dlmZmZ d dlmZ d dlmZ d dlZd dlmZ d dlmZ d dlm Z d dlm Z! d dl"m#Z# d dl$m%Z& d dlm'Z' d dl(m)Z) d	 Z*d
 Z+ edgd          d             Z, edgd          d             Z- edg          d             Z.d Z/d Z0 edgd          d             Z1 edgd ej2                    dk    rd nd          d             Z3 edgd ej2                    dk    rd nd          d             Z4 edgd ej2                    dk    rd nd          d              Z5 ed!gd ej2                    dk    rd nd          d"             Z6 ed#gdd$          d%             Z7 ed&gd ej2                    dk    rd nd'          d(             Z8 ed)d*gd          d+             Z9 ed,gd          d-             Z: ed.gdd/0          d1             Z;d2 Z<d3 Z= ed4g5          d6             Z> G d7 d8          Z? G d9 d:          Z@d; ZA ed<g ej2                    dk    rd nd=>          d?             ZBd@ ZCdA ZDdB ZE edCg          dD             ZF edEg          dF             ZGdG ZHdH ZIdI ZJdJ ZK edKgddL ej2                    dk    rd ndMN          dO             ZLdP ZMdQ ZNdR ZOdS ZPdT ZQdU ZRejS        T                    dVdW          dX             ZUejS        T                    dYdZ          d[             ZVejS        T                    dYd\          d]             ZWejS        T                    dVdW          d^             ZXejS        T                    d_d`          da             ZYdb ZZdc Z[dd Z\de Z]df Z^dg Z_dh Z`di Zadj Zbdk Zcdl Zddm Zedn ZfejS        T                    d_d`          do             Zgdp Zhdq Zidr Zjds Zkdt ZlejS        m                    du          dv             ZnejS        T                    dwdx          dy             Zodz Zped{             Zqd| Zrd} ZsejS        T                    d~ddgd e	jt        ddg          g          d             ZuejS        T                    dddevg          d             ZwejS        T                    d~ddgd e	jt        ddg          g          d             Zxd Zyd Zzd Z{d Z|d Z}d Z~d Zd Z ed4g5          d             Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZejS        m                    du          d             Zd Zd Zd Zd ZdS )    N)mock)assert_allclose)check_figures_equalimage_comparison)needs_usetex)HandlerTuple)
rc_context)FontPropertiesc                  4   t           j                            d          } t           j                            d          }dgdz  dgdz  z   }dgdz  dgdz  z   }t          j                    \  }}t          | |||          D ] \  }}}}	|                    ||||	           !|                                \  }
}t          j	        t          ||
                    }|
                    |                                |                                dd	
           d S )N
   a   brglabelccenter left)         ?)locbbox_to_anchor)nprandomrandnpltsubplotszipscatterget_legend_handles_labelscollectionsOrderedDictlegendvalueskeys)XYlabelscolorsfigaxxyr   colorhandlesr$   s               l/var/www/html/mdtn/previsions/meteo_cartes/venv/lib/python3.11/site-packages/matplotlib/tests/test_legend.pytest_legend_ordereddictr2      s    		A
	AUQY#"FUQY#"FlnnGC!!Q77 / /1eU


1au
....2244OGV$S%9%9::FIIfmmoov{{}}  9 9 9 9 9    c                     t          j                    \  } }|                    ddg           |                    ddg           d |                                D             }d dD             }|                    ||d           d S )	Nr   r      c              3      K   | ]}|V  d S N .0lines     r1   	<genexpr>z(test_legend_generator.<locals>.<genexpr>3   s"      //t//////r3   c              3      K   | ]}|V  d S r7   r8   )r:   r   s     r1   r<   z(test_legend_generator.<locals>.<genexpr>4   s"      22e222222r3   )spameggs
upper leftr   )r   r   plot	get_linesr$   )r+   r,   r0   r)   s       r1   test_legend_generatorrD   -   s    lnnGCGGQFOOOGGQFOOO/////G22!1222FIIgv<I00000r3   zlegend_auto1.pngT)remove_textc                      t          j                    \  } }t          j        d          }|                    |d|z
  dd           |                    ||dz
  dd           |                    d           d	S )
Test automatic legend placementd   2   oy=1r   y=-1bestrA   N)r   r   r   arangerB   r$   )r+   r,   r-   s      r1   test_legend_auto1rP   9   sv     lnnGC
	#AGGArAvs%G(((GGAq2vs&G)))II&Ir3   zlegend_auto2.pngc                      t          j                    \  } }t          j        d          }|                    ||dd          }|                    ||ddd         dd          }|                    |d         |d         gd	d
gd           dS )rG   rH   edgem)alignr/   Nr   r   updownrN   rA   )r   r   r   rO   barr$   )r+   r,   r-   b1b2s        r1   test_legend_auto2r[   C   s     lnnGC
	#A	1F#	.	.B	1TTrT7&	4	4BIIr!ubentVn&I99999r3   zlegend_auto3.pngc                      t          j                    \  } }g d}g d}|                    ||dd           |                    dd           |                    dd           |                    d	           d
S )rG   ?皙?r_   r^   r^   r   ffffff?ra   皙?rb   r   r   o-r;   rL                 ?rN   rA   N)r   r   rB   set_xlimset_ylimr$   )r+   r,   r-   r.   s       r1   test_legend_auto3rh   M   s     lnnGC&&&A***AGGAq$fG%%%KKSKKSII&Ir3   c                     t          j        dd          \  } }g }t          |j        d          D ]\  }}|                    |           |                    dgddgz  z   t          d          d	|
           |                    d          }| j        	                                 |
                    |                                                    |j                                                             t          |d         j        |d         j                   t          |d         j        |d         j                   dS )z
    Check that the legend location with automatic placement is the same,
    whatever the histogram type is. Related to issue #9580.
       )g@g333333@ncolsfigsize)rX   step
stepfilledr   r   	   r   Legend)binsr   histtyperN   rA   r   r5   N)r   r   r   flat	set_titlehistranger$   canvasdrawappendget_window_extenttransformed	transAxesinvertedr   bounds)r+   axs
leg_bboxesr,   htlegs         r1   test_legend_auto4r   Y   s6    |!Z888HCJch =>> J JB
R
ae%))8bIIIiiFi##
!!##//0E0E0G0GHH	J 	J 	J 	J JqM(*Q-*>???JqM(*Q-*>?????r3   c                     t          j        dd          \  } }g }t          |j        d          D ].\  }}t	          j        dddd	          t	          j        t          j        d
dgd
d
gdd
gddgddgddgddgddgddgg	          d          t	          j	        ddd
ddd          fD ]}|
                    |           |                    ddgddgd           |                    |          }| j                                         |                    |                                                    |j                                                             0t)          |d         j        |d
         j                   dS )z
    Check that the automatic placement handle a rather complex
    case with non rectangular patch. Related to issue #9580.
    r5   )g333333#@g333333@rk   centerrN   )r   r^   皙?皙?C1)xywidthheightfcr   r   r^   re   r_   )r   )r   r   r   ih  rb   C0)r   r   z	A segmentrL   rA   N)r   r   r   rt   mpatchesEllipsePolygonr   arrayWedge	add_patchrB   r$   rx   ry   rz   r{   r|   r}   r~   r   r   )r+   r   r   r,   r   _patchr   s          r1   test_legend_auto5r   o   s   
 |!Z888HCJsx!344 J JC
  !STC C C FQFQFQFS#Jc
#Jc
S#J+8 "9 "9=AC C C z33dtLLL 	! 	!F LL    
c
S#Jk:::iiCi  
!!##//0E0E0G0GHH	J 	J 	J 	J JqM(*Q-*>?????r3   zlegend_various_labels.pngc                     t          j                    } |                     d          }|                    t	          j        d          dd           |                    t	          j        dd          dd           |                    t	          j        ddd          dd	           |                    dd
           d S )Ny      rJ   r   rL   gffffff@u   DéveloppésrU   __nolegend__rN   )	numpointsr   )r   figureadd_subplotrB   r   rO   linspacer$   r+   r,   s     r1   test_various_labelsr      s     *,,C			BGGBIaLL#QG'''GGBK3NG;;;GGBIaBNG;;;IIvI&&&&&r3   zlegend_labels_first.pngx86_64g9v?)rE   tolc                  f   t          j                    \  } }|                    t          j        d          dd           |                    t          j        d          dz  dd           |                    t          j        ddd	          d
d           |                    dd           d S )Nr   -or   rL   r   z:xr-      rU   ddiamondrN   F)r   markerfirst)r   r   rB   r   rO   onesr$   r   s     r1   test_labels_firstr      s     lnnGCGGBIbMM4qG)))GGBGBKKM4sG+++GGBIb"b!!3iG888II&eI,,,,,r3   zlegend_multiple_keys.pngc                  \   t          j                    \  } }|                    g dd          \  }|                    g dd          \  }|                    g dd          \  }|                    ||f||f|gg dd||ft	          d 	          ||ft	          d d
          i           d S )Nr   r5   rj   r   r5   rj   r   z-xrj   r   r   z-d)ztwo keyszpad=0zone keyr   )ndivider   )r   pad)r   handler_map)r   r   rB   r$   r   )r+   r,   p1p2p3s        r1   test_multiple_keysr      s     lnnGC
'')))T
"
"CB
'')))T
"
"CB
'')))T
"
"CBIIBx"b2&(H(H(H8\$%?%?%?8\$A%F%F%FH  I I I I Ir3   zrgba_alpha.pnggQ?c                      t          j                    \  } }|                    t          d          d           t          j        dgd          }|j                            g d           d S )Nr   r   lwLonglabel that will go awayr   rA   r   r   r   r   )r   r   rB   rw   r$   legendPatchset_facecolorr+   r,   r   s      r1   test_alpha_rgbar      sg     lnnGCGGE"II!G
*34(
C
C
CCO!!...11111r3   zrcparam_alpha.pngc                  @   t          j                    \  } }|                    t          d          d           t	          j        ddi          5  t          j        dgd	          }|j                            g d
           d d d            d S # 1 swxY w Y   d S )Nr   r   r   zlegend.framealphag      ?)rcr   r   rA   r   )	r   r   rB   rw   mplr	   r$   r   r   r   s      r1   test_alpha_rcparamr      s     lnnGCGGE"II!G	/5	6	6	6 6 6j78hGGG
 	%%nnn5556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s   4BBBz	fancy.pngrb   c                     t          j        d           t          j        dgdz  dd           t          j        t	          j        d          t	          j        ddd          d	           t          j        t	          j        d          t	          j        d          d
d
d           t          j        ddd
gdddd           d S )Nr   r   r   zo--XXrL   r   rU   zXX
XXr   )xerryerrr   r   re   r5   T	My legendr   )r   r   rl   shadowtitler   )r   subplotrB   r    r   rO   errorbarr$   r8   r3   r1   
test_fancyr      s    
 KHaS2XuD))))K	"ryQ338DDDDL2	"C' ' ' 'J=#st;!E E E E E Er3   
framealphag~jt?c                      t          j        ddd          } | }t          j        | |dd           t          j        d           d S )Nr   rH   mylabelr   )r   r   r   )r   )r   r   r   rB   r$   )r-   r.   s     r1   test_framealphar      sN     	AsC  A	AHQr****J#r3   zscatter_rc3.pngzscatter_rc1.pngc                      t          j                     t          j        d          } |                     t	          j        d          t	          j        ddd          d           |                     ddd	gd
           dt          j        d<   t          j                     t          j        d          } |                     t	          j        d          t	          j        ddd          d           |                     ddd	gd
           d S )Nr   r   r   rU   threerL   r   re   r   r   )r   r   r   r   zlegend.scatterpointsone)	r   r   r   r    r   rO   r$   r   rcParams)r,   s    r1   test_rcr      s     JLLL	S		BJJry}}biAr22'JBBBII-c
  ! ! ! ,-CL'(JLLL	S		BJJry}}biAr22%J@@@II-c
  ! ! ! ! !r3   zlegend_expand.pngc                     ddg} t          j        t          |           d          \  }}t          j        d          }t          ||           D ]\  }}|                    |d|z
  dd           |                    d	|
          }|                    |           |                    ||dz
  dd           |                    d|
          }|                    |           |                    d|d           dS )zTest expand modeNexpandr   rH   rI   rJ   rK   rL   r@   )r   moderM   right
lower leftr5   )r   r   rl   )	r   r   lenr   rO   r   rB   r$   
add_artist)legend_modesr+   r   r-   r,   r   l1l2s           r1   test_legend_expandr      s    (#L|C--q11HC
	#A\** 8 8D
263e,,,YY<dY33
b
1r63f---YY7Y..
b
		lQ	77778 8r3   hatchingdefault)rE   stylec            	         dt           j        d<   t          j                    \  } }t          j        ddddd          }|                    |           t          j        dddd	d
d          }|                    |           t          j        dddddd          }|                    |           t          j        dddd	dd
d          }|                    |           |                    g dg dg ddd           |                    g dg dg dddd           |                    dd           |                    dd           |                    dd           d S ) N   ztext.kerning_factor)r   r   333333?xxzPatch
default color
filled)hatchr   )Q?r   z||r   zPatch
explicit color
filled)r   	edgecolorr   )r   皙?FzPatch
default color
unfilled)r   fillr   )r   r   zPatch
explicit color
unfilled)r   r   r   r   )r   g333333?r   )r   r   r   )r^   re   r^   +zPath
default color)r   gQ?g)\(?C2zPath
explicit colorg{Gz皙?r   )handlelengthhandleheight)	r   r   r   	Rectangler   fill_betweenrf   rg   r$   )r+   r,   patchs      r1   test_hatchingr     s    +,CL&'lnnGC M&#s$ >@ @ @ELLM)S#TT ?A A AELLM(CDu @B B BELLM+sCt%$( AC C CE LL OOLLL,,,%:  < < <OOOOO\\\===5K  M M M KKsKKsII11I-----r3   c                  b   t          j                    \  } }|                    t          d                    }|                     |d          }|                                 | j        g k    sJ |                    d          }|                                 |                                J d S )Nr   test)r   r   rB   rw   r$   removelegends
get_legend)r+   r,   linesr   s       r1   test_legend_remover   $  s    lnnGCGGE"IIE
**UF
#
#CJJLLL;"
))F

CJJLLL==??"""""r3   c                  :   t          j                    \  } }d}d}g d}g d}|                    |||d         |d                    |                    |||d         |d                    |                    |||d         |d                    |                    d          }d	 |                                D             }d
 |j        D             }|t          t          |                    k    sJ |t          t          |                    k    sJ dS )z6Check that the legend handles and labels are reversed.r   )zFirst labelzSecond labelzThird label).,rJ   r   rL   r5   Treversec                 6    g | ]}|                                 S r8   get_text)r:   ts     r1   
<listcomp>z:test_reverse_legend_handles_and_labels.<locals>.<listcomp>;  s     ;;;aQZZ\\;;;r3   c                 6    g | ]}|                                 S r8   
get_markerr:   hs     r1   r  z:test_reverse_legend_handles_and_labels.<locals>.<listcomp><  s     AAAallnnAAAr3   N)r   r   rB   r$   	get_textslegend_handleslistreversed)	r+   r,   r-   r.   r)   markersr   actual_labelsactual_markerss	            r1   &test_reverse_legend_handles_and_labelsr  /  s!   lnnGC	A	A;;;FooGGGAq'!*F1IG...GGAq'!*F1IG...GGAq'!*F1IG...
))D)
!
!C;;3==??;;;MAAc.@AAAND&!1!1222222T(7"3"344444444r3   png)
extensionsc                 r   |                                  }|                    dgdd           |                    dgdd           |                    d	           |                                 }|                    dgdd           |                    dgdd           |                                 d
S )z3Check that the rendered legend entries are reversedr   rofirstrL   r5   bxsecondTr  N)r   rB   r$   )fig_testfig_refr,   s      r1   test_reverse_legend_displayr  A  s     
				BGGQCWG%%%GGQCXG&&&IIdI					BGGQCXG&&&GGQCWG%%%IIKKKKKr3   c                   P    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd ZdS )TestLegendFunctionc                    t          j        t          d          d          }t          j        d          5 }t          j                     d d d            n# 1 swxY w Y   |                    t          j                    |dg           d S )Nr   hello worldrL   matplotlib.legend.Legendr   rB   rw   r   r   r$   assert_called_withgcaselfr   rq   s      r1   test_legend_no_argsz&TestLegendFunction.test_legend_no_argsQ  s    r-888Z233 	vJLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	!!#'))U]ODDDDDs   AAAc                    t          j        t          d                    }t          j        d          5 }t          j        |dg           d d d            n# 1 swxY w Y   |                    t          j                    |dg           d S )Nr   r#  r"  r$  r'  s      r1   %test_legend_positional_handles_labelsz8TestLegendFunction.test_legend_positional_handles_labelsW  s    r##Z233 	/vJu}o...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/!!#'))U]ODDDDDs   AA Ac                     t          j        t          d                    }t          j        t
          d          5  t          j        |           d d d            d S # 1 swxY w Y   d S )Nr   zbut found an Artistmatch)r   rB   rw   pytestraises	TypeErrorr$   )r(  r   s     r1   #test_legend_positional_handles_onlyz6TestLegendFunction.test_legend_positional_handles_only]  s    r##]9,ABBB 	 	 Ju	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AA#&A#c                     t          j        t          d          d          }t          j        d          5 }t          j        dg           d d d            n# 1 swxY w Y   |                    t          j                    |dg           d S )Nr   r"  rL   r#  foobarr$  r'  s      r1   "test_legend_positional_labels_onlyz5TestLegendFunction.test_legend_positional_labels_onlyd  s    r-888Z233 	#vJz"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#!!#'))UXJ?????s   AA!Ac                 *   t          j        t          d          d          }t          j        d          5 }t          j        |dgd           d d d            n# 1 swxY w Y   |                    t          j                    |dgd           d S )Nr   r"  rL   r#  r4  r   rA   r$  r'  s      r1   test_legend_three_argsz)TestLegendFunction.test_legend_three_argsj  s    r-888Z233 	7vJuxjg6666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7!!#'))UXJG!LLLLLs   AA!$A!c                 :   t          j        t          d          d          }t          j        d          5 }|dgf|_        t          j        ddi           d d d            n# 1 swxY w Y   |                    t          j                    gddi           d S )Nr   r"  rL   z,matplotlib.legend._get_legend_handles_labels1r5   )r   )	r   rB   rw   r   r   return_valuer$   r%  r&  )r(  r   handles_labelss      r1   test_legend_handler_mapz*TestLegendFunction.test_legend_handler_mapp  s    r-888Z 5 6 6 	-9G*/-*@N'JC8,,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	))3799+Qx@@@@@s   "A&&A*-A*c                    t          j                    \  }}t          j        ddd          }|                    ||d          \  }|                    |d|z  d          \  }|                    |d|z  d	          \  }t          j        d
          5 }|                    ||g           d d d            n# 1 swxY w Y   |                    |||gd	dg           d S )Nr   r      r-   rL   r5   2xrj   3xr#  )r0   	r   r   r   r   rB   r   r   r$   r%  )r(  r+   r,   r-   ln1ln2ln3rq   s           r1   test_legend_kwargs_handles_onlyz2TestLegendFunction.test_legend_kwargs_handles_onlyx  s   ,..RK1b!!wwq!3w''wwq!A#Tw**wwq!A#Tw**Z233 	*vIIsCjI)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*!!"sCj4,?????s   B::B>B>c                    t          j                    \  }}t          j        ddd          }|                    ||          \  }|                    |d|z            \  }t          j        d          5 }|                    ddg           d d d            n# 1 swxY w Y   |                    |||gddg           d S )	Nr   r   r>  r5   r#  r-   r?  r)   rA  )r(  r+   r,   r-   rB  rC  rq   s          r1   test_legend_kwargs_labels_onlyz1TestLegendFunction.test_legend_kwargs_labels_only  s    ,..RK1b!!wwq!}}wwq!A#Z233 	*vIIc4[I)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*!!"sCj3+>>>>>s   4BB Bc                    t          j                    \  }}t          j        ddt          j        z  d          }|                    |t          j        |          d          \  }|                    |t          j        |          d          \  }t          j	        d          5 }|
                    d||f	           d d d            n# 1 swxY w Y   |                    |||fd           d S )
Nr   r5      sinrL   cosr#  r   r   )r)   r0   )r   r   r   r   pirB   rK  rL  r   r   r$   r%  )r(  r+   r,   thlnslncrq   s          r1   !test_legend_kwargs_handles_labelsz4TestLegendFunction.test_legend_kwargs_handles_labels  s   ,..R[AbeGT**wwr26"::Uw33wwr26"::Uw33Z233 	=vIIZ#sI<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	!!"sCj*=====s   &CCCc                 D   t          j                    \  }}t          j        ddt          j        z  d          }|                    |t          j        |          d          \  }|                    |t          j        |          d          \  }t          j	        t                    5 }|                    ||fd           d d d            n# 1 swxY w Y   t          |          d	k    sJ t          |d         j                                      d
          sJ d S )Nr   r5   rJ  rK  rL   rL  rM  rG  r   MYou have mixed positional and keyword arguments, some input may be discarded.)r   r   r   r   rN  rB   rK  rL  r/  warnsDeprecationWarningr$   r   strmessage
startswith)r(  r+   r,   rO  rP  rQ  records          r1   test_warn_mixed_args_and_kwargsz2TestLegendFunction.test_warn_mixed_args_and_kwargs  s@   ,..R[AbeGT**wwr26"::Uw33wwr26"::Uw33\,-- 	5IIsCjI444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	56{{a6!9$%%00  	 	 	 	 	s   +CCCc                 |   ddl m}  |d          }|                                }|                    g dg dd          \  }|                    g dg dd          \  }t	          j        d	          5 }t          j                     d d d            n# 1 swxY w Y   |                    |||gddg           d S )
Nr   )host_subploto   r   r   r5   DensityrL   )r   rj   r5   Temperaturer#  )	mpl_toolkits.axes_grid1r]  twinxrB   r   r   r   r$   r%  )r(  r]  hostparr   r   rq   s          r1   test_parasitez TestLegendFunction.test_parasite  s   888888|C  jjllii			999Ii>>hhyyy)))=hAAZ233 	vJLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	!!$R9m2LMMMMMs   6BBBN)__name__
__module____qualname__r)  r+  r2  r5  r7  r<  rE  rH  rR  r[  rf  r8   r3   r1   r   r   O  s        E E EE E E  @ @ @M M MA A A@ @ @? ? ?> > >
 
 
N N N N Nr3   r   c                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )TestLegendFigureFunctionc                 :   t          j                    \  }}|                    t          d                    }t	          j        d          5 }|                    |dg           d d d            n# 1 swxY w Y   |                    ||dg|j                   d S )Nr   r#  r"  bbox_transform	r   r   rB   rw   r   r   r$   r%  transFigurer(  r+   r,   r   rq   s        r1   test_legend_handle_labelz1TestLegendFigureFunction.test_legend_handle_label  s    ,..Rb		""Z233 	/vJJu}o...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/!!#u}o14 	" 	B 	B 	B 	B 	Bs   A11A58A5c                 8   t          j                    \  }}|                    t          d          d          }t	          j        d          5 }|                                 d d d            n# 1 swxY w Y   |                    ||dg|j                   d S )Nr   r"  rL   r#  rm  ro  rq  s        r1   r)  z,TestLegendFigureFunction.test_legend_no_args  s    ,..Rb		77Z233 	vJJLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	!!#u}o14 	" 	B 	B 	B 	B 	Bs   A00A47A4c                 8   t          j                    \  }}|                    t          d                    }t	          j        d          5 }|                    dg           d d d            n# 1 swxY w Y   |                    ||dg|j                   d S )Nr   r#  r4  rm  ro  rq  s        r1   test_legend_label_argz.TestLegendFigureFunction.test_legend_label_arg  s    ,..Rb		""Z233 	#vJJz"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#!!#uxj14 	" 	B 	B 	B 	B 	Bs   A00A47A4c                    t          j                    \  }}|                    t          d                    }t	          j        t          d          5  |                    |dgd           d d d            n# 1 swxY w Y   t	          j        t          d          5  |                    |dgdd           d d d            d S # 1 swxY w Y   d S )Nr   z0-2r-  r4  r   leftrA   )r   r   rB   rw   r/  r0  r1  r$   )r(  r+   r,   r   s       r1   test_legend_label_three_argsz5TestLegendFigureFunction.test_legend_label_three_args  s?   ,..Rb		""]9E222 	3 	3JJuxj'222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3]9E222 	? 	?JJuxj'vJ>>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	?s$   A99A= A=CCCc                    t          j        dd          \  }}|d                             t          d                    }|d                             t	          j        d          dz            }t          j        d          5 }|                    dd||f	           d d d            n# 1 swxY w Y   |	                    |||fdd|j
        
           d S )Nr   r5   r   r          @r#  r   rM  )r   r)   r0   )r   rn  )r   r   rB   rw   r   rO   r   r   r$   r%  rp  )r(  r+   r   r   lines2rq   s         r1   test_legend_kw_argsz,TestLegendFigureFunction.test_legend_kw_args  s   <1%%SAE"II&&QRYr]]R/00Z233 	PvJJ7:vJOOO	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P 	P!!%*'? 	" 	, 	, 	, 	, 	,s   B,,B03B0c                    t          j        dd          \  }}|d                             t          d                    }|d                             t	          j        d          dz            }t          j        t                    5 }|	                    ||fd           d d d            n# 1 swxY w Y   t          |          dk    sJ t          |d         j                                      d          sJ d S )	Nr   r5   r   r   rz  rM  rG  rT  )r   r   rB   rw   r   rO   r/  rU  rV  r$   r   rW  rX  rY  )r(  r+   r   r   r{  rZ  s         r1   test_warn_args_kwargsz.TestLegendFigureFunction.test_warn_args_kwargs  s(   <1%%SAE"II&&QRYr]]R/00\,-- 	;JJvzJ:::	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	;6{{a6!9$%%00  	 	 	 	 	s   
B00B47B4N)	rg  rh  ri  rr  r)  ru  rx  r|  r~  r8   r3   r1   rk  rk    sw        B B BB B BB B B? ? ?, , ,	 	 	 	 	r3   rk  c                     d dD             } | d dD             z  } | d dD             z  } | d dD             z  } g d}g d}g d	}g d
}||||||||||||g}g dg dg dg dg dg dg dg dg dg dg dg dg}t          |           D ]\  }}t          |           t          j        dd          \  }	}
|
                    t          d          d           |	                    d|z             }|	                                 t          |
	                                j
        ||                    t          |	                                j
        ||                    d S )Nc                     g | ]}d |z   S )zupper r8   r:   poss     r1   r  z.test_figure_legend_outside.<locals>.<listcomp>  s    CCCX^CCCr3   )rw  r   r   c                     g | ]}d |z   S )zlower r8   r  s     r1   r  z.test_figure_legend_outside.<locals>.<listcomp>  s    DDDhnDDDr3   c                     g | ]}d |z   S )zleft r8   r  s     r1   r  z.test_figure_legend_outside.<locals>.<listcomp>  s    DDDgmDDDr3   )lowerr   upperc                     g | ]}d |z   S )zright r8   r  s     r1   r  z.test_figure_legend_outside.<locals>.<listcomp>  s    EEEhnEEEr3   )QnX4@Qn;@l@gE@)r  g Q@r  lf@)gLNb@r  r  r  )r  r  gE@r  )      $@     X@     `@     p@)     (u@r       |@r  )  r       @r  )r  r  r       F@)r  r  r  r  )     ؄@r  r  r  )r       q@r       s@)r  r  r  r  )r  r  r  r  )r  r  r  r  TrH   )constrained_layoutdpir   Boo1rL   zoutside rA   )	enumerateprintr   r   rB   rw   r$   draw_without_renderingr   r{   extents)todosupperextlowerextleftextrightextaxbblegbbnntodor+   r   r   s               r1   test_figure_legend_outsider    s   CC'BCCCE	DD(CDDDDE	DD'CDDDDE	EE(DEEEEE888H888H777G888HhhWgh*D
 %$$'''%%%###&&&$$$"""&&&$$$"""'''%%%'E e$$ 
# 
#Dd<4SAAASr&)))jjZ$.j//""$$$--//7R	" 	" 	"--//7b		# 	# 	# 	#
# 
#r3   zlegend_stackplot.pnggX9v?)r   c                  @   t          j                    \  } }t          j        ddd          }d|z  }d|z  dz   }d|z  dz   }|                    ||||g d	           |                    d
           |                    d           |                    d           dS )z/Test legend for PolyCollection using stackplot.r   r   re   rz  r   g      @r5   )y1y2y3rG  )r   r   )r   F   rN   rA   N)r   r   r   r   	stackplotrf   rg   r$   )r+   r,   r-   r  r  r  s         r1   test_legend_stackplotr    s    
 lnnGC
Ar2A	qB	q1B	q1BLLBB'9'9'9L:::KKKKII&Ir3   c                      t          j                    \  } }t          j                    \  }}|                    t          d          t          d                    }|                    |d           d S )Nrj   foo)r   r   rX   rw   r$   )r+   r,   fig2ax2brss        r1   test_cross_figure_patch_legendr     sY    lnnGCID#
&&q588
$
$CKKUr3   c            
         t          j                    \  } }|                    t          j        gt          j        gdddd          }|                    |gdg           t          j                    \  } }dD ]e}d}t          j                            d|          \  }}d	t          j                            |          z  }|                    |||||d
d           f|                                 |                    d           d S )NrJ   r   rj   )marker	facecolorr   sr    )redgreenbluei  r5   g      i@r   none)r   r  r   alpha
edgecolorsT)	r   r   r    r   nanr$   r   randgrid)r+   r,   r  r/   nr-   r.   scales           r1   test_nanscatterr  (  s    lnnGC


BF8bfXc C1 	 	6 	6A IIqcI;lnnGC) 1 1y~~a##1	q)))


1a5E 	 	1 	1 	1 	1 IIKKKGGDMMMMMr3   c                  2   t          j                    \  } }|                    ddddd           |                    dddd	d           |                                 t	          j        |g          \  }}t          |          d
k    sJ t          j                    \  } }|                    ddddd           |                    dddd	d           |                                 t	          j        |g          \  }}t          |          d
k    sJ d S )Nrd   re   krJ   r   )r/   r  r   r   r   vr5   )r   r   r    r$   mlegend_get_legend_handles_labelsr   )r+   r,   handlabs       r1   test_legend_repeatcheckokr  <  s    lnnGCJJsCs3fJ===JJsCs3fJ===IIKKK2B488ID#s88q====lnnGCJJsCs3fJ===JJsCs3fJ===IIKKK2B488ID#s88q======r3   znot_covering_scatter.pngc                  <   g d} t          d          D ]!}t          j        |g|g| |                    "t          j        g dd           t          j                                        dd           t          j                                        dd           d S )	N)r   r   r   rj   )r/   )r  r  r  rN   rA   g      皙@)rw   r   r    r$   r&  rf   rg   )r*   r  s     r1   test_not_covering_scatterr  K  s    __F1XX / /QC!F1I.....J$$$&1111GIItS!!!GIItS!!!!!r3   z"not_covering_scatter_transform.pngc                  >   t          j                                        dd          } t          j        ddd          }t          j        ||           t          j        dgdg| t          j                    j	        z              t          j
        dd	gd
           d S )Nir   r      i  r   )	transformr  rX   rN   rA   )mtransformsAffine2D	translater   r   r   rB   r    r&  	transDatar$   )offsetr-   s     r1   #test_not_covering_scatter_transformr  W  s     !##--c266F
Ar4  AHQNNNKrdfswyy/B&BCCCCJu~6******r3   c                  V   ddgddgg} ddgddggd	dgd
dggg}d
dgddggd	dgddggg}t          j        | dd          }t          j        |d          }t          j        |dd	          }t          j                    \  }}|                    |           |                    |           |                    |           |                    |||gg d          }|j        \  }	}
}t          |||f|	|
|f          D ]*\  }}|                                d         |j	        k    sJ +d S )N)r   r   )r   r   )r   333333?)r   r   gffffff?r   r   r   r   r  r_   z--rj   )
linestylesr   z-.)r  :)line1line2zline 3r   )
mcollectionsLineCollectionr   r   add_collectionr$   r  r   get_linestyles_dash_pattern)lines1r{  lines3lc1lc2lc3r+   r,   r   h1h2h3ohlhs                 r1   !test_linecollection_scaled_dashesr  c  su    8X"67FRy2r(#r2hR%9:FRy2r(#r2hR%9:F

%f!
D
D
DC

%f
>
>
>C

%f
D
D
DClnnGCccc
))S#sO%A%A%A
B
BC#JBBsCoB|44 : :B  ""1%)999999: :r3   c                      t          j                    \  } }|                    t          d          d           |                    d           dS )z(Test legend handler with numpoints <= 1.r   r   rL   r   r   N)r   r   rB   rw   r$   r   s     r1   test_handler_numpointsr  w  sI     lnnGCGGE!HHFG###IIIr3   c                     t          j                    \  } }|                    dgd           |                    dddd           t	          j        t                    5 }|                                 ddd           n# 1 swxY w Y   t          |          dk    sJ t          j                    \  }}|	                    t          j                            ddd	                     t          j                    5  t          j        d
           |                                 ddd           dS # 1 swxY w Y   dS )z2Test that Text artists with labels raise a warningr   	mock datarL   textr   )r-   r.   r  r   Nr   )r   r   error)r   r   rB   r  r/  rU  UserWarningr$   r   
pcolormeshr   r   uniformwarningscatch_warningssimplefilterr!   )r+   r,   rZ  fs       r1   test_text_nohandler_warningr    s   lnnGCGGQC{G###GGa1gG...	k	"	" f
		              v;;! LNNEArMM")##Aq(33444		 	"	" ' 'g&&&
$$&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 's$   !BB	B?)D55D9<D9c                  Z    t          j        g g d           t          j                     dS )z1Test legend when bar chart is empty with a label.r   rL   N)r   rX   r$   r8   r3   r1    test_empty_bar_chart_with_legendr     s*     GB&!!!!JLLLLLr3   zshadow_argument_types.pngmpl20gy&1?)rE   r   r   c            
         t          j                    \  } }|                    g dd           |                    dd          |                    dd          |                    d	d
dd          |                    dddd          |                    dddd          f}|D ]}|                    |           |                    d           d S )Nr   r   rL   r@   Tr   r   upper rightFr   r  r_   )r/   r  center right)r_   r   r   )r/   oyr   ztab:cyanr   )r/   oxlower rightrA   )r   r   rB   r$   r   )r+   r,   legsls       r1   test_shadow_argument_typesr    s    lnnGCGGIIIVG$$$ II,tI44II-I66II-',s;;  = =II.'6bAA  C CII,'1<<  > >D   
aII-I     r3   c                      t          j                    \  } }|                    g dd           t          j        t
          d          5  |                    dd           d d d            d S # 1 swxY w Y   d S )	Nr   r   rL   zdict or boolr-  r@   aardvarkr  )r   r   rB   r/  r0  
ValueErrorr$   r   s     r1   test_shadow_invalid_argumentr    s     lnnGCGGIIIVG$$$	z	8	8	8 7 7
		l:	6667 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7s   A00A47A4c                      t          j                    \  } }|                    t          d          d           |                    dd          }|                                                                dk    sJ d S )NrH   r   rL   Tw)r   r  r   )r   r   rB   rw   r$   	get_frame	get_alphar   s      r1   test_shadow_framealphar    so     lnnGCGGE#JJfG%%%
))43)
/
/C==??$$&&!++++++r3   c                  J   t          j                    \  } }|                    t          d          d           |                                }|                                                                dk    sJ |                                                                rJ d S )Nr   r  rL    )r   r   rB   rw   r$   	get_titler  get_visibler   s      r1   test_legend_title_emptyr    s     lnnGCGGE"II[G)))
))++C==??##%%++++}}**,,,,,,,r3   c                  F   t          j        d          \  } }|                    t          d          d           |                                }|                    | j                                                  j        }t          j        d          \  } }|                    t          d          d           |                                }|                    | j                                                  j        }t          j
        |dz  d          |k    sJ d S )	NrH   r  r   AardvarkrL      r5   r_   )r   r   rB   rw   r$   r{   rx   get_rendererx0r/  approx)r+   r,   r   x01x02s        r1    test_legend_proper_window_extentr$    s    ls###GCGGE"IIZG(((
))++C



 7 7 9 9
:
:
=Cls###GCGGE"IIZG(((
))++C



 7 7 9 9
:
:
=C=Q$$++++++r3   c                  P   t          j        d          \  } }|                    t          d          d           |                                }|                                 }| j                                         |                                 |                                 d S )NrH   r  r   r  rL   )r   r   rB   rw   r$   rx   ry   r{   )r+   r,   r   leg2s       r1   "test_window_extent_cached_rendererr'    s    ls###GCGGE"IIZG(((
))++C::<<DJOOr3   c                     t          j        t          d          d           t          j        t
                    5  t          j        ddddd           d d d            n# 1 swxY w Y   t          j        dt          dd          	          } |                                 	                                dk    sJ t          j
        d
dd          \  }}|j        }|d                             t          d          d           |d                             dd          }|                                                                dk    sJ |d                             t          d          d           |d                             dddd	          }|                                                                dk    sJ |d
                             t          d          d           d t          j        d<   |d
                             dddi	          }|                                                                t          j        d         k    sJ |d                             t          d          d           |d                             d          }|                                                                t          j        d         k    sJ |d                             t          d          d           dt          j        d<   |d                             dddi	          }|                                                                dk    sJ |d                             t          d          d           |d                             d          }|                                                                dk    sJ d S )Nr   r  rL   r     serif)familysize)r   title_fontsizetitle_fontproperties)r   r.  r5   rj   )r   r   )rm   r   )r   r-  r   zlegend.title_fontsizer+  z	font.sizer   r   r   r   )r   rB   rw   r/  r0  r  r$   r
   r  get_sizer   rt   get_fontsizer   r   )	r   r+   axesleg0leg1r&  leg3leg4leg5s	            r1   #test_legend_title_fontprop_fontsizer8    s   HU2YYk****	z	"	" I I
B3:B(G(G	I 	I 	I 	II I I I I I I I I I I I I I I *:N.5B=@ =@ =@ A A AC==??##%%++++Q7333IC9DGLLr+L...7>>
2>>>D>>((**b0000GLLr+L...7>>
:A2/N/N  P PD>>((**b0000GLLr+L...,0CL()7>>
08'/B  D DD>>((**cl;.GGGGGGLLr+L...7>>
>++D>>((**cl;.GGGGGGLLr+L...,.CL()7>>
08'/B  D DD>>((**b0000GLLr+L...7>>
>++D>>((**b000000s   A$$A(+A(	alignment)r   rw  r   c                 &   t          j                    \  }}|                    t          d          d           |                    d|           }|                                d         j        | k    sJ |                                | k    sJ d S )Nr   r   rL   r  )r   r9  r   )r   r   rB   rw   r$   get_childrenrT   get_alignmentr9  r+   r,   r   s       r1   test_legend_alignmentr>    s    lnnGCGGE"IIVG$$$
))*	)
:
:Ca &)3333)++++++r3   r   r   c                 *   t          j                    \  }}|                    t          d          d           |                                }|                    |            |                                t          j        j	        |          k    sJ d S )Nr   r   rL   )
r   r   rB   rw   r$   set_loc_get_locr  rq   codesr   r+   r,   r   s       r1   test_ax_legend_set_locrD    su    lnnGCGGE"IIVG$$$
))++CKK<<>>W^1#6666666r3   )zoutside rightr   c                    t          j                    \  }}|                    t          d          d           |                                }|                    |            |                     d          r|                                 d         n| } |                                t          j
        j        |          k    sJ d S )Nr   r   rL   outsider   )r   r   rB   rw   r$   r@  rY  splitrA  r  rq   rB  rC  s       r1   test_fig_legend_set_locrH    s    lnnGCGGE"IIVG$$$
**,,CKKNN955
>#))++a..3C<<>>W^1#6666666r3   c                 J   t          j                    \  }}|                    t          d          d           |                                }|                    |            |                                d         j        | k    sJ |                                | k    sJ d S )Nr   r   rL   r   )	r   r   rB   rw   r$   set_alignmentr;  rT   r<  r=  s       r1   test_legend_set_alignmentrK  (  s    lnnGCGGE"IIVG$$$
))++Ci   a &)3333)++++++r3   r/   )r  r  )r   r   r   c                 n   t          j                    \  }}|                    t          j        d          t          j        d          dz  d           |                    t          j        d          t          j        d          dz  d           |                    t          j        d          t          j        d          dz  d           |                    | 	          }|                                D ]6}t          j        	                    |
                                |           sJ 7d S )
Nr   r   #1rL   r5   #2rj   #3
labelcolor)r   r   rB   r   rO   r$   r  r   r*   
same_color	get_colorr/   r+   r,   r   r  s        r1   test_legend_labelcolor_singlerU  2  s     lnnGCGGBIbMM29R==?$G777GGBIbMM29R==?$G777GGBIbMM29R==?$G777
))u)
%
%C > >z$$T^^%5%5u======> >r3   c                     t          j                    \  } }|                    t          j        d          t          j        d          dz  d           |                    t          j        d          t          j        d          dz  d           |                    t          j        d          t          j        d          dz  d           |                    g d	
          }t          |                                g d	          D ]9\  }}t          j	        
                    |                                |          sJ :d S )Nr   r   rM  rL   r5   rN  rj   rO  r   r   r   rP  r   r   rB   r   rO   r$   r   r  r   r*   rR  rS  r+   r,   r   r  r/   s        r1   test_legend_labelcolor_listrZ  ?  s
   lnnGCGGBIbMM29R==?$G777GGBIbMM29R==?$G777GGBIbMM29R==?$G777
)))
/
/C3==??OOO<< > >ez$$T^^%5%5u======> >r3   c                     t          j                    \  } }|                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          d	z  d
d           |                    d          }t          |                                g d          D ]9\  }}t          j	        
                    |                                |          sJ :d S )Nr   r   rM  r   r   r/   r5   rN  r   rj   rO  r   	linecolorrP  rW  rX  rY  s        r1    test_legend_labelcolor_linecolorr^  K  s   lnnGCGGBIbMM29R==?$cGBBBGGBIbMM29R==?$cGBBBGGBIbMM29R==?$cGBBB
)){)
+
+C3==??OOO<< > >ez$$T^^%5%5u======> >r3   c                     t          j                    \  } }|                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          d	z  d
d           |                    d          }t          |                                g d          D ]9\  }}t          j	        
                    |                                |          sJ :d S )Nr   r   rM  r   r   r5   rN  r   rj   rO  r   r]  rP  rW  r   r   r    r   rO   r$   r   r  r   r*   rR  rS  rY  s        r1   /test_legend_pathcollection_labelcolor_linecolorra  W  s   lnnGCJJry}}bimmAoTSJAAAJJry}}bimmAoTSJAAAJJry}}bimmAoTSJAAA
)){)
+
+C3==??OOO<< > >ez$$T^^%5%5u======> >r3   c                     t          j                    \  } }t          j        g ddz            }|                    t          j        d          t          j        d          d|           |                    d          }|                                \  }t          j	        
                    |                                d          sJ d S )	Nr   r   r   r   rS   r5   r   rM  r   r]  rP  black)r   r   r   r   r    rO   r$   r  r   r*   rR  rS  )r+   r,   r*   r   r  s        r1   8test_legend_pathcollection_labelcolor_linecolor_iterablere  c  s     lnnGCX///!344FJJry}}bimm46JBBB
)){)
+
+CMMOOED:  !1!17;;;;;;;r3   c                     t          j                    \  } }|                    t          j        d          t          j        d          t          j        d          d           |                    d          }|                                \  }t          j        	                    |
                                d          sJ d S )Nr   rM  )r   r   r]  rP  rd  )r   r   r    r   rO   r$   r  r   r*   rR  rS  )r+   r,   r   r  s       r1   4test_legend_pathcollection_labelcolor_linecolor_cmaprg  o  s     lnnGCJJry}}bimmry}}DJIII
)){)
+
+CMMOOED:  !1!17;;;;;;;r3   c                     t          j                    \  } }|                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          d	z  d
d           |                    d          }t          |                                g d          D ]9\  }}t          j	        
                    |                                |          sJ :d S )Nr   r   rM  r   r   markeredgecolorr5   rN  r   rj   rO  r   rj  rP  rW  rX  rY  s        r1   &test_legend_labelcolor_markeredgecolorrk  z     lnnGCGGBIbMM29R==?$GLLLGGBIbMM29R==?$GLLLGGBIbMM29R==?$GLLL
))0)
1
1C3==??OOO<< > >ez$$T^^%5%5u======> >r3   c                     t          j                    \  } }|                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          d	z  d
d           |                    d          }t          |                                g d          D ]9\  }}t          j	        
                    |                                |          sJ :d S )Nr   r   rM  r   r   r   r5   rN  r   rj   rO  r   rj  rP  rW  r`  rY  s        r1   5test_legend_pathcollection_labelcolor_markeredgecolorro       lnnGCJJry}}bimmAoTSJIIIJJry}}bimmAoTSJIIIJJry}}bimmAoTSJIII
))0)
1
1C3==??OOO<< > >ez$$T^^%5%5u======> >r3   c                     t          j                    \  } }t          j        g ddz            }|                    t          j        d          t          j        d          d|           |                    d          }t          |                                dg          D ]9\  }}t          j
                            |                                |          sJ :d S )	Nrc  r5   r   rM  rn  rj  rP  r  r   r   r   r   r    rO   r$   r   r  r   r*   rR  rS  r+   r,   r*   r   r  r/   s         r1   >test_legend_pathcollection_labelcolor_markeredgecolor_iterablert         lnnGCX///!344FJJry}}bimm46JJJJ
))0)
1
1C3==??SE22 > >ez$$T^^%5%5u======> >r3   c                  2   t          j                    \  } }t          j                            t
          j                            d                    }|                    t          j	        d          t          j	        d          dt          j	        d          |d           |
                    d          }t          |                                dg          D ]9\  }}t          j                            |                                |          sJ :d S )Nr   rM  Reds)r   r   r   cmaprj  rP  r  r   r   r   cmviridisr   r   r  r    rO   r$   r   r  r*   rR  rS  )r+   r,   r  r   r  r/   s         r1   :test_legend_pathcollection_labelcolor_markeredgecolor_cmapr|    s     lnnGC	r 2 233JJJ
	"
	"
)B--     ))0)
1
1C3==??SE22 > >ez$$T^^%5%5u======> >r3   c                     t          j                    \  } }|                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          d	z  d
d           |                    d          }t          |                                g d          D ]9\  }}t          j	        
                    |                                |          sJ :d S )Nr   r   rM  r   r   markerfacecolorr5   rN  r   rj   rO  r   r  rP  rW  rX  rY  s        r1   &test_legend_labelcolor_markerfacecolorr    rl  r3   c                     t          j                    \  } }|                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          d	z  d
d           |                    d          }t          |                                g d          D ]9\  }}t          j	        
                    |                                |          sJ :d S )Nr   r   rM  r   r   r  r5   rN  r   rj   rO  r   r  rP  rW  r`  rY  s        r1   5test_legend_pathcollection_labelcolor_markerfacecolorr    rp  r3   c                     t          j                    \  } }t          j        g ddz            }|                    t          j        d          t          j        d          d|           |                    d          }t          |                                dg          D ]9\  }}t          j
                            |                                |          sJ :d S )	Nrc  r5   r   rM  r  r  rP  r  rr  rs  s         r1   >test_legend_pathcollection_labelcolor_markerfacecolor_iterabler    ru  r3   c                  
   t          j                    \  } }t          j                            t
          j                            d                    }|                    t          j	        d          t          j	        d          d|           |
                    d          }t          |                                dg          D ]9\  }}t          j                            |                                |          sJ :d S )Nr   rM  r   r  rP  r  ry  rs  s         r1   8test_legend_pathcollection_labelcolor_markfacecolor_cmapr    s     lnnGCV^^BINN2..//FJJ
	"
	"
	     ))0)
1
1C3==??SE22 > >ez$$T^^%5%5u======> >r3   c                    t          j                    \  }}|                    t          j        d          t          j        d          dz  d           |                    t          j        d          t          j        d          dz  d           |                    t          j        d          t          j        d          dz  d           | t
          j        d	<   |                                }|                                D ]6}t
          j	        
                    |                                |           sJ 7d S )
Nr   r   rM  rL   r5   rN  rj   rO  legend.labelcolor)r   r   rB   r   rO   r   r   r$   r  r*   rR  rS  rT  s        r1   %test_legend_labelcolor_rcparam_singler    s     lnnGCGGBIbMM29R==?$G777GGBIbMM29R==?$G777GGBIbMM29R==?$G777(-CL$%
))++C > >z$$T^^%5%5u======> >r3   c                     t          j                    \  } }|                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          d	z  d
d           dt
          j        d<   |                                }t          |	                                g d          D ]9\  }}t
          j
                            |                                |          sJ :d S )Nr   r   rM  r   r\  r5   rN  r   rj   rO  r   r]  r  rW  r   r   rB   r   rO   r   r   r$   r   r  r*   rR  rS  rY  s        r1   (test_legend_labelcolor_rcparam_linecolorr    s   lnnGCGGBIbMM29R==?$cGBBBGGBIbMM29R==?$cGBBBGGBIbMM29R==?$cGBBB(3CL$%
))++C3==??OOO<< > >ez$$T^^%5%5u======> >r3   c                     t          j                    \  } }|                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          d	z  d
d           dt
          j        d<   |                                }t          |	                                g d          D ]9\  }}t
          j
                            |                                |          sJ :d S )Nr   r   rM  r   ri  r5   rN  r   rj   rO  r   rj  r  rW  r  rY  s        r1   .test_legend_labelcolor_rcparam_markeredgecolorr       lnnGCGGBIbMM29R==?$GLLLGGBIbMM29R==?$GLLLGGBIbMM29R==?$GLLL(9CL$%
))++C3==??OOO<< > >ez$$T^^%5%5u======> >r3   c                     t          j                    \  } }|                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          d	z  d
d           dt
          j        d<   |                                }t          |	                                g d          D ]9\  }}t
          j
                            |                                |          sJ :d S )Nr   r   rM  r   ri  r5   rN  r   rj   rO  r   mecr  rW  r  rY  s        r1   4test_legend_labelcolor_rcparam_markeredgecolor_shortr       lnnGCGGBIbMM29R==?$GLLLGGBIbMM29R==?$GLLLGGBIbMM29R==?$GLLL(-CL$%
))++C3==??OOO<< > >ez$$T^^%5%5u======> >r3   c                     t          j                    \  } }|                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          d	z  d
d           dt
          j        d<   |                                }t          |	                                g d          D ]9\  }}t
          j
                            |                                |          sJ :d S )Nr   r   rM  r   r~  r5   rN  r   rj   rO  r   r  r  rW  r  rY  s        r1   .test_legend_labelcolor_rcparam_markerfacecolorr    r  r3   c                     t          j                    \  } }|                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          dz  dd           |                    t          j        d          t          j        d          d	z  d
d           dt
          j        d<   |                                }t          |	                                g d          D ]9\  }}t
          j
                            |                                |          sJ :d S )Nr   r   rM  r   r~  r5   rN  r   rj   rO  r   mfcr  rW  r  rY  s        r1   4test_legend_labelcolor_rcparam_markerfacecolor_shortr  (  r  r3   z4ignore:No artists with labels found to put in legendc                     t          j                    } |                                 rJ |                     d           |                                 sJ |                     d           |                                 rJ d S )NTF)r   r$   get_draggableset_draggabler$   s    r1   test_get_set_draggabler  5  s    Z\\F##%%%%%
!!!!!
##%%%%%%%r3   	draggable)TFc                     t          j                    \  }}|                    t          d          d           |                    |           }|                                | u sJ d S )Nr   shabnamsrL   )r  )r   r   rB   rw   r$   r  )r  r+   r,   r   s       r1   test_legend_draggabler  ?  sc    lnnGCGGE"IIZG(((
))i)
(
(C)++++++r3   c                     t          j        g dddd          \  } }}t          j                    }|j        D ]}|                    d           |                                d d         |d                                         d d         k    sJ |                                d d         |d                                         d d         k    sJ d S )	Nr   g      ?datar  )r  r   r/   re   rU   r   )r   rv   r$   r  	set_alphaget_facecolorget_edgecolor)r-   r  hhr$   r  s        r1   test_alpha_handlesr  G  s    x			V5IIIHAq"Z\\F#  
Scrc"be&9&9&;&;CRC&@@@@@crc"be&9&9&;&;CRC&@@@@@@@r3   c                 0   dt           j        d<   dt           j        d<   dt           j        d<   t          j                    \  }}|                    ddd	           |                    d
           |j                                         d| j        vsJ d S )Nr*  zfont.familyzComputer Modernz
font.serifTztext.usetexr   inputrL   r   r/  z Font family ['serif'] not found.)	r   r   r   r   rB   r$   rx   ry   r  )caplogr+   r,   s      r1   test_usetex_no_warnr  P  s    ")CL!2CL"&CLlnnGCGGAqG   IIKI   JOO-V[@@@@@@r3   c                 F   t          j        dd          |                     t          dfd           t	          j                    \  }}|j                                         g d}g d}|                    ||dd	
           t          ddi          5  |
                                }d d d            n# 1 swxY w Y   t          j        t          d          5 }|                    |           d d d            n# 1 swxY w Y   t          |          dk    sJ d S )Nr         ?rn   perf_counterc                  "    t                     S r7   nextcounters   r1   <lambda>z-test_warn_big_data_best_loc.<locals>.<lambda>a      d7mm r3   r]   r`   rc   r;   rL   z
legend.locrN   zGCreating legend with loc="best" can be slow with large amounts of data.r-  r5   )	itertoolscountsetattrtimer   r   rx   ry   rB   r	   r$   r/  rU  r  draw_artistr   )monkeypatchr+   r,   r-   r.   r$   recordsr  s          @r1   test_warn_big_data_best_locr  ^  s   oac***Gn.C.C.C.CDDDlnnGCJOO 	'&&A***AGGAq$fG%%%	\6*	+	+                	k)
* 
* 
*  -4                              w<<1s$   B99B= B=DDDc                 f   t          j        dd          |                     t          dfd           t	          j                    \  }}|j                                         g d}g d}|                    ||dd	
           |	                    d          }|
                    |           d S )Nr   r  r  r  c                  "    t                     S r7   r  r  s   r1   r  z:test_no_warn_big_data_when_loc_specified.<locals>.<lambda>y  r  r3   r]   r`   rc   r;   rL   rN   )r  r  r  r  r   r   rx   ry   rB   r$   r  )r  r+   r,   r-   r.   r$   r  s         @r1   (test_no_warn_big_data_when_loc_specifiedr  v  s    oac***Gn.C.C.C.CDDDlnnGCJOO 	'&&A***AGGAq$fG%%%YYvFOOFr3   label_arraylowhigh)r  r  c                     g d}ddgddgddgg}t          j                    \  }}|                    |||            |                                }d |                                D             }|d	d
gk    sJ d S )Nr   r   r5   r   r   rp   rL   c                 6    g | ]}|                                 S r8   r  r:   entrys     r1   r  z;test_plot_multiple_input_multiple_label.<locals>.<listcomp>  "    BBBENN$$BBBr3   r  r  )r   r   rB   r$   r  )r  r-   r.   r+   r,   r   legend_textss          r1   'test_plot_multiple_input_multiple_labelr    s     			A
Q
Q
Q	A lnnGCGGAqG$$$
))++CBB#--//BBBLE6?******r3   r   r   r   c                    g d}ddgddgddgg}t          j                    \  }}|                    |||            |                                }d |                                D             }|t          |           gdz  k    sJ d S )	Nr   r   r5   r   r   rp   rL   c                 6    g | ]}|                                 S r8   r  r  s     r1   r  z9test_plot_multiple_input_single_label.<locals>.<listcomp>  r  r3   )r   r   rB   r$   r  rW  )r   r-   r.   r+   r,   r   r  s          r1   %test_plot_multiple_input_single_labelr    s     			A
Q
Q
Q	A lnnGCGGAqG
))++CBB#--//BBBLCJJ<!+++++++r3   c                    g d}g d}t          j                    \  }}t          j        t          j        d          5  |                    |||            d d d            n# 1 swxY w Y   |                                }t          |	                                          dk    sJ |	                                d         
                                t          |           k    sJ d S )Nr   )r5   r   r   z$Passing label as a length 2 sequencer-  rL   r   r   )r   r   r/  rU  r   MatplotlibDeprecationWarningrB   r$   r   r  r  rW  )r  r-   r.   r+   r,   r   s         r1   %test_plot_single_input_multiple_labelr    s    			A		AlnnGC	c6B
D 
D 
D ) )
1K((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ))++Cs}}1$$$$==??1&&((C,<,<<<<<<<s   A$$A(+A(c                      t          j                    \  } }|                    dgdggdg          \  }|                                dk    sJ d S )Nr   r   ArL   )r   r   rB   	get_label)r+   r,   r;   s      r1   !test_plot_single_input_list_labelr    sS    lnnGCGGaS1#JseG,,ED>>s""""""r3   c                      t          j        t                    5  g d} ddgddgddgg}g d}t          j                    \  }}|                    | ||           d d d            d S # 1 swxY w Y   d S )	Nr   r   r5   r   r   rp   )r  r  mediumrL   )r/  r0  r  r   r   rB   )r-   r.   r   r+   r,   s        r1   3test_plot_multiple_label_incorrect_length_exceptionr    s     
z	"	" # #IIVVV *)),..R
1E"""# # # # # # # # # # # # # # # # # #s   AA))A-0A-c                      t          j                    \  } }|                    g dg dg dddd           |                                 d S )Nr_  r   r   r   faceFill)r  r   r   )r   r   r   r$   r   s     r1   test_legend_face_edgecolorr    sY    lnnGCOOIIIyyy)))!V6  C C CIIKKKKKr3   c                      t          j                    \  } }|                    ddgddgd           |                                }|j        |u sJ |                                d         j        |u sJ d S )Nr   r5   rj   r   r;   rL   r   )r   r   rB   r$   r2  r  r   s      r1   test_legend_text_axesr    st    lnnGCGGQFQF&G)))
))++C8r>>>>==??1"b((((((r3   c                  J   t          j                    \  } }|                    ddgddgd           t          j        dgdgd          g}|                    |dgd          }|d                                         |j        d                                         k    sJ d S )Nr   r   r  )r  r  r  )r   r   r    mlinesLine2Dr$   r
  r  )r+   r,   r0   r   s       r1   test_handlerline2dr    s    lnnGCJJ1v1vcJ***}aS1#c2223G
))Gj\Q)
7
7C1:  ""c&8&;&F&F&H&HHHHHHHr3   c                     t          j                                                    } |                                 }|                    ddgddgd           |                                 }|                    d          | u sJ d S )Nr   r   r;   rL   F)root)r   r   
subfiguresr   rB   r$   
get_figure)subfigr,   r   s      r1   test_subfigure_legendr    sz    Z\\$$&&F			BGGQFQF&G)))
--//C>>u>%%//////r3   c                     t          j        ddgddgdd          } t          j                                                    d         }|                    d           |                                d d         t          |                                 d         d d                   k    sJ |                                d d         t          |                                 d         d d                   k    sJ d S )	Nr   r   r5   rj   z#123456r   )r/   r   r   )r   r   r$   get_patchesr  r  tupler  )pcr   s     r1   -test_setting_alpha_keeps_polycollection_colorr    s    		1a&1a&		I	I	IBJLL$$&&q)E	OOC  !$b.>.>.@.@.CBQB.G(H(HHHHH  !$b.>.>.@.@.CBQB.G(H(HHHHHHHr3   c                  H   g d} t          j                    \  }}d | D             }g d}d |D             }|                    ||          }d |                                D             }d |                                D             }||cxk    r| k    sn J ||k    sJ d S )N)r   *r  c                 B    g | ]}t          j        d gd gd|          S )r   None)lsr  )r  r  )r:   marks     r1   r  z3test_legend_markers_from_line2d.<locals>.<listcomp>  s?     # # # ]A3t<<< # # #r3   )r  rX   xyzzyc                 6    g | ]}|                                 S r8   r	  r9   s     r1   r  z3test_legend_markers_from_line2d.<locals>.<listcomp>  s"    333Tt  333r3   c                 6    g | ]}|                                 S r8   r	  r9   s     r1   r  z3test_legend_markers_from_line2d.<locals>.<listcomp>  s"    DDD4??$$DDDr3   c                 6    g | ]}|                                 S r8   r  )r:   r  s     r1   r  z3test_legend_markers_from_line2d.<locals>.<listcomp>  s     AAAd$--//AAAr3   )r   r   r$   rC   r  )	_markersr+   r,   r   r)   r  r$   new_markers
new_labelss	            r1   test_legend_markers_from_line2dr    s    HlnnGC# #!# # #E$$$F33U333GYYuf%%FDD1A1A1C1CDDDKAAf.>.>.@.@AAAJk----X------Zr3   c                 n    g d}d}|                      ||           |                     ||           d S )N)r   r   r   r   er  rj   )ncol)rl   r  )r  r  stringsrl   s       r1   test_ncol_ncolsr  	  sF     -,,GEOOG%O(((NN7%N(((((r3   c                     t          j                    \  } }t          j        t          d          5  |                    ddg           d d d            n# 1 swxY w Y   t          j        t          d          5  |                    ddg           d d d            n# 1 swxY w Y   t          j        t          d          5  |                    d	dg           d d d            d S # 1 swxY w Y   d S )
NzFloc must be string, coordinate tuple, or an integer 0-10, not \(1.1,\)r-  )r   r  r   r)   zWloc must be string, coordinate tuple, or an integer 0-10, not \(0.481, 0.4227, 0.4523\))bX9?g:M?gm{?zRloc must be string, coordinate tuple, or an integer 0-10, not \(0.481, 'go blue'\))r  zgo bluer   r   r/  r0  r  r$   r   s     r1    test_loc_invalid_tuple_exceptionr    s    lnnGC	z +C 
E 
E 
E 5 5
		g{m	4445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 
z +T 
V 
V 
V E E
		-{m	DDDE E E E E E E E E E E E E E E 
z +Q 
S 
S 
S @ @
		(+	???@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @s5   AAA=B""B&)B&C..C25C2c                      t          j                    \  } }|                    ddg           |                    ddg           d S )N)r  }?5^I?r  r  )r   r5   r   r   r$   r   s     r1   test_loc_valid_tupler  #  sG    lnnGCII.+I777II&+I/////r3   c                      t          j                    \  } }|                    ddgdg           |                    ddgdg           d S )Nr  r	  r  r  r   r5   r
  r   s     r1   test_loc_valid_listr  )  sO    lnnGCII5%.+I777II1a&+I/////r3   c                      t          j                    \  } }t          j        t          d          5  |                    g ddg           d d d            d S # 1 swxY w Y   d S )NzOloc must be string, coordinate tuple, or an integer 0-10, not \[1.1, 2.2, 3.3\]r-  )r   r  gffffff
@r  r  r  r   s     r1   test_loc_invalid_list_exceptionr  /  s    lnnGC	z +L 
N 
N 
N = =
		ooo{m	<<<= = = = = = = = = = = = = = = = = =   AA!Ac                      t          j                    \  } }t          j        t          d          5  |                    ddidg           d d d            d S # 1 swxY w Y   d S )NzKloc must be string, coordinate tuple, or an integer 0-10, not {'not': True}r-  notTr  r  r  r   s     r1   test_loc_invalid_typer  6  s    lnnGC	z +F 
H 
H 
H ; ;
		udm[M	:::; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;r  c                      t          j                    \  } }|                    ddg           |                    ddg           |                    ddg           |                    ddg           t          j        t
          d          5  |                    d	dg           d d d            n# 1 swxY w Y   t          j        t
          d
          5  |                    ddg           d d d            d S # 1 swxY w Y   d S )Nr   r  r  r   r   r   z@loc must be string, coordinate tuple, or an integer 0-10, not 11r-  r>  z@loc must be string, coordinate tuple, or an integer 0-10, not -1rU   r   r   r$   r/  r0  r  r   s     r1   !test_loc_validation_numeric_valuer  =  s   lnnGCII![MI***II![MI***II![MI***II"k]I+++	z +; 
= 
= 
= 0 0
		b+	///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
z +; 
= 
= 
= 0 0
		b+	///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s$   B77B;>B;DD
Dc                     t          j                    \  } }dg}|                    d|           |                    d|           |                    d|           |                    d|           |                    d|           |                    d|           |                    d|           |                    d|           |                    d	|           |                    d
|           |                    d|           |                    d|           t          j        t
          d          5  |                    d|           d d d            d S # 1 swxY w Y   d S )Nr  rN   r  r  r@   r   r	  r   r   r  zlower centerzupper centerz 'wrong' is not a valid value forr-  wrongr  )r+   r,   r)   s      r1    test_loc_validation_string_valuer  L  s   lnnGC]FII&I(((II-I///II&I(((II-I///II,vI...II,vI...II-I///II'&I)))II-I///II.I000II.I000II.I000	z)K	L	L	L . .
		gf	---. . . . . . . . . . . . . . . . . .s   	E..E25E2c                     t          j        t          d                    \  } t          j        t          d                    \  }t          j        t
          d          5  t          j        | |gg d          }t          |j                  dk    sJ t          |	                                          dk    sJ 	 d d d            d S # 1 swxY w Y   d S )Nr   znumber of handles and labelsr-  pl1pl2pl3r0   r)   r5   )
r   rB   rw   r/  rU  r  r$   r   r  r  r  r  r$   s      r1   !test_legend_handle_label_mismatchr!  _  s   8E"IIDC8E"IIDC	k)G	H	H	H , ,S#J7L7L7LMMM6())Q....6##%%&&!+++++, , , , , , , , , , , , , , , , , ,s   "ACCCc                  |   t          j        t          d                    \  } t          j        t          d                    \  }t          j        t	          | |g          t	          g d                    }t          |j                  dk    sJ t          |                                          dk    sJ d S )Nr   r  r  r5   )r   rB   rw   r$   iterr   r  r  r   s      r1   (test_legend_handle_label_mismatch_no_lenr$  h  s    8E"IIDC8E"IIDCZc3Z 0 0#$9$9$9::< < <Fv$%%****v!!""a''''''r3   c                      t          j        g d           t          j        t          d          5  t          j                     d d d            d S # 1 swxY w Y   d S )Nr   zNo artists with labels foundr-  )r   rB   r/  r0  r  r$   r8   r3   r1   test_legend_nolabels_warningr&  q  s    HYYY	{*H	I	I	I  
                 s   AAAc                      t          j        g d           t          j                     t          j                                                    J d S )Nr   )r   rB   r$   r&  r   r8   r3   r1   test_legend_nolabels_drawr(  w  sE    HYYYJLLL799!!-----r3   c            	      d   g d} g d}g d}g }t          j        dd          \  }}t          |j        d          D ]\  }}|                    | ||dd	d
           |                    dd           |                    dd           |                    |          }|j        	                                 |
                    |                                                    |j                                                             t          |d         j        |d         j                   d S )Nr   )r   r   r   )r   r   r   r5   r   r   rk   rN   r   grayr   zShaded Area)r/   r  r   r   r   rU   r   rA   r   )r   r   r   rt   r   rf   rg   r$   rx   ry   rz   r{   r|   r}   r~   r   r   )	r-   r  r  r   r+   r   r,   r   r   s	            r1   test_legend_loc_polycollectionr-  ~  s9    			A	B	BJ|!W555HCsx!788 J JC
2rs-PPP
Aq
BiiCi  
!!##//0E0E0G0GHH	J 	J 	J 	JJqM(*Q-*>?????r3   c                  0   t          j        dd          \  } }g }t          |j        d          D ]\  }}ddg}ddg}|                    ||d           |                    ddd	d
           |                    |          }| j                                         |	                    |
                                                    |j                                                             t          |d         j        |d         j                   d S )Nr5   r*  rk   r+  r   z	plot namerL   r  zsome text blahblahtop)verticalalignmentrA   r   )r   r   r   rt   rB   r  r$   rx   ry   rz   r{   r|   r}   r~   r   r   )r+   r   r   r,   r   r-   r.   r   s           r1   test_legend_textr1    s    |!W555HCJsx!788 J JCFF
1K(((
Q,FFFiiCi  
!!##//0E0E0G0GHH	J 	J 	J 	JJqM(*Q-*>?????r3   c                     t          j                    \  } }|                    g dd           |                    dd           |                    d           t
          j                            | d	| j        
          5 }| 	                    t          j                               d d d            n# 1 swxY w Y   |                                 d S )Nr   LinerL   r   )r   r   )r   r   rA   _get_renderer)wraps)r   r   rB   annotater$   r   r   objectr4  savefigioBytesIOassert_not_called)r+   r,   mocked_get_renderers      r1   test_legend_annotater=    s   lnnGCGGIIIVG$$$KKKII!I			(9 
 
; 
; ">QBJLL!!!" " " " " " " " " " " " " " "
 ))+++++s   'B77B;>B;c                     t           j                            d           t           j                            d          } t          j        dd          \  }}g d}|d                             | d|	          }d
 |d         D             |k    sJ |d                                         \  }}||k    sJ t          d |D                       sJ |d                             | |d          }d |d         D             |k    sJ |d                                         \  }}||k    sJ t          d |D                       sJ t          j	        t          d          5  |d                             | |d d                   }d d d            n# 1 swxY w Y   |d                             | d          }	|	d         d                                         dk    sJ t          d |	d         dd          D                       sJ d S )Ni!N,)r   r   r   r   )nrowsrl   )box Azbox Bzbox Czbox Dr   T)patch_artistr   c                 6    g | ]}|                                 S r8   r  r:   r  s     r1   r  z.test_boxplot_legend_labels.<locals>.<listcomp>  s     000aAKKMM000r3   boxesc              3   T   K   | ]#}t          |t          j        j                  V  $d S r7   )
isinstancer   patches	PathPatchr  s     r1   r<   z-test_boxplot_legend_labels.<locals>.<genexpr>  s1      EEz!S[233EEEEEEr3   F)r   showboxc                 6    g | ]}|                                 S r8   rC  rD  s     r1   r  z.test_boxplot_legend_labels.<locals>.<listcomp>  s     222aAKKMM222r3   mediansc              3   T   K   | ]#}t          |t          j        j                  V  $d S r7   )rG  r   r   r  r  s     r1   r<   z-test_boxplot_legend_labels.<locals>.<genexpr>  s1      @@1z!SY-..@@@@@@r3   z values must have same the lengthr-  r5   rU   rL   rj   r@  c              3   d   K   | ]+}|                                                     d           V  ,dS )_N)r  rY  )r:   r-   s     r1   r<   z-test_boxplot_legend_labels.<locals>.<genexpr>  s8      IIq{{}}'',,IIIIIIr3   )r   r   seedr   r   boxplotr!   allr/  r0  r  r  )
r  r+   r   legend_labelsbp1r0   r)   bp2bp3bp4s
             r1   test_boxplot_legend_labelsrX    sn   INN89G$$D|!1---HC888M a&..D.
F
FC003w<000MAAAA!f6688OGV]""""EEWEEEEEEEE a&..]E.
B
BC223y>222mCCCC!f6688OGV]""""@@@@@@@@@@ 
z)K	L	L	L = =!fnnTss);n<<= = = = = = = = = = = = = = = a&..W.
-
-Cy>!&&((G3333IIc)nQRR6HIIIIIIIIIIs   #&FFF)r"   r9  r  platformr  unittestr   r  numpyr   numpy.testingr   r/  matplotlib.testing.decoratorsr   r   matplotlib.testing._markersr   matplotlib.pyplotpyplotr   
matplotlibr   matplotlib.patchesrH  r   matplotlib.transforms
transformsr  matplotlib.collectionsr  matplotlib.linesr   r  matplotlib.legend_handlerr   matplotlib.legendr$   r  r	   matplotlib.font_managerr
   r2   rD   rP   r[   rh   r   r   r   machiner   r   r   r   r   r   r   r   r   r   r  r  r   rk  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r$  r'  r8  r  parametrizer>  rD  rH  rK  rU  rZ  r^  ra  re  rg  rk  ro  rt  r|  r  r  r  r  r  r  r  r  r  r  filterwarningsr  r  r  r  r  r  r   r  intr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r$  r&  r(  r-  r1  r=  rX  r8   r3   r1   <module>rn     s       				                  ) ) ) ) ) )  O O O O O O O O 4 4 4 4 4 4           % % % % % % + + + + + + - - - - - - ! ! ! ! ! ! 2 2 2 2 2 2 # # # # # # ! ! ! ! ! ! 2 2 2 2 2 29 9 9$	1 	1 	1 %&D999  :9 %&D999: : :9: %&''  ('@ @ @,@ @ @@ ./TBBB' ' CB' ,-4+8+--99aauF F F- -F F- -.D+8+--99aauF F F	I 	IF F	I #$$+8+--99aatE E E2 2E E2 &'T+8+--99aatE E E	6 	6E E	6 ;-Tt<<<
E 
E =<
E <.d+8+--99aauF F F F F $&78dKKK! ! LK!  &'T:::8 8 ;:8 :,D	BBB. . CB.B# # #5 5 5$ (((
 
 )(
]N ]N ]N ]N ]N ]N ]N ]N@5 5 5 5 5 5 5 5p&# &# &#R )*+8+--99aauF F F F F    (   -.//" " 0/" 7899+ + :9+: : :(  ' ' '"   ./T+8+--99aauF F F! !F F!*7 7 7, , ,- - -, , ,  #1 #1 #1L &ABB, , CB,  3447 7 547  ;<<7 7 =<7 &ABB, , CB, "?@@	> 	> A@	>	> 	> 	>	> 	> 	>	> 	> 	>	< 	< 	<< < <	> 	> 	>	> 	> 	>	> 	> 	>> > >&	> 	> 	>	> 	> 	>	> 	> 	>> > >" "?@@
> 
> A@
>
> 
> 
>
> 
> 
>
> 
> 
>
> 
> 
>
> 
> 
> RSS& & TS& m44, , 54,A A A 
A 
A 
A  0  " %)8)15&/)B)B)D E E+ +E E+ 5!S/22, , 32, %)8)15&/)B)B)D E E= =E E=# # #
# 
# 
#  ) ) )I I I0 0 0I I I     " ((() ) )()@ @ @"0 0 00 0 0= = =; ; ;0 0 0. . .&, , ,( ( (   RSS. . TS.@ @ @&@ @ @", , ,J J J J Jr3   