
    (ph-              	       	   S SK r S SKrS SKrS SKrS SKrS SKJr  S SKrS SKr	S SK
Jr  S SKrS SKJrJr  S SKJr  S SKJr  S SKrS SKJr  S SKJr  S SKJ r  S SKJ r!  S SK"J#r#  S SK$J%r&  S SKJ'r'  S SK(J)r)  S	 r*\" S
/SS9S 5       r+\" S/SS9S 5       r,\" S/5      S 5       r-S r.S r/\" S/SS9S 5       r0\" S/S\Rb                  " 5       S:X  a  S OSS9S 5       r2\" S/S\Rb                  " 5       S:X  a  S OSS9S 5       r3\" S/S\Rb                  " 5       S:X  a  S OSS9S 5       r4\" S /S\Rb                  " 5       S:X  a  S OSS9S! 5       r5\" S"/SS#S9S$ 5       r6\" S%/S\Rb                  " 5       S:X  a  S OS&S9S' 5       r7\" S(S)/SS9S* 5       r8\" S+/SS9S, 5       r9\" S-/SS.S/9S0 5       r:S1 r;S2 r<\" S3/S49S5 5       r= " S6 S75      r> " S8 S95      r?S: r@\" S;/\Rb                  " 5       S:X  a  S OS<S=9S> 5       rAS? rBS@ rCSA rD\" SB/5      SC 5       rE\" SD/5      SE 5       rFSF rGSG rHSH rISI rJ\" SJ/SSK\Rb                  " 5       S:X  a  S OSLSM9SN 5       rKSO rLSP rMSQ rNSR rOSS rPST rQ\R                  R                  SUSV5      SW 5       rT\R                  R                  SXSY5      SZ 5       rU\R                  R                  SXS[5      S\ 5       rV\R                  R                  SUSV5      S] 5       rW\R                  R                  S^S_5      S` 5       rXSa rYSb rZSc r[Sd r\Se r]Sf r^Sg r_Sh r`Si raSj rbSk rcSl rdSm re\R                  R                  S^S_5      Sn 5       rfSo rgSp rhSq riSr rjSs rk\R                  R                  St5      Su 5       rm\R                  R                  SvSw5      Sx 5       rnSy ro\Sz 5       rpS{ rqS| rr\R                  R                  S}S~S/S\	R                  " S~S/5      /5      S 5       rt\R                  R                  SSS\u/5      S 5       rv\R                  R                  S}S~S/S\	R                  " S~S/5      /5      S 5       rwS rxS ryS rzS r{S r|S r}S r~S r\" S3/S49S 5       rS rS rS rS rS rS rS rS rS rS r\R                  R                  St5      S 5       rS rS rS rS rg)    N)mock)assert_allclose)check_figures_equalimage_comparison)needs_usetex)HandlerTuple)
rc_context)FontPropertiesc                     [         R                  R                  S5      n [         R                  R                  S5      nS/S-  S/S-  -   nS/S-  S/S-  -   n[        R                  " 5       u  pE[        XX#5       H  u  pgpUR                  XgXS9  M     UR                  5       u  p[        R                  " [        X*5      5      nUR                  UR                  5       UR                  5       SS	S
9  g )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               O/var/www/html/venv/lib/python3.13/site-packages/matplotlib/tests/test_legend.pytest_legend_ordereddictr2      s     			A
		AUQY#"FUQY#"FllnGC!!7e


1u
. 8 224OG$$S%9:FIIfmmov{{}  9    zlegend_auto1.pngT)remove_textc                      [         R                  " 5       u  p[        R                  " S5      nUR	                  USU-
  SSS9  UR	                  X"S-
  SSS9  UR                  SS9  g	)
Test automatic legend placementd   2   oy=1r   y=-1bestr   N)r   r   r   arangeplotr$   )r+   r,   r-   s      r1   test_legend_auto1rA   -   sZ     llnGC
		#AGGArAvs%G(GGA2vs&G)II&Ir3   zlegend_auto2.pngc                      [         R                  " 5       u  p[        R                  " S5      nUR	                  X"SSS9nUR	                  X"SSS2   SSS9nUR                  US   US   /S	S
/SS9  g)r6   r7   edgem)alignr/   Nr   r   updownr=   r>   )r   r   r   r?   barr$   )r+   r,   r-   b1b2s        r1   test_legend_auto2rL   7   sp     llnGC
		#A	F#	.B	TrT7&	4BIIr!ubentVn&I9r3   zlegend_auto3.pngc                      [         R                  " 5       u  p/ SQn/ SQnUR                  X#SSS9  UR                  SS5        UR	                  SS5        UR                  SS	9  g
)r6   ?皙?rP   rO   rO   r   ffffff?rR   皙?rS   r   r   o-liner;                 ?r=   r>   N)r   r   r@   set_xlimset_ylimr$   )r+   r,   r-   r.   s       r1   test_legend_auto3rZ   A   sW     llnGC&A*AGGA$fG%KKSKKSII&Ir3   c                  R   [         R                  " SSS9u  p/ n[        UR                  S5       H  u  p4UR	                  U5        UR                  S/SS/-  -   [        S5      S	US
9  UR                  SS9nU R                  R                  5         UR                  UR                  5       R                  UR                  R                  5       5      5        M     [        US   R                   US   R                   5        [        US   R                   US   R                   5        g)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)rI   step
stepfilledr   r   	   r   Legend)binsr   histtyper=   r>   r      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_auto4rw   M   s     ||!Z8HCJchh =>
R
ae%)8bIiiFi#

!!#//0E0E0GH	J ? JqM((*Q-*>*>?JqM((*Q-*>*>?r3   c                     [         R                  " SSS9u  p/ n[        UR                  S5       GH  u  p4[        R
                  " SSSSS	9[        R                  " [        R                  " S
S/S
S
/SS
/SS/SS/SS/SS/SS/SS//	5      SS9[        R                  " SSS
SSSS94 H  nUR                  U5        M     UR                  SS/SS/SS9  UR                  US9nU R                  R                  5         UR                  UR!                  5       R#                  UR$                  R'                  5       5      5        GM     [)        US   R*                  US
   R*                  5        g)zu
Check that the automatic placement handle a rather complex
case with non rectangular patch. Related to issue #9580.
rf   )g333333#@g333333@r]   centerr=   )r   rO   皙?皙?C1)xywidthheightfcr   r   rO   rW   rP   )r   )r   r   r   ih  rS   C0)r   r   z	A segmentr;   r>   N)r   r   r   rg   mpatchesEllipsePolygonr   arrayWedge	add_patchr@   r$   rk   rl   rm   rn   ro   rp   rq   r   rr   )r+   rs   rt   r,   r   _patchrv   s          r1   test_legend_auto5r   c   sf   
 ||!Z8HCJsxx!34
   !STC  FQFQFQFS#Jc
#Jc
S#J+8 "9=AC z33dtLF LL  	c
S#Jk:iiCi 

!!#//0E0E0GH	J% 5* JqM((*Q-*>*>?r3   zlegend_various_labels.pngc                  T   [         R                  " 5       n U R                  S5      nUR                  [        R
                  " S5      SSS9  UR                  [        R                  " SS5      SSS9  UR                  [        R
                  " SSS5      SS	S9  UR                  SS
S9  g )Ny      r9   r   r;   gffffff@u   DéveloppésrF   __nolegend__r=   )	numpointsr   )r   figureadd_subplotr@   r   r?   linspacer$   r+   r,   s     r1   test_various_labelsr      s     **,C		BGGBIIaL#QG'GGBKK3NG;GGBIIaBNG;IIvI&r3   zlegend_labels_first.pngx86_64g9v?)r4   tolc                  :   [         R                  " 5       u  pUR                  [        R                  " S5      SSS9  UR                  [        R
                  " S5      S-  SSS9  UR                  [        R                  " SSS	5      S
SS9  UR                  SSS9  g )Nr   -or   r;   r   z:xr-      rF   ddiamondr=   F)r   markerfirst)r   r   r@   r   r?   onesr$   r   s     r1   test_labels_firstr      sx     llnGCGGBIIbM4qG)GGBGGBKM4sG+GGBIIb"b!3iG8II&eI,r3   zlegend_multiple_keys.pngc                     [         R                  " 5       u  pUR                  / SQS5      u  nUR                  / SQS5      u  nUR                  / SQS5      u  nUR                  X#4X24U// SQSX#4[	        S S	9X24[	        S S
S90S9  g )Nr   rf   r\   r   rf   r\   r   z-xr\   r   r   z-d)ztwo keyszpad=0zone keyr   )ndivider   )r   pad)r   handler_map)r   r   r@   r$   r   )r+   r,   p1p2p3s        r1   test_multiple_keysr      s     llnGC
'')T
"CB
'')T
"CB
'')T
"CBIIx"2&(H8\$%?8\$A%FH  Ir3   zrgba_alpha.pnggQ?c                      [         R                  " 5       u  pUR                  [        S5      SS9  [         R                  " S/SS9nUR
                  R                  / SQ5        g )Nr   r   lwLonglabel that will go awayrz   r>   r   r   r   r   )r   r   r@   rj   r$   legendPatchset_facecolorr+   r,   rv   s      r1   test_alpha_rgbar      sK     llnGCGGE"I!G
**34(
CCOO!!.1r3   zrcparam_alpha.pngc                  *   [         R                  " 5       u  pUR                  [        S5      SS9  [        R
                  " SS0S9   [         R                  " S/SS	9nUR                  R                  / S
Q5        S S S 5        g ! , (       d  f       g = f)Nr   r   r   zlegend.framealphag      ?)rcr   rz   r>   r   )	r   r   r@   rj   mplr	   r$   r   r   r   s      r1   test_alpha_rcparamr      sk     llnGCGGE"I!G	/5	6jj78hG
 	%%n5 
7	6	6s   4B
Bz	fancy.pngrS   c            	         [         R                  " S5        [         R                  " S/S-  SSS9  [         R                  " [        R
                  " S5      [        R
                  " SSS5      S	S9  [         R                  " [        R
                  " S5      [        R
                  " S5      S
S
SS9  [         R                  " SSS
/SSSSS9  g )Nr   r   r   zo--XXr;   r   rF   zXX
XXr   )xerryerrr   r   rW   rf   T	My legendr   )r   r   r^   shadowtitler   )r   subplotr@   r    r   r?   errorbarr$    r3   r1   
test_fancyr      s    
 KKHHaS2XuD)KK		"ryyQ38DLL2		"C'JJ=#st;!Er3   
framealphag~jt?c                      [         R                  " SSS5      n U n[        R                  " XSSS9  [        R                  " SS9  g )Nr   r7   mylabelr   )r   r   r   )r   )r   r   r   r@   r$   )r-   r.   s     r1   test_framealphar      s7     	AsC A	AHHQr*JJ#r3   zscatter_rc3.pngzscatter_rc1.pngc                     [         R                  " 5         [         R                  " S5      n U R                  [        R
                  " S5      [        R
                  " SSS5      SS9  U R                  SSS	/S
S9  S[        R                  S'   [         R                  " 5         [         R                  " S5      n U R                  [        R
                  " S5      [        R
                  " SSS5      SS9  U R                  SSS	/S
S9  g )Nr   r   r   rF   threer;   r   rW   r   r   )r   r   r   r   zlegend.scatterpointsone)	r   r   r   r    r   r?   r$   r   rcParams)r,   s    r1   test_rcr      s     JJL	S	BJJryy}biiAr2'JBII-c
  ! ,-CLL'(JJL	S	BJJryy}biiAr2%J@II-c
  !r3   zlegend_expand.pngc                     SS/n [         R                  " [        U 5      S5      u  p[        R                  " S5      n[        X 5       H  u  pEUR                  USU-
  SSS9  UR                  S	US
9nUR                  U5        UR                  X3S-
  SSS9  UR                  SUS
9nUR                  U5        UR                  SUSS9  M     g)zTest expand modeNexpandr   r7   r8   r9   r:   r;   
upper left)r   moder<   right
lower leftrf   )r   r   r^   )	r   r   lenr   r?   r   r@   r$   
add_artist)legend_modesr+   rs   r-   r,   r   l1l2s           r1   test_legend_expandr      s     (#L||C-q1HC
		#A*
263e,YY<dY3
b
r63f-YY7Y.
b
		lQ	7 +r3   hatchingdefault)r4   stylec            
      v   S[         R                  S'   [         R                  " 5       u  p[         R                  " SSSSSS9nUR	                  U5        [         R                  " SSSS	S
SS9nUR	                  U5        [         R                  " SSSSSSS9nUR	                  U5        [         R                  " SSSS	SS
SS9nUR	                  U5        UR                  / SQ/ SQ/ SQSSS9  UR                  / SQ/ SQ/ SQSSSS9  UR                  SS5        UR                  SS5        UR                  SSS9  g ) 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{   )rO   rW   rO   +zPath
default color)r   gQ?g)\(?C2zPath
explicit colorg{Gz皙?r   )handlelengthhandleheight)	r   r   r   	Rectangler   fill_betweenrX   rY   r$   )r+   r,   patchs      r1   test_hatchingr      s2    +,CLL&'llnGC MM&#s$ >@ELLMM)S#TT ?AELLMM(CDu @BELLMM+sCt%$( ACE LL OOL,%:  <OOO\=5K  M KKsKKsII11I-r3   c                  6   [         R                  " 5       u  pUR                  [        S5      5      nU R	                  US5      nUR                  5         U R                  / :X  d   eUR	                  S5      nUR                  5         UR                  5       b   eg )Nr   test)r   r   r@   rj   r$   removelegends
get_legend)r+   r,   linesrv   s       r1   test_legend_remover     su    llnGCGGE"IE
**UF
#CJJL;;"
))F
CJJL==?"""r3   c                     [         R                  " 5       u  pSnSn/ SQn/ SQnUR                  X#US   US   S9  UR                  X#US   US   S9  UR                  X#US   US   S9  UR                  SS9nUR	                  5        Vs/ s H  owR                  5       PM     nnUR                   V	s/ s H  oR                  5       PM     n
n	U[        [        U5      5      :X  d   eU
[        [        U5      5      :X  d   eg	s  snf s  sn	f )
z6Check that the legend handles and labels are reversed.r   )zFirst labelzSecond labelzThird label).,r9   r   r;   rf   TreverseN)
r   r   r@   r$   	get_textsget_textlegend_handles
get_markerlistreversed)r+   r,   r-   r.   r)   markersrv   tactual_labelshactual_markerss              r1   &test_reverse_legend_handles_and_labelsr  #  s    llnGC	A	A;FGGGA'!*F1IG.GGA'!*F1IG.GGA'!*F1IG.
))D)
!C+.==?;?aZZ\?M;.1.@.@A.@lln.@NAD&!12222T(7"34444 <As   
D3Dpng)
extensionsc                    U R                  5       nUR                  S/SSS9  UR                  S/SSS9  UR                  SS	9  UR                  5       nUR                  S/SSS9  UR                  S/SSS9  UR                  5         g
)z3Check that the rendered legend entries are reversedr   rofirstr;   rf   bxsecondTr   N)r   r@   r$   )fig_testfig_refr,   s      r1   test_reverse_legend_displayr  5  s     
			BGGQCWG%GGQCXG&IIdI				BGGQCXG&GGQCWG%IIKr3   c                   V    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rSrg)TestLegendFunctioniC  c                    [         R                  " [        S5      SS9n[        R                  " S5       n[         R
                  " 5         S S S 5        WR                  [         R                  " 5       US/5        g ! , (       d  f       N6= f)Nr   hello worldr;   matplotlib.legend.Legendr   r@   rj   r   r   r$   assert_called_withgcaselfr   rc   s      r1   test_legend_no_args&TestLegendFunction.test_legend_no_argsE  sV    r-8ZZ23vJJL 4!!#'')U]OD 43s   A;;
B	c                     [         R                  " [        S5      5      n[        R                  " S5       n[         R
                  " US/5        S S S 5        WR                  [         R                  " 5       US/5        g ! , (       d  f       N6= f)Nr   r  r  r  r  s      r1   %test_legend_positional_handles_labels8TestLegendFunction.test_legend_positional_handles_labelsK  s[    r#ZZ23vJJu}o. 4!!#'')U]OD 43s   A??
Bc                     [         R                  " [        S5      5      n[        R                  " [
        SS9   [         R                  " U5        S S S 5        g ! , (       d  f       g = f)Nr   zbut found an Artistmatch)r   r@   rj   pytestraises	TypeErrorr$   )r  r   s     r1   #test_legend_positional_handles_only6TestLegendFunction.test_legend_positional_handles_onlyQ  s>    r#]]9,AB JJu CBBs   A
A'c                    [         R                  " [        S5      SS9n[        R                  " S5       n[         R
                  " S/5        S S S 5        WR                  [         R                  " 5       US/5        g ! , (       d  f       N6= f)Nr   r  r;   r  foobarr  r  s      r1   "test_legend_positional_labels_only5TestLegendFunction.test_legend_positional_labels_onlyX  s[    r-8ZZ23vJJz" 4!!#'')UXJ? 43s   A==
Bc                    [         R                  " [        S5      SS9n[        R                  " S5       n[         R
                  " US/SS9  S S S 5        WR                  [         R                  " 5       US/SS9  g ! , (       d  f       N5= f)Nr   r  r;   r  r&  r   r>   r  r  s      r1   test_legend_three_args)TestLegendFunction.test_legend_three_args^  sd    r-8ZZ23vJJuxjg6 4!!#'')UXJG!L 43s   A<<
B
c                 0   [         R                  " [        S5      SS9n[        R                  " S5       nUS/4Ul        [         R                  " SS0S9  S S S 5        WR                  [         R                  " 5       /SS05        g ! , (       d  f       N7= f)Nr   r  r;   z,matplotlib.legend._get_legend_handles_labels1rf   )r   )	r   r@   rj   r   r   return_valuer$   r  r  )r  r   handles_labelss      r1   test_legend_handler_map*TestLegendFunction.test_legend_handler_mapd  sw    r-8ZZ 5 69G*/-*@N'JJC8,6 	))3779+Qx@	6 6s   !B
Bc                    [         R                  " 5       u  p[        R                  " SSS5      nUR	                  X3SS9u  nUR	                  USU-  SS9u  nUR	                  USU-  S	S9u  n[
        R                  " S
5       nUR                  Xe/S9  S S S 5        WR                  X&U/S	S/5        g ! , (       d  f       N%= f)Nr   r      r-   r;   rf   2xr\   3xr  )r0   	r   r   r   r   r@   r   r   r$   r  )r  r+   r,   r-   ln1ln2ln3rc   s           r1   test_legend_kwargs_handles_only2TestLegendFunction.test_legend_kwargs_handles_onlyl  s    ,,.KK1b!wwq3w'wwq!A#Tw*wwq!A#Tw*ZZ23vIIsjI) 4!!"Cj4,? 43s   B44
Cc                 d   [         R                  " 5       u  p[        R                  " SSS5      nUR	                  X35      u  nUR	                  USU-  5      u  n[
        R                  " S5       nUR                  SS/S9  S S S 5        WR                  X$U/SS/5        g ! , (       d  f       N%= f)	Nr   r   r3  rf   r  r-   r4  r)   r6  )r  r+   r,   r-   r7  r8  rc   s          r1   test_legend_kwargs_labels_only1TestLegendFunction.test_legend_kwargs_labels_onlyv  s    ,,.KK1b!wwq}wwq!A#ZZ23vIIc4[I) 4!!"Cj3+> 43s   0B!!
B/c                    [         R                  " 5       u  p[        R                  " SS[        R                  -  S5      nUR                  U[        R                  " U5      SS9u  nUR                  U[        R                  " U5      SS9u  n[        R                  " S5       nUR                  SXT4S	9  S S S 5        WR                  X%U4S5        g ! , (       d  f       N#= f)
Nr   rf      sinr;   cosr  r   r   )r)   r0   )r   r   r   r   pir@   rB  rC  r   r   r$   r  )r  r+   r,   thlnslncrc   s          r1   !test_legend_kwargs_handles_labels4TestLegendFunction.test_legend_kwargs_handles_labels  s    ,,.[[AbeeGT*wwr266":Uw3wwr266":Uw3ZZ23vIIZ#I< 4 	!!"Cj*= 43s   %C
C"c                 (   [         R                  " 5       u  p[        R                  " SS[        R                  -  S5      nUR                  U[        R                  " U5      SS9u  nUR                  U[        R                  " U5      SS9u  n[        R                  " [        5       nUR                  XT4SS9  S S S 5        [        W5      S	:X  d   e[        US   R                  5      R                  S
5      (       d   eg ! , (       d  f       NN= f)Nr   rf   rA  rB  r;   rC  rD  r=  r   MYou have mixed positional and keyword arguments, some input may be discarded.)r   r   r   r   rE  r@   rB  rC  r   warnsDeprecationWarningr$   r   strmessage
startswith)r  r+   r,   rF  rG  rH  records          r1   test_warn_mixed_args_and_kwargs2TestLegendFunction.test_warn_mixed_args_and_kwargs  s    ,,.[[AbeeGT*wwr266":Uw3wwr266":Uw3\\,-IIsjI4 .6{a6!9$$%00  	  .-s   )D
Dc                 R   SSK Jn  U" S5      nUR                  5       nUR                  / SQ/ SQSS9u  nUR                  / SQ/ SQSS9u  n[        R
                  " S	5       n[        R                  " 5         S S S 5        WR                  X$U/SS/5        g ! , (       d  f       N%= f)
Nr   )host_subploto   r   r   rf   Densityr;   )r   r\   rf   Temperaturer  )	mpl_toolkits.axes_grid1rV  twinxr@   r   r   r   r$   r  )r  rV  hostparr   r   rc   s          r1   test_parasite TestLegendFunction.test_parasite  s    8C jjlii	9Ii>hhy)=hAZZ23vJJL 4!!$R9m2LM 43s   #B
B&r   N)__name__
__module____qualname____firstlineno__r  r  r#  r'  r*  r0  r:  r>  rI  rS  r_  __static_attributes__r   r3   r1   r  r  C  s@    EE@MA@?>
Nr3   r  c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
TestLegendFigureFunctioni  c                 $   [         R                  " 5       u  pUR                  [        S5      5      n[        R
                  " S5       nUR                  US/5        S S S 5        WR                  XS/UR                  S9  g ! , (       d  f       N+= f)Nr   r  r  bbox_transform	r   r   r@   rj   r   r   r$   r  transFigurer  r+   r,   r   rc   s        r1   test_legend_handle_label1TestLegendFigureFunction.test_legend_handle_label  so    ,,.b	"ZZ23vJJu}o. 4!!#}o14 	" 	B 43s   B
Bc                    [         R                  " 5       u  pUR                  [        S5      SS9n[        R
                  " S5       nUR                  5         S S S 5        WR                  XS/UR                  S9  g ! , (       d  f       N+= f)Nr   r  r;   r  ri  rk  rm  s        r1   r  ,TestLegendFigureFunction.test_legend_no_args  sl    ,,.b	7ZZ23vJJL 4!!#}o14 	" 	B 43s   A==
Bc                 "   [         R                  " 5       u  pUR                  [        S5      5      n[        R
                  " S5       nUR                  S/5        S S S 5        WR                  XS/UR                  S9  g ! , (       d  f       N+= f)Nr   r  r&  ri  rk  rm  s        r1   test_legend_label_arg.TestLegendFigureFunction.test_legend_label_arg  sm    ,,.b	"ZZ23vJJz" 4!!#xj14 	" 	B 43s   B  
Bc                    [         R                  " 5       u  pUR                  [        S5      5      n[        R
                  " [        SS9   UR                  US/S5        S S S 5        [        R
                  " [        SS9   UR                  US/SSS9  S S S 5        g ! , (       d  f       ND= f! , (       d  f       g = f)Nr   z0-2r  r&  r   leftr>   )r   r   r@   rj   r   r!  r"  r$   )r  r+   r,   r   s       r1   test_legend_label_three_args5TestLegendFigureFunction.test_legend_label_three_args  s    ,,.b	"]]9E2JJuxj'2 3]]9E2JJuxj'vJ> 32 3222s   BB/
B,/
B=c                    [         R                  " SS5      u  pUS   R                  [        S5      5      nUS   R                  [        R
                  " S5      S-  5      n[        R                  " S5       nUR                  SSX44S	9  S S S 5        WR                  XU4SSUR                  S
9  g ! , (       d  f       N-= f)Nr   rf   r   r          @r  r   rD  )r   r)   r0   )r   rj  )r   r   r@   rj   r   r?   r   r   r$   r  rl  )r  r+   rs   r   lines2rc   s         r1   test_legend_kw_args,TestLegendFigureFunction.test_legend_kw_args  s    <<1%AE"I&QRYYr]R/0ZZ23vJJ7:JO 4!!*'?? 	" 	, 43s   8B22
C c                    [         R                  " SS5      u  pUS   R                  [        S5      5      nUS   R                  [        R
                  " S5      S-  5      n[        R                  " [        5       nUR                  X44SS9  S S S 5        [        W5      S:X  d   e[        US   R                  5      R                  S5      (       d   eg ! , (       d  f       NN= f)	Nr   rf   r   r   rz  rD  r=  rL  )r   r   r@   rj   r   r?   r   rM  rN  r$   r   rO  rP  rQ  )r  r+   rs   r   r{  rR  s         r1   test_warn_args_kwargs.TestLegendFigureFunction.test_warn_args_kwargs  s    <<1%AE"I&QRYYr]R/0\\,-JJzJ: .6{a6!9$$%00  	  .-s   <C
C$r   N)ra  rb  rc  rd  rn  r  rs  rw  r|  r  re  r   r3   r1   rg  rg    s#    BBB?,	r3   rg  c                     S V s/ s H  n SU -   PM
     nn US V s/ s H  n SU -   PM
     sn -  nUS V s/ s H  n SU -   PM
     sn -  nUS V s/ s H  n SU -   PM
     sn -  n/ SQn/ SQn/ S	Qn/ S
QnX"UX3UXDUXUU/n/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/n[        U5       H  u  p[        U	5        [        R                  " SSS9u  pUR	                  [        S5      SS9  U
R                  SU	-   S9nU
R                  5         [        UR                  5       R                  Xh   5        [        UR                  5       R                  Xx   5        M     g s  sn f s  sn f s  sn f s  sn f )N)rv  rz   r   zupper zlower )lowerrz   upperzleft zright )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  Tr7   )constrained_layoutdpir   Boo1r;   zoutside r>   )	enumerateprintr   r   r@   rj   r$   draw_without_renderingr   rn   extents)postodosupperextlowerextleftextrightextaxbblegbbnntodor+   rs   rv   s                r1   test_figure_legend_outsider    s   'BC'BX^'BEC	(CD(Chn(CDDE	'CD'Cgm'CDDE	(DE(Dhn(DEEE8H8H7G8Hg*D
 %'%#&$"&$"'%'E e$d<<4SAr&)jjZ$.j/""$--/77	"--/77		# %7 DDDEs   EE$E)E.zlegend_stackplot.pnggX9v?)r   c                     [         R                  " 5       u  p[        R                  " SSS5      nSU-  nSU-  S-   nSU-  S-   nUR	                  X#XE/ SQS	9  UR                  S
5        UR                  S5        UR                  SS9  g)z/Test legend for PolyCollection using stackplot.r   r   rW   rz  r   g      @rf   )y1y2y3r=  )r   r   )r   F   r=   r>   N)r   r   r   r   	stackplotrX   rY   r$   )r+   r,   r-   r  r  r  s         r1   test_legend_stackplotr    s    
 llnGC
Ar2A	qB	q1B	q1BLL'9L:KKKKII&Ir3   c                      [         R                  " 5       u  p[         R                  " 5       u  p#UR                  [        S5      [        S5      5      nUR	                  US5        g )Nr\   foo)r   r   rI   rj   r$   )r+   r,   fig2ax2brss        r1   test_cross_figure_patch_legendr    sB    llnGCID
&&q58
$CKKUr3   c                     [         R                  " 5       u  pUR                  [        R                  /[        R                  /SSSSS9nUR                  U/S/5        [         R                  " 5       u  pS H\  nSn[        R                  R                  SU5      u  pVS	[        R                  R                  U5      -  nUR                  XVX7US
SS9  M^     UR                  5         UR                  S5        g )Nr9   r   r\   )marker	facecolorr   sr    )redgreenbluei  rf   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    llnGC


BFF8bffXc C1 	 	6A IIqcI;llnGC)yy~~a#		q))


15 	 	1	 * IIKGGDMr3   c                     [         R                  " 5       u  pUR                  SSSSSS9  UR                  SSSS	SS9  UR                  5         [        R
                  " U/5      u  p#[        U5      S
:X  d   e[         R                  " 5       u  pUR                  SSSSSS9  UR                  SSSS	SS9  UR                  5         [        R
                  " U/5      u  p#[        U5      S
:X  d   eg )NrV   rW   kr9   r   )r/   r  r   r   r   vrf   )r   r   r    r$   mlegend_get_legend_handles_labelsr   )r+   r,   handlabs       r1   test_legend_repeatcheckokr  0  s    llnGCJJsCs3fJ=JJsCs3fJ=IIK22B48IDs8q==llnGCJJsCs3fJ=JJsCs3fJ=IIK22B48IDs8q==r3   znot_covering_scatter.pngc                  &   / SQn [        S5       H  n[        R                  " U/U/X   S9  M     [        R                  " / SQSS9  [        R                  " 5       R                  SS5        [        R                  " 5       R                  SS5        g )	N)r   r   r   r\   )r/   )r  r  r  r=   r>   g      皙@)rj   r   r    r$   r  rX   rY   )r*   r  s     r1   test_not_covering_scatterr  ?  sh    F1XQC!FI.  JJ$&1GGItS!GGItS!r3   z"not_covering_scatter_transform.pngc                  H   [         R                  " 5       R                  SS5      n [        R                  " SSS5      n[
        R                  " X5        [
        R                  " S/S/U [
        R                  " 5       R                  -   S9  [
        R                  " SS	/S
S9  g )Nir   r      i  r   )	transformr  rI   r=   r>   )mtransformsAffine2D	translater   r   r   r@   r    r  	transDatar$   )offsetr-   s     r1   #test_not_covering_scatter_transformr  K  ss     !!#--c26F
Ar4 AHHQNKKrdfswwy/B/B&BCJJu~6*r3   c                  ,   SS/SS//n SS/SS//S	S/S
S///nS
S/SS//S	S/SS///n[         R                  " U SSS9n[         R                  " USS9n[         R                  " USS	S9n[        R                  " 5       u  pgUR	                  U5        UR	                  U5        UR	                  U5        UR                  X4U// SQ5      nUR                  u  pn[        X4U4XU45       H(  u  pUR                  5       S   UR                  :X  a  M(   e   g )N)r   r   )r   r   )r   333333?)r|   r|   gffffff?r|   r{   r   r   r  rP   z--r\   )
linestylesr   z-.)r  :)line1line2zline 3r   )
mcollectionsLineCollectionr   r   add_collectionr$   r   r   get_linestyles_dash_pattern)lines1r{  lines3lc1lc2lc3r+   r,   rv   h1h2h3ohlhs                 r1   !test_linecollection_scaled_dashesr  W  s0    8X"67FRy2r(#r2hR%9:FRy2r(#r2hR%9:F

%
%f!
DC

%
%f
>C

%
%f
DCllnGCccc
))SsO%A
BC##JBBso|4  "1%)9)9999 5r3   c                      [         R                  " 5       u  pUR                  [        S5      SS9  UR	                  SS9  g)z(Test legend handler with numpoints <= 1.r   r   r;   r   r   N)r   r   r@   rj   r$   r   s     r1   test_handler_numpointsr  k  s3     llnGCGGE!HFG#IIIr3   c                  Z   [         R                  " 5       u  pUR                  S/SS9  UR                  SSSSS9  [        R
                  " [        5       nUR                  5         SSS5        [        W5      S:X  d   e[         R                  " 5       u  p1UR                  [        R                  R                  SSS	5      5        [        R                  " 5          [        R                  " S
5        UR!                  5         SSS5        g! , (       d  f       N= f! , (       d  f       g= f)z2Test that Text artists with labels raise a warningr   	mock datar;   textr   )r-   r.   r  r   Nr   )r   r   error)r   r   r@   r  r   rM  UserWarningr$   r   
pcolormeshr   r   uniformwarningscatch_warningssimplefilterr!   )r+   r,   rR  fs       r1   test_text_nohandler_warningr  s  s    llnGCGGQC{G#GGa1gG.	k	"f
		 
#v;! LLNEAMM"))##Aq(34		 	 	"g&
$$& 
#	" 
#	" 
#	"s   D'D
D
D*c                  Z    [         R                  " / / SS9  [         R                  " 5         g)z1Test legend when bar chart is empty with a label.r   r;   N)r   rI   r$   r   r3   r1    test_empty_bar_chart_with_legendr    s     GGB&!JJLr3   zshadow_argument_types.pngmpl20gy&1?)r4   r   r   c            
      T   [         R                  " 5       u  pUR                  / SQSS9  UR                  SSS9UR                  SSS9UR                  S	S
SS.S9UR                  SSSS.S9UR                  SSSS.S94nU H  nUR	                  U5        M     UR                  SS9  g )Nr   r   r;   r   Tr   r   upper rightFr   r  rP   )r/   r  center right)rP   r|   r   )r/   oyr   ztab:cyanr   )r/   oxlower rightr>   )r   r   r@   r$   r   )r+   r,   legsls       r1   test_shadow_argument_typesr	    s     llnGCGGIVG$ II,tI4II-I6II-',s;  =II.'6bA  CII,'1<  >D 
a II-I r3   c                      [         R                  " 5       u  pUR                  / SQSS9  [        R                  " [
        SS9   UR                  SSS9  S S S 5        g ! , (       d  f       g = f)	Nr   r   r;   zdict or boolr  r   aardvarkr   )r   r   r@   r   r!  
ValueErrorr$   r   s     r1   test_shadow_invalid_argumentr    sK     llnGCGGIVG$	z	8
		l:	6 
9	8	8s   A
A+c                      [         R                  " 5       u  pUR                  [        S5      SS9  UR	                  SSS9nUR                  5       R                  5       S:X  d   eg )Nr7   r   r;   Tw)r   r  r   )r   r   r@   rj   r$   	get_frame	get_alphar   s      r1   test_shadow_framealphar    sT     llnGCGGE#JfG%
))43)
/C==?$$&!+++r3   c                     [         R                  " 5       u  pUR                  [        S5      SS9  UR	                  5       nUR                  5       R                  5       S:X  d   eUR                  5       R                  5       (       a   eg )Nr   r  r;    )r   r   r@   rj   r$   	get_titler   get_visibler   s      r1   test_legend_title_emptyr    sk     llnGCGGE"I[G)
))+C==?##%+++}}**,,,,,r3   c                     [         R                  " SS9u  pUR                  [        S5      SS9  UR	                  5       nUR                  U R                  R                  5       5      R                  n[         R                  " SS9u  pUR                  [        S5      SS9  UR	                  5       nUR                  U R                  R                  5       5      R                  n[        R                  " US-  S5      U:X  d   eg )	Nr7   r  r   Aardvarkr;      rf   rP   )r   r   r@   rj   r$   rn   rk   get_rendererx0r   approx)r+   r,   rv   x01x02s        r1    test_legend_proper_window_extentr!    s    lls#GCGGE"IZG(
))+C




 7 7 9
:
=
=Clls#GCGGE"IZG(
))+C




 7 7 9
:
=
=C==Q$+++r3   c                     [         R                  " SS9u  pUR                  [        S5      SS9  UR	                  5       nU R	                  5       nU R
                  R                  5         UR                  5         UR                  5         g )Nr7   r  r   r  r;   )r   r   r@   rj   r$   rk   rl   rn   )r+   r,   rv   leg2s       r1   "test_window_extent_cached_rendererr$    sb    lls#GCGGE"IZG(
))+C::<DJJOOr3   c                  $   [         R                  " [        S5      SS9  [        R                  " [
        5         [         R                  " SSSSS.S9  S S S 5        [         R                  " S[        SSS9S	9n U R                  5       R                  5       S:X  d   e[         R                  " S
SSS9u  pUR                  nUS   R                  [        S5      SS9  US   R                  SSS9nUR                  5       R                  5       S:X  d   eUS   R                  [        S5      SS9  US   R                  SSSS.S	9nUR                  5       R                  5       S:X  d   eUS
   R                  [        S5      SS9  S [        R                  S'   US
   R                  SSS0S	9nUR                  5       R                  5       [        R                  S   :X  d   eUS   R                  [        S5      SS9  US   R                  SS9nUR                  5       R                  5       [        R                  S   :X  d   eUS   R                  [        S5      SS9  S[        R                  S'   US   R                  SSS0S	9nUR                  5       R                  5       S:X  d   eUS   R                  [        S5      SS9  US   R                  SS9nUR                  5       R                  5       S:X  d   eg ! , (       d  f       GN= f)Nr   r  r;   r     serif)familysize)r   title_fontsizetitle_fontproperties)r   r+  rf   r\   )r   r   )r_   r   )r   r*  r   zlegend.title_fontsizer(  z	font.sizer   r   r   r   )r   r@   rj   r   r!  r  r$   r
   r  get_sizer   rg   get_fontsizer   r   )	rv   r+   axesleg0leg1r#  leg3leg4leg5s	            r1   #test_legend_title_fontprop_fontsizer5    s   HHU2Yk*	z	"

B3:B(G	I 
# **:N.5B=@ AC==?##%+++Q73IC99DGLLr+L.7>>
2>>D>>((*b000GLLr+L.7>>
:A2/N  PD>>((*b000GLLr+L.,0CLL()7>>
08'/B  DD>>((*cll;.GGGGGLLr+L.7>>
>+D>>((*cll;.GGGGGLLr+L.,.CLL()7>>
08'/B  DD>>((*b000GLLr+L.7>>
>+D>>((*b000A 
#	"s   L  
L	alignment)rz   rv  r   c                     [         R                  " 5       u  pUR                  [        S5      SS9  UR	                  SU S9nUR                  5       S   R                  U :X  d   eUR                  5       U :X  d   eg )Nr   r   r;   r  )r   r6  r   )r   r   r@   rj   r$   get_childrenrE   get_alignmentr6  r+   r,   rv   s       r1   test_legend_alignmentr;    sn    llnGCGGE"IVG$
))*	)
:Ca &&)333)+++r3   r   ry   c                    [         R                  " 5       u  pUR                  [        S5      SS9  UR	                  5       nUR                  U 5        UR                  5       [        R                  R                  U    :X  d   eg )Nr   r   r;   )
r   r   r@   rj   r$   set_loc_get_locr  rc   codesr   r+   r,   rv   s       r1   test_ax_legend_set_locrA    s]    llnGCGGE"IVG$
))+CKK<<>W^^11#6666r3   )zoutside rightr   c                 ^   [         R                  " 5       u  pUR                  [        S5      SS9  UR	                  5       nUR                  U 5        U R                  S5      (       a  U R                  5       S   OU n UR                  5       [        R                  R                  U    :X  d   eg )Nr   r   r;   outsider   )r   r   r@   rj   r$   r=  rQ  splitr>  r  rc   r?  r@  s       r1   test_fig_legend_set_locrE    s|    llnGCGGE"IVG$
**,CKKNN955#))+a.3C<<>W^^11#6666r3   c                    [         R                  " 5       u  pUR                  [        S5      SS9  UR	                  5       nUR                  U 5        UR                  5       S   R                  U :X  d   eUR                  5       U :X  d   eg )Nr   r   r;   r   )	r   r   r@   rj   r$   set_alignmentr8  rE   r9  r:  s       r1   test_legend_set_alignmentrH    su    llnGCGGE"IVG$
))+Ci a &&)333)+++r3   r/   )r  r  )r   r   r   c                 P   [         R                  " 5       u  pUR                  [        R                  " S5      [        R                  " S5      S-  SS9  UR                  [        R                  " S5      [        R                  " S5      S-  SS9  UR                  [        R                  " S5      [        R                  " S5      S-  SS9  UR                  U S	9nUR                  5        H8  n[        R                  R                  UR                  5       U 5      (       a  M8   e   g )
Nr   r   #1r;   rf   #2r\   #3
labelcolor)r   r   r@   r   r?   r$   r   r   r*   
same_color	get_colorr/   r+   r,   rv   r  s        r1   test_legend_labelcolor_singlerR  &  s     llnGCGGBIIbM299R=?$G7GGBIIbM299R=?$G7GGBIIbM299R=?$G7
))u)
%Czz$$T^^%5u====  r3   c                  p   [         R                  " 5       u  pUR                  [        R                  " S5      [        R                  " S5      S-  SS9  UR                  [        R                  " S5      [        R                  " S5      S-  SS9  UR                  [        R                  " S5      [        R                  " S5      S-  SS9  UR                  / S	QS
9n[        UR                  5       / S	Q5       H:  u  p4[        R                  R                  UR                  5       U5      (       a  M:   e   g )Nr   r   rJ  r;   rf   rK  r\   rL  r   r   r   rM  r   r   r@   r   r?   r$   r   r   r   r*   rO  rP  r+   r,   rv   r  r/   s        r1   test_legend_labelcolor_listrW  3  s    llnGCGGBIIbM299R=?$G7GGBIIbM299R=?$G7GGBIIbM299R=?$G7
)))
/C3==?O<zz$$T^^%5u==== =r3   c                  r   [         R                  " 5       u  pUR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S	-  S
SS9  UR                  SS9n[        UR                  5       / SQ5       H:  u  p4[        R                  R                  UR                  5       U5      (       a  M:   e   g )Nr   r   rJ  r   r   r/   rf   rK  r   r\   rL  r   	linecolorrM  rT  rU  rV  s        r1    test_legend_labelcolor_linecolorr[  ?  s    llnGCGGBIIbM299R=?$cGBGGBIIbM299R=?$cGBGGBIIbM299R=?$cGB
)){)
+C3==?O<zz$$T^^%5u==== =r3   c                  r   [         R                  " 5       u  pUR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S	-  S
SS9  UR                  SS9n[        UR                  5       / SQ5       H:  u  p4[        R                  R                  UR                  5       U5      (       a  M:   e   g )Nr   r   rJ  r   r   rf   rK  r   r\   rL  r   rZ  rM  rT  r   r   r    r   r?   r$   r   r   r   r*   rO  rP  rV  s        r1   /test_legend_pathcollection_labelcolor_linecolorr^  K  s    llnGCJJryy}biimAoTSJAJJryy}biimAoTSJAJJryy}biimAoTSJA
)){)
+C3==?O<zz$$T^^%5u==== =r3   c                     [         R                  " 5       u  p[        R                  " / SQS-  5      nUR	                  [        R
                  " S5      [        R
                  " S5      SUS9  UR                  SS9nUR                  5       u  n[        R                  R                  UR                  5       S5      (       d   eg )	Nr   r   r   r   rD   rf   r   rJ  r   rZ  rM  black)r   r   r   r   r    r?   r$   r   r   r*   rO  rP  )r+   r,   r*   rv   r  s        r1   8test_legend_pathcollection_labelcolor_linecolor_iterablerb  W  s     llnGCXX/!34FJJryy}biim46JB
)){)
+CMMOED::  !17;;;;r3   c                  z   [         R                  " 5       u  pUR                  [        R                  " S5      [        R                  " S5      [        R                  " S5      SS9  UR                  SS9nUR                  5       u  n[        R                  R                  UR                  5       S5      (       d   eg )Nr   rJ  )r   r   rZ  rM  ra  )r   r   r    r   r?   r$   r   r   r*   rO  rP  )r+   r,   rv   r  s       r1   4test_legend_pathcollection_labelcolor_linecolor_cmaprd  c  s~     llnGCJJryy}biimryy}DJI
)){)
+CMMOED::  !17;;;;r3   c                  r   [         R                  " 5       u  pUR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S	-  S
SS9  UR                  SS9n[        UR                  5       / SQ5       H:  u  p4[        R                  R                  UR                  5       U5      (       a  M:   e   g )Nr   r   rJ  r   r   markeredgecolorrf   rK  r   r\   rL  r   rg  rM  rT  rU  rV  s        r1   &test_legend_labelcolor_markeredgecolorrh  n      llnGCGGBIIbM299R=?$GLGGBIIbM299R=?$GLGGBIIbM299R=?$GL
))0)
1C3==?O<zz$$T^^%5u==== =r3   c                  r   [         R                  " 5       u  pUR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S	-  S
SS9  UR                  SS9n[        UR                  5       / SQ5       H:  u  p4[        R                  R                  UR                  5       U5      (       a  M:   e   g )Nr   r   rJ  r   r   r   rf   rK  r   r\   rL  r   rg  rM  rT  r]  rV  s        r1   5test_legend_pathcollection_labelcolor_markeredgecolorrl  z      llnGCJJryy}biimAoTSJIJJryy}biimAoTSJIJJryy}biimAoTSJI
))0)
1C3==?O<zz$$T^^%5u==== =r3   c                     [         R                  " 5       u  p[        R                  " / SQS-  5      nUR	                  [        R
                  " S5      [        R
                  " S5      SUS9  UR                  SS9n[        UR                  5       S/5       H:  u  pE[        R                  R                  UR                  5       U5      (       a  M:   e   g )	Nr`  rf   r   rJ  rk  rg  rM  r  r   r   r   r   r    r?   r$   r   r   r   r*   rO  rP  r+   r,   r*   rv   r  r/   s         r1   >test_legend_pathcollection_labelcolor_markeredgecolor_iterablerq         llnGCXX/!34FJJryy}biim46JJ
))0)
1C3==?SE2zz$$T^^%5u==== 3r3   c            	         [         R                  " 5       u  p[        R                  R	                  [
        R                  R                  S5      5      nUR                  [
        R                  " S5      [
        R                  " S5      S[
        R                  " S5      USS9  UR                  SS9n[        UR                  5       S/5       H:  u  pE[        R                  R                  UR                  5       U5      (       a  M:   e   g )Nr   rJ  Reds)r   r   r   cmaprg  rM  r  r   r   r   cmviridisr   r   r  r    r?   r$   r   r   r*   rO  rP  )r+   r,   r  rv   r  r/   s         r1   :test_legend_pathcollection_labelcolor_markeredgecolor_cmapry    s     llnGC		r 23JJJ
		"
		"
))B-   ))0)
1C3==?SE2zz$$T^^%5u==== 3r3   c                  r   [         R                  " 5       u  pUR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S	-  S
SS9  UR                  SS9n[        UR                  5       / SQ5       H:  u  p4[        R                  R                  UR                  5       U5      (       a  M:   e   g )Nr   r   rJ  r   r   markerfacecolorrf   rK  r   r\   rL  r   r|  rM  rT  rU  rV  s        r1   &test_legend_labelcolor_markerfacecolorr}    ri  r3   c                  r   [         R                  " 5       u  pUR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S	-  S
SS9  UR                  SS9n[        UR                  5       / SQ5       H:  u  p4[        R                  R                  UR                  5       U5      (       a  M:   e   g )Nr   r   rJ  r   r   r  rf   rK  r   r\   rL  r   r|  rM  rT  r]  rV  s        r1   5test_legend_pathcollection_labelcolor_markerfacecolorr    rm  r3   c                     [         R                  " 5       u  p[        R                  " / SQS-  5      nUR	                  [        R
                  " S5      [        R
                  " S5      SUS9  UR                  SS9n[        UR                  5       S/5       H:  u  pE[        R                  R                  UR                  5       U5      (       a  M:   e   g )	Nr`  rf   r   rJ  r  r|  rM  r  ro  rp  s         r1   >test_legend_pathcollection_labelcolor_markerfacecolor_iterabler    rr  r3   c                     [         R                  " 5       u  p[        R                  R	                  [
        R                  R                  S5      5      nUR                  [
        R                  " S5      [
        R                  " S5      SUS9  UR                  SS9n[        UR                  5       S/5       H:  u  pE[        R                  R                  UR                  5       U5      (       a  M:   e   g )Nr   rJ  r   r|  rM  r  rv  rp  s         r1   8test_legend_pathcollection_labelcolor_markfacecolor_cmapr    s     llnGCVV^^BIINN2./FJJ
		"
		"
	   ))0)
1C3==?SE2zz$$T^^%5u==== 3r3   c                 x   [         R                  " 5       u  pUR                  [        R                  " S5      [        R                  " S5      S-  SS9  UR                  [        R                  " S5      [        R                  " S5      S-  SS9  UR                  [        R                  " S5      [        R                  " S5      S-  SS9  U [
        R                  S	'   UR                  5       nUR                  5        H8  n[
        R                  R                  UR                  5       U 5      (       a  M8   e   g )
Nr   r   rJ  r;   rf   rK  r\   rL  legend.labelcolor)r   r   r@   r   r?   r   r   r$   r   r*   rO  rP  rQ  s        r1   %test_legend_labelcolor_rcparam_singler    s     llnGCGGBIIbM299R=?$G7GGBIIbM299R=?$G7GGBIIbM299R=?$G7(-CLL$%
))+Czz$$T^^%5u====  r3   c                     [         R                  " 5       u  pUR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S	-  S
SS9  S[
        R                  S'   UR                  5       n[        UR                  5       / SQ5       H:  u  p4[
        R                  R                  UR                  5       U5      (       a  M:   e   g )Nr   r   rJ  r   rY  rf   rK  r   r\   rL  r   rZ  r  rT  r   r   r@   r   r?   r   r   r$   r   r   r*   rO  rP  rV  s        r1   (test_legend_labelcolor_rcparam_linecolorr    s    llnGCGGBIIbM299R=?$cGBGGBIIbM299R=?$cGBGGBIIbM299R=?$cGB(3CLL$%
))+C3==?O<zz$$T^^%5u==== =r3   c                     [         R                  " 5       u  pUR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S	-  S
SS9  S[
        R                  S'   UR                  5       n[        UR                  5       / SQ5       H:  u  p4[
        R                  R                  UR                  5       U5      (       a  M:   e   g )Nr   r   rJ  r   rf  rf   rK  r   r\   rL  r   rg  r  rT  r  rV  s        r1   .test_legend_labelcolor_rcparam_markeredgecolorr        llnGCGGBIIbM299R=?$GLGGBIIbM299R=?$GLGGBIIbM299R=?$GL(9CLL$%
))+C3==?O<zz$$T^^%5u==== =r3   c                     [         R                  " 5       u  pUR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S	-  S
SS9  S[
        R                  S'   UR                  5       n[        UR                  5       / SQ5       H:  u  p4[
        R                  R                  UR                  5       U5      (       a  M:   e   g )Nr   r   rJ  r   rf  rf   rK  r   r\   rL  r   mecr  rT  r  rV  s        r1   4test_legend_labelcolor_rcparam_markeredgecolor_shortr        llnGCGGBIIbM299R=?$GLGGBIIbM299R=?$GLGGBIIbM299R=?$GL(-CLL$%
))+C3==?O<zz$$T^^%5u==== =r3   c                     [         R                  " 5       u  pUR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S	-  S
SS9  S[
        R                  S'   UR                  5       n[        UR                  5       / SQ5       H:  u  p4[
        R                  R                  UR                  5       U5      (       a  M:   e   g )Nr   r   rJ  r   r{  rf   rK  r   r\   rL  r   r|  r  rT  r  rV  s        r1   .test_legend_labelcolor_rcparam_markerfacecolorr    r  r3   c                     [         R                  " 5       u  pUR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S-  SSS9  UR                  [        R                  " S5      [        R                  " S5      S	-  S
SS9  S[
        R                  S'   UR                  5       n[        UR                  5       / SQ5       H:  u  p4[
        R                  R                  UR                  5       U5      (       a  M:   e   g )Nr   r   rJ  r   r{  rf   rK  r   r\   rL  r   mfcr  rT  r  rV  s        r1   4test_legend_labelcolor_rcparam_markerfacecolor_shortr    r  r3   z4ignore:No artists with labels found to put in legendc                      [         R                  " 5       n U R                  5       (       a   eU R                  S5        U R                  5       (       d   eU R                  S5        U R                  5       (       a   eg )NTF)r   r$   get_draggableset_draggabler$   s    r1   test_get_set_draggabler  )  sk    ZZ\F##%%%%
!!!!
##%%%%%r3   	draggable)TFc                     [         R                  " 5       u  pUR                  [        S5      SS9  UR	                  U S9nUR                  5       U L d   eg )Nr   shabnamsr;   )r  )r   r   r@   rj   r$   r  )r  r+   r,   rv   s       r1   test_legend_draggabler  3  sJ    llnGCGGE"IZG(
))i)
(C)+++r3   c                  b   [         R                  " / SQSSSS9u  pn[         R                  " 5       nUR                   H  nUR	                  S5        M     WR                  5       S S US   R                  5       S S :X  d   eUR                  5       S S US   R                  5       S S :X  d   eg )	Nr   g      ?datar  )r  r   r/   rW   rF   r   )r   ri   r$   r   	set_alphaget_facecolorget_edgecolor)r-   r  hhr$   r  s        r1   test_alpha_handlesr  ;  s    xx	V5IHA"ZZ\F##
S $cr"be&9&9&;CR&@@@@cr"be&9&9&;CR&@@@@r3   c                 <   S[         R                  S'   S[         R                  S'   S[         R                  S'   [        R                  " 5       u  pUR	                  SSSS	9  UR                  S
S9  UR                  R                  5         SU R                  ;  d   eg )Nr'  zfont.familyzComputer Modernz
font.serifTztext.usetexr   inputr;   r   r,  z Font family ['serif'] not found.)	r   r   r   r   r@   r$   rk   rl   r  )caplogr+   r,   s      r1   test_usetex_no_warnr  D  sy    ")CLL!2CLL"&CLLllnGCGGAqG IIKI JJOO-V[[@@@r3   c                   ^ [         R                  " SSS9mU R                  [        SU4S j5        [        R
                  " 5       u  pUR                  R                  5         / SQn/ SQnUR                  X4SS	S
9  [        SS05         UR                  5       nS S S 5        [        R                  " [        SS9 nUR                  W5        S S S 5        [        W5      S:X  d   eg ! , (       d  f       NS= f! , (       d  f       N1= f)Nr         ?r`   perf_counterc                     > [        T 5      $ Nnextcounters   r1   <lambda>-test_warn_big_data_best_loc.<locals>.<lambda>U  	    d7mr3   rN   rQ   rT   rU   r;   z
legend.locr=   zGCreating legend with loc="best" can be slow with large amounts of data.r  rf   )	itertoolscountsetattrtimer   r   rk   rl   r@   r	   r$   r   rM  r  draw_artistr   )monkeypatchr+   r,   r-   r.   r$   recordsr  s          @r1   test_warn_big_data_best_locr  R  s    ooac*Gn.CDllnGCJJOO 	'A*AGGA$fG%	\6*	+ 
,	k)
*-4
* w<1 
,	+
* 
*s   	C';C8'
C58
Dc                 >  ^ [         R                  " SSS9mU R                  [        SU4S j5        [        R
                  " 5       u  pUR                  R                  5         / SQn/ SQnUR                  X4SS	S
9  UR                  S5      nUR                  U5        g )Nr   r  r  r  c                     > [        T 5      $ r  r  r  s   r1   r  :test_no_warn_big_data_when_loc_specified.<locals>.<lambda>m  r  r3   rN   rQ   rT   rU   r;   r=   )r  r  r  r  r   r   rk   rl   r@   r$   r  )r  r+   r,   r-   r.   r$   r  s         @r1   (test_no_warn_big_data_when_loc_specifiedr  j  sy    ooac*Gn.CDllnGCJJOO 	'A*AGGA$fG%YYvFOOFr3   label_arraylowhigh)r  r  c                    / SQnSS/SS/SS//n[         R                  " 5       u  p4UR                  XU S9  UR                  5       nUR	                  5        Vs/ s H  ofR                  5       PM     nnUSS	/:X  d   eg s  snf )
Nr   r   rf   r   r   rb   r;   r  r  )r   r   r@   r$   r   r   )r  r-   r.   r+   r,   rv   entrylegend_textss           r1   'test_plot_multiple_input_multiple_labelr  {  s     	A
Q
Q
Q	A llnGCGGAG$
))+C25--/B/NN$/LBE6?*** Cs   A?r   r   r   c                    / SQnSS/SS/SS//n[         R                  " 5       u  p4UR                  XU S9  UR                  5       nUR	                  5        Vs/ s H  ofR                  5       PM     nnU[        U 5      /S-  :X  d   eg s  snf )Nr   r   rf   r   r   rb   r;   )r   r   r@   r$   r   r   rO  )r   r-   r.   r+   r,   rv   r  r  s           r1   %test_plot_multiple_input_single_labelr    s     	A
Q
Q
Q	A llnGCGGAG
))+C25--/B/NN$/LBCJ<!++++ Cs   B
c                    / SQn/ SQn[         R                  " 5       u  p4[        R                  " [        R
                  SS9   UR                  XU S9  S S S 5        UR                  5       n[        UR                  5       5      S:X  d   eUR                  5       S   R                  5       [        U 5      :X  d   eg ! , (       d  f       Nn= f)Nr   )rf   r   r   z$Passing label as a length 2 sequencer  r;   r   r   )r   r   r   rM  r   MatplotlibDeprecationWarningr@   r$   r   r   r   rO  )r  r-   r.   r+   r,   rv   s         r1   %test_plot_single_input_multiple_labelr    s     	AAllnGC	c66B
D
K(
D ))+Cs}}1$$$==?1&&(C,<<<<
D 
Ds   B<<
C
c                      [         R                  " 5       u  pUR                  S/S//S/S9u  nUR                  5       S:X  d   eg )Nr   r   Ar;   )r   r   r@   	get_label)r+   r,   rU   s      r1   !test_plot_single_input_list_labelr    sB    llnGCGGaS1#JseG,ED>>s"""r3   c                      [         R                  " [        5         / SQn SS/SS/SS//n/ SQn[        R                  " 5       u  p4UR                  XUS9  S S S 5        g ! , (       d  f       g = f)	Nr   r   rf   r   r   rb   )r  r  mediumr;   )r   r!  r  r   r   r@   )r-   r.   r   r+   r,   s        r1   3test_plot_multiple_label_incorrect_length_exceptionr    sa     
z	"VVV *,,.
E" 
#	"	"s   ;A
A-c            	          [         R                  " 5       u  pUR                  / SQ/ SQ/ SQSSSS9  UR                  5         g )NrX  r   r   r   faceFill)r  r   r   )r   r   r   r$   r   s     r1   test_legend_face_edgecolorr    s7    llnGCOOIy)!V6  CIIKr3   c                      [         R                  " 5       u  pUR                  SS/SS/SS9  UR                  5       nUR                  UL d   eUR                  5       S   R                  UL d   eg )Nr   rf   r\   r   rU   r;   r   )r   r   r@   r$   r/  r   r   s      r1   test_legend_text_axesr    sc    llnGCGGQFQF&G)
))+C88r>>==?1""b(((r3   c                     [         R                  " 5       u  pUR                  SS/SS/SS9  [        R                  " S/S/SS9/nUR                  US/SS9nUS   R                  5       UR                  S   R                  5       :X  d   eg )Nr   r   r  )r  r  r  )r   r   r    mlinesLine2Dr$   r   r   )r+   r,   r0   rv   s       r1   test_handlerline2dr    s    llnGCJJ1v1vcJ*}}aS1#c23G
))Gj\Q)
7C1:  "c&8&8&;&F&F&HHHHr3   c                      [         R                  " 5       R                  5       n U R                  5       nUR	                  SS/SS/SS9  U R                  5       nUR                  SS9U L d   eg )Nr   r   rU   r;   F)root)r   r   
subfiguresr   r@   r$   
get_figure)subfigr,   rv   s      r1   test_subfigure_legendr    s`    ZZ\$$&F		BGGQFQF&G)
--/C>>u>%///r3   c                     [         R                  " SS/SS/SSS9n [         R                  " 5       R                  5       S   nUR	                  S5        UR                  5       S S [        U R                  5       S   S S 5      :X  d   eUR                  5       S S [        U R                  5       S   S S 5      :X  d   eg )	Nr   r   rf   r\   z#123456r   )r/   r   r   )r   r   r$   get_patchesr  r  tupler  )pcr   s     r1   -test_setting_alpha_keeps_polycollection_colorr    s    			1a&1a&		IBJJL$$&q)E	OOC !$b.>.>.@.CBQ.G(HHHH !$b.>.>.@.CBQ.G(HHHHr3   c            
          / SQn [         R                  " 5       u  pU  Vs/ s H  n[        R                  " S/S/SUS9PM     nn/ SQnU Vs/ s H  ofR	                  5       PM     nnUR                  XE5      nUR                  5        Vs/ s H  ofR	                  5       PM     n	nUR                  5        V
s/ s H  oR                  5       PM     nn
Xys=:X  a  U :X  d   e   eX[:X  d   eg s  snf s  snf s  snf s  sn
f )N)r   *r  r   None)lsr  )r  rI   xyzzy)	r   r   r  r  r   r$   	get_linesr   r   )_markersr+   r,   markr   r)   rU   r   r$   new_markersr  
new_labelss               r1   test_legend_markers_from_line2dr    s    HllnGC!#! ]]A3t<! 
 #$F-23UT UG3YYu%F171A1A1CD1C??$1CKD.4.>.>.@A.@d--/.@JA-X-----# 4 EAs   #C,C1C68C;c                 L    / SQnSnU R                  X#S9  UR                  X#S9  g )N)r   r   r   r   er  r\   )ncol)r^   r  )r  r  stringsr^   s       r1   test_ncol_ncolsr    s*     -GEOOGO(NN7N(r3   c                     [         R                  " 5       u  p[        R                  " [        SS9   UR                  SS/S9  S S S 5        [        R                  " [        SS9   UR                  SS/S9  S S S 5        [        R                  " [        SS9   UR                  S	S/S9  S S S 5        g ! , (       d  f       Nu= f! , (       d  f       NS= f! , (       d  f       g = f)
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   r!  r  r$   r   s     r1    test_loc_invalid_tuple_exceptionr     s     llnGC	z +C 
E
		g{m	4
E 
z +T 
V
		-{m	D
V 
z +Q 
S
		(+	?
S 
S
E 
E
V 
V
S 
Ss#   B2$CC2
C 
C
C"c                  v    [         R                  " 5       u  pUR                  SS/S9  UR                  SS/S9  g )N)r  }?5^I?r  r  )r   rf   r   r   r$   r   s     r1   test_loc_valid_tupler    s3    llnGCII.+I7II&+I/r3   c                  ~    [         R                  " 5       u  pUR                  SS/S/S9  UR                  SS/S/S9  g )Nr  r  r  r  r   rf   r  r   s     r1   test_loc_valid_listr    s;    llnGCII5%.+I7II1a&+I/r3   c                      [         R                  " 5       u  p[        R                  " [        SS9   UR                  / SQS/S9  S S S 5        g ! , (       d  f       g = f)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  #  sI    llnGC	z +L 
N
		o{m	<
N 
N 
N   A
Ac                      [         R                  " 5       u  p[        R                  " [        SS9   UR                  SS0S/S9  S S S 5        g ! , (       d  f       g = f)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  *  sM    llnGC	z +F 
H
		udm[M	:
H 
H 
Hr	  c                     [         R                  " 5       u  pUR                  SS/S9  UR                  SS/S9  UR                  SS/S9  UR                  SS/S9  [        R                  " [
        SS9   UR                  S	S/S9  S S S 5        [        R                  " [
        S
S9   UR                  SS/S9  S S S 5        g ! , (       d  f       NB= f! , (       d  f       g = f)Nr   r  r  r   r   r   z@loc must be string, coordinate tuple, or an integer 0-10, not 11r  r3  z@loc must be string, coordinate tuple, or an integer 0-10, not -1rF   r   r   r$   r   r!  r  r   s     r1   !test_loc_validation_numeric_valuer  1  s    llnGCII![MI*II![MI*II![MI*II"k]I+	z +; 
=
		b+	/
= 
z +; 
=
		b+	/
= 
=	
= 
=
= 
=s   5C(C
C
C"c                  >   [         R                  " 5       u  pS/nUR                  SUS9  UR                  SUS9  UR                  SUS9  UR                  SUS9  UR                  SUS9  UR                  SUS9  UR                  SUS9  UR                  SUS9  UR                  S	US9  UR                  S
US9  UR                  SUS9  UR                  SUS9  [        R                  " [
        SS9   UR                  SUS9  S S S 5        g ! , (       d  f       g = f)Nr  r=   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  @  s   llnGC]FII&I(II-I/II&I(II-I/II,vI.II,vI.II-I/II'&I)II-I/II.I0II.I0II.I0	z)K	L
		gf	- 
M	L	Ls   4D
Dc                     [         R                  " [        S5      5      u  n [         R                  " [        S5      5      u  n[        R                  " [
        SS9   [         R                  " X// SQS9n[        UR                  5      S:X  d   e[        UR                  5       5      S:X  d   e S S S 5        g ! , (       d  f       g = f)Nr   znumber of handles and labelsr  pl1pl2pl3r0   r)   rf   )
r   r@   rj   r   rM  r  r$   r   r   r   r  r  r$   s      r1   !test_legend_handle_label_mismatchr  S  s    88E"IDC88E"IDC	k)G	HSJ7LM6(()Q...6##%&!+++ 
I	H	Hs   AB99
Cc                  P   [         R                  " [        S5      5      u  n [         R                  " [        S5      5      u  n[         R                  " [	        X/5      [	        / SQ5      S9n[        UR                  5      S:X  d   e[        UR                  5       5      S:X  d   eg )Nr   r  r  rf   )r   r@   rj   r$   iterr   r   r   r  s      r1   (test_legend_handle_label_mismatch_no_lenr  \  s    88E"IDC88E"IDCZZcZ 0#$9:<Fv$$%***v!"a'''r3   c                      [         R                  " / SQ5        [        R                  " [        SS9   [         R
                  " 5         S S S 5        g ! , (       d  f       g = f)Nr   zNo artists with labels foundr  )r   r@   r   r!  r  r$   r   r3   r1   test_legend_nolabels_warningr  e  s3    HHY	{*H	I

 
J	I	Is   A
Ac                      [         R                  " / SQ5        [         R                  " 5         [         R                  " 5       R	                  5       c   eg )Nr   )r   r@   r$   r  r   r   r3   r1   test_legend_nolabels_drawr!  k  s2    HHYJJL779!---r3   c            
      $   / SQn / SQn/ SQn/ n[         R                  " SSS9u  pE[        UR                  S5       H  u  pgUR	                  XUSS	S
S9  UR                  SS5        UR                  SS5        UR                  US9nUR                  R                  5         UR                  UR                  5       R                  UR                  R                  5       5      5        M     [        US   R                   US   R                   5        g )Nr   )r   r   r   )r   r   r   rf   r   r   r]   r=   r   grayr   zShaded Area)r/   r  r   r   r   rF   r   r>   r   )r   r   r   rg   r   rX   rY   r$   rk   rl   rm   rn   ro   rp   rq   r   rr   )	r-   r  r  rt   r+   rs   r,   r   rv   s	            r1   test_legend_loc_polycollectionr&  r  s     	A	B	BJ||!W5HCsxx!78
rs-P
Aq
BiiCi 

!!#//0E0E0GH	J 9 JqM((*Q-*>*>?r3   c                     [         R                  " SSS9u  p/ n[        UR                  S5       H  u  p4SS/nSS/nUR	                  XVSS9  UR                  SSS	S
S9  UR                  US9nU R                  R                  5         UR                  UR                  5       R                  UR                  R                  5       5      5        M     [        US   R                  US   R                  5        g )Nrf   r#  r]   r$  r   z	plot namer;   r  zsome text blahblahtop)verticalalignmentr>   r   )r   r   r   rg   r@   r  r$   rk   rl   rm   rn   ro   rp   rq   r   rr   )r+   rs   rt   r,   r   r-   r.   rv   s           r1   test_legend_textr*    s     ||!W5HCJsxx!78FF
K(
Q,FiiCi 

!!#//0E0E0GH	J 9 JqM((*Q-*>*>?r3   c                     [         R                  " 5       u  pUR                  / SQSS9  UR                  SSS9  UR	                  SS9  [
        R                  R                  U S	U R                  S
9 nU R                  [        R                  " 5       5        S S S 5        WR                  5         g ! , (       d  f       N= f)Nr   Liner;   r   )r   r   )r~   r   r>   _get_renderer)wraps)r   r   r@   annotater$   r   r   objectr-  savefigioBytesIOassert_not_called)r+   r,   mocked_get_renderers      r1   test_legend_annotater6    s    llnGCGGIVG$KKKII!I			(9(9 
 
;>QBJJL!
;
 ))+
; 
;s   2%B00
B>c                     [         R                  R                  S5        [         R                  R                  S5      n [        R                  " SSS9u  p/ SQnUS   R                  U SUS	9nUS
    Vs/ s H  oUR                  5       PM     snU:X  d   eUS   R                  5       u  pgXs:X  d   e[        S U 5       5      (       d   eUS   R                  XSS9nUS    Vs/ s H  oUR                  5       PM     snU:X  d   eUS   R                  5       u  pgXs:X  d   e[        S U 5       5      (       d   e[        R                  " [        SS9   US   R                  XS S S9n	S S S 5        US   R                  U SS9n
U
S   S   R                  5       S:X  d   e[        S U
S   SS   5       5      (       d   eg s  snf s  snf ! , (       d  f       Ng= f)Ni!N,)r   r   r   r   )nrowsr^   )box Azbox Bzbox Czbox Dr   T)patch_artistr   boxesc              3   j   #    U  H)  n[        U[        R                  R                  5      v   M+     g 7fr  )
isinstancer   patches	PathPatch.0r  s     r1   	<genexpr>-test_boxplot_legend_labels.<locals>.<genexpr>  s$     EWz!S[[2233W   13F)r   showboxmediansc              3   j   #    U  H)  n[        U[        R                  R                  5      v   M+     g 7fr  )r=  r   r   r  r@  s     r1   rB  rC    s$     @1z!SYY--..rD  z values must have same the lengthr  rf   rF   r;   r\   r9  c              3   ^   #    U  H#  oR                  5       R                  S 5      v   M%     g7f)_N)r  rQ  )rA  r-   s     r1   rB  rC    s$     I6H{{}'',,6Hs   +-)r   r   seedr   r   boxplotr  r!   allr   r!  r  )r  r+   rs   legend_labelsbp1r  r0   r)   bp2bp3bp4s              r1   test_boxplot_legend_labelsrR    s   IINN899G$D||!1-HC8M a&..D.
FC#&w<0<aKKM<0MAAA!f668OG"""EWEEEEE a&..E.
BC#&y>2>aKKM>2mCCC!f668OG"""@@@@@@ 
z)K	L!fnnTs);n< 
M a&..W.
-Cy>!&&(G333Ic)nQR6HIIIII) 1 3 
M	Ls   5G&GG
G)r"   r2  r  platformr  unittestr   r  numpyr   numpy.testingr   r   matplotlib.testing.decoratorsr   r   matplotlib.testing._markersr   matplotlib.pyplotpyplotr   
matplotlibr   matplotlib.patchesr>  r   matplotlib.transforms
transformsr  matplotlib.collectionsr  matplotlib.linesr   r  matplotlib.legend_handlerr   matplotlib.legendr$   r  r	   matplotlib.font_managerr
   r2   rA   rL   rZ   rw   r   r   machiner   r   r   r   r   r   r   r   r   r   r  r  r  rg  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r!  r$  r5  r  parametrizer;  rA  rE  rH  rR  rW  r[  r^  rb  rd  rh  rl  rq  ry  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&  r*  r6  rR  r   r3   r1   <module>rh     s    	       )  O 4   % + - ! 2 # ! 29$ %&D9 : %&D9: :: %&' (@,@@ ./TB' C' ,-4#++-9auF-F- -.D#++-9auF	IF	I #$$#++-9atE2E2 &'T#++-9atE	6E	6 ;-Tt<
E =
E <.d#++-9auFF $&78dK! L!  &'T:8 ;8 :,D	B. C.B#5$ (
 )
]N ]N@5 5p&#R )*#++-9auFF( -./" 0" 789+ :+:('" ./T#++-9auF!F!*7,-,#1L &AB, C,  347 57  ;<7 =7 &AB, C, "?@	> A	>	>	>	>	<<	>	>	>>&	>	>	>>" "?@
> A
>
>
>
>
>
> RS& T& m4, 5,A 
A 
A0" %)8)+5&/)B)D E+E+ 5!S/2, 3, %)8)+5&/)B)D E=E=#
#)I0I " () ))@"00=;0.&,( RS. T.@&@",Jr3   