
    h              	       	   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\" 5       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               N/var/www/html/env/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    legend_auto1T)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_auto1rB   -   sZ     llnGC
		#AGGArAvs%G(GGA2vs&G)II&Ir3   legend_auto2c                      [         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)r7   r8   edgem)alignr/   Nr   r   updownr>   r?   )r   r   r   r@   barr$   )r+   r,   r-   b1b2s        r1   test_legend_auto2rN   7   sp     llnGC
		#A	F#	.B	TrT7&	4BIIr!ubentVn&I9r3   legend_auto3c                      [         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
)r7   ?皙?rS   rR   rR   r   ffffff?rU   皙?rV   r   r   o-liner<                 ?r>   r?   N)r   r   rA   set_xlimset_ylimr$   )r+   r,   r-   r.   s       r1   test_legend_auto3r]   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)rK   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_auto4rz   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.
ri   )g333333#@g333333@r`   centerr>   )r   rR   皙?皙?C1)xywidthheightfcr   r   rR   rZ   rS   )r   )r   r   r   ih  rV   C0)r   r   z	A segmentr<   r?   N)r   r   r   rj   mpatchesEllipsePolygonr   arrayWedge	add_patchrA   r$   rn   ro   rp   rq   rr   rs   rt   r   ru   )r+   rv   rw   r,   r   _patchry   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   legend_various_labelsc                  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      r:   r   r<   gffffff@u   DéveloppésrH   __nolegend__r>   )	numpointsr   )r   figureadd_subplotrA   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?)r5   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-      rH   ddiamondr>   F)r   markerfirst)r   r   rA   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   ri   r_   r   ri   r_   r   z-xr_   r   r   z-d)ztwo keyszpad=0zone keyr   )ndivider   )r   pad)r   handler_map)r   r   rA   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 awayr}   r?   r   r   r   r   )r   r   rA   rm   r$   legendPatchset_facecolorr+   r,   ry   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   r}   r?   r   )	r   r   rA   rm   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fancyrV   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   rH   zXX
XXr   )xerryerrr   r   rZ   ri   T	My legendr   )r   r   ra   shadowtitler   )r   subplotrA   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   r8   mylabelr   )r   r   r   )r   )r   r   r   rA   r$   )r-   r.   s     r1   test_framealphar      s7     	AsC A	AHHQr*JJ#r3   scatter_rc3scatter_rc1c                     [         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   rH   threer<   r   rZ   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   legend_expandc                     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   r8   r9   r:   r;   r<   
upper left)r   moder=   right
lower leftri   )r   r   ra   )	r   r   lenr   r@   r   rA   r$   
add_artist)legend_modesr+   rv   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)r5   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~   )rR   rZ   rR   +zPath
default color)r   gQ?g)\(?C2zPath
explicit colorg{Gz皙?r   )handlelengthhandleheight)	r   r   r   	Rectangler   fill_betweenr[   r\   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   rA   rm   r$   removelegends
get_legend)r+   r,   linesry   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).,r:   r   r<   ri   TreverseN)
r   r   rA   r$   	get_textsget_textlegend_handles
get_markerlistreversed)r+   r,   r-   r.   r)   markersry   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<   ri   bxsecondTr   N)r   rA   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   rA   rm   r   r   r$   assert_called_withgcaselfr   rf   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   rA   rm   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1ri   )r   )	r   rA   rm   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<   ri   2xr_   3xr  )r0   	r   r   r   r   rA   r   r   r$   r  )r  r+   r,   r-   ln1ln2ln3rf   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   r;  ri   r  r-   r<  r)   r>  )r  r+   r,   r-   r?  r@  rf   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   ri      sinr<   cosr  r   r   )r)   r0   )r   r   r   r   pirA   rJ  rK  r   r   r$   r  )r  r+   r,   thlnslncrf   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   ri   rI  rJ  r<   rK  rL  rE  r   MYou have mixed positional and keyword arguments, some input may be discarded.)r   r   r   r   rM  rA   rJ  rK  r(  warnsDeprecationWarningr$   r   strmessage
startswith)r  r+   r,   rN  rO  rP  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   ri   Densityr<   )r   r_   ri   Temperaturer  )	mpl_toolkits.axes_grid1r^  twinxrA   r   r   r   r$   r  )r  r^  hostparr   r   rf   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/  r2  r8  rB  rF  rQ  r[  rg  __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   rA   rm   r   r   r$   r  transFigurer  r+   r,   r   rf   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  rq  rs  ru  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.  rq  rs  ru  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   rA   rm   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   ri   r   r          @r  r   rL  )r   r)   r0   )r   rr  )r   r   rA   rm   r   r@   r   r   r$   r  rt  )r  r+   rv   r   lines2rf   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   ri   r   r   r  rL  rE  rT  )r   r   rA   rm   r   r@   r(  rU  rV  r$   r   rW  rX  rY  )r  r+   rv   r   r  rZ  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)ri  rj  rk  rl  rv  r   r{  r  r  r  rm  r   r3   r1   ro  ro    s#    BBB?,	r3   ro  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)r~  r}   r   zupper zlower )lowerr}   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  Tr8   )constrained_layoutdpir   Boo1r<   zoutside r?   )	enumerateprintr   r   rA   rm   r$   draw_without_renderingr   rq   extents)postodosupperextlowerextleftextrightextaxbblegbbnntodor+   rv   ry   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   rZ   r  r   g      @ri   )y1y2y3rE  )r   r   )r   F   r>   r?   N)r   r   r   r   	stackplotr[   r\   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   rK   rm   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 )Nr:   r   r_   )marker	facecolorr   sr    )redgreenbluei  ri   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 )NrY   rZ   kr:   r   )r/   r  r   r   r   vri   )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      皙@)rm   r   r    r$   r  r[   r\   )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  rK   r>   r?   )mtransformsAffine2D	translater   r   r   rA   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  rS   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,   ry   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   rA   rm   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   rA   r  r(  rU  UserWarningr$   r   
pcolormeshr   r   uniformwarningscatch_warningssimplefilterr!   )r+   r,   rZ  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   rK   r$   r   r3   r1    test_empty_bar_chart_with_legendr    s     GGB&!JJLr3   zshadow_argument_types.pngmpl20gy&1?)r5   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  rS   )r/   r  center right)rS   r   r   )r/   oyr   ztab:cyanr   )r/   oxlower rightr?   )r   r   rA   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   rA   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 )Nr8   r   r<   Tw)r   r  r   )r   r   rA   rm   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   rA   rm   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 )	Nr8   r  r   Aardvarkr<      ri   rS   )r   r   rA   rm   r$   rq   rn   get_rendererx0r(  approx)r+   r,   ry   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 )Nr8   r!  r   r"  r<   )r   r   rA   rm   r$   rn   ro   rq   )r+   r,   ry   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   r3  ri   r_   )r   r   )rb   r   )r   r2  r   zlegend.title_fontsizer0  z	font.sizer   r   r   r   )r   rA   rm   r(  r)  r  r$   r
   r  get_sizer   rj   get_fontsizer   r   )	ry   r+   axesleg0leg1r+  leg3leg4leg5s	            r1   #test_legend_title_fontprop_fontsizer=    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)r}   r~  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   r>  r   )r   r   rA   rm   r$   get_childrenrG   get_alignmentr>  r+   r,   ry   s       r1   test_legend_alignmentrC    sn    llnGCGGE"IVG$
))*	)
:Ca &&)333)+++r3   r   r|   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   rA   rm   r$   set_loc_get_locr  rf   codesr   r+   r,   ry   s       r1   test_ax_legend_set_locrI    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   rA   rm   r$   rE  rY  splitrF  r  rf   rG  rH  s       r1   test_fig_legend_set_locrM    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   rA   rm   r$   set_alignmentr@  rG   rA  rB  s       r1   test_legend_set_alignmentrP    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<   ri   #2r_   #3
labelcolor)r   r   rA   r   r@   r$   r   r   r*   
same_color	get_colorr/   r+   r,   ry   r  s        r1   test_legend_labelcolor_singlerZ  &  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   rR  r<   ri   rS  r_   rT  r   r   r   rU  r   r   rA   r   r@   r$   r   r   r   r*   rW  rX  r+   r,   ry   r  r/   s        r1   test_legend_labelcolor_listr_  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   rR  r   r   r/   ri   rS  r   r_   rT  r   	linecolorrU  r\  r]  r^  s        r1    test_legend_labelcolor_linecolorrc  ?  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   rR  r   r   ri   rS  r   r_   rT  r   rb  rU  r\  r   r   r    r   r@   r$   r   r   r   r*   rW  rX  r^  s        r1   /test_legend_pathcollection_labelcolor_linecolorrf  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   rF   ri   r   rR  r   rb  rU  black)r   r   r   r   r    r@   r$   r   r   r*   rW  rX  )r+   r,   r*   ry   r  s        r1   8test_legend_pathcollection_labelcolor_linecolor_iterablerj  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   rR  )r   r   rb  rU  ri  )r   r   r    r   r@   r$   r   r   r*   rW  rX  )r+   r,   ry   r  s       r1   4test_legend_pathcollection_labelcolor_linecolor_cmaprl  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   rR  r   r   markeredgecolorri   rS  r   r_   rT  r   ro  rU  r\  r]  r^  s        r1   &test_legend_labelcolor_markeredgecolorrp  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   rR  r   r   r   ri   rS  r   r_   rT  r   ro  rU  r\  re  r^  s        r1   5test_legend_pathcollection_labelcolor_markeredgecolorrt  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 )	Nrh  ri   r   rR  rs  ro  rU  r  r   r   r   r   r    r@   r$   r   r   r   r*   rW  rX  r+   r,   r*   ry   r  r/   s         r1   >test_legend_pathcollection_labelcolor_markeredgecolor_iterablery         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   rR  Reds)r   r   r   cmapro  rU  r  r   r   r   cmviridisr   r   r  r    r@   r$   r   r   r*   rW  rX  )r+   r,   r  ry   r  r/   s         r1   :test_legend_pathcollection_labelcolor_markeredgecolor_cmapr    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   rR  r   r   markerfacecolorri   rS  r   r_   rT  r   r  rU  r\  r]  r^  s        r1   &test_legend_labelcolor_markerfacecolorr    rq  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   rR  r   r   r  ri   rS  r   r_   rT  r   r  rU  r\  re  r^  s        r1   5test_legend_pathcollection_labelcolor_markerfacecolorr    ru  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 )	Nrh  ri   r   rR  r  r  rU  r  rw  rx  s         r1   >test_legend_pathcollection_labelcolor_markerfacecolor_iterabler    rz  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   rR  r   r  rU  r  r~  rx  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   rR  r<   ri   rS  r_   rT  legend.labelcolor)r   r   rA   r   r@   r   r   r$   r   r*   rW  rX  rY  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   rR  r   ra  ri   rS  r   r_   rT  r   rb  r  r\  r   r   rA   r   r@   r   r   r$   r   r   r*   rW  rX  r^  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   rR  r   rn  ri   rS  r   r_   rT  r   ro  r  r\  r  r^  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   rR  r   rn  ri   rS  r   r_   rT  r   mecr  r\  r  r^  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   rR  r   r  ri   rS  r   r_   rT  r   r  r  r\  r  r^  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   rR  r   r  ri   rS  r   r_   rT  r   mfcr  r\  r  r^  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   rA   rm   r$   r  )r  r+   r,   ry   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/   rZ   rH   r   )r   rl   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   r4  z Font family ['serif'] not found.)	r   r   r   r   rA   r$   rn   ro   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         ?rc   perf_counterc                     > [        T 5      $ Nnextcounters   r1   <lambda>-test_warn_big_data_best_loc.<locals>.<lambda>U  	    d7mr3   rQ   rT   rW   rX   r<   z
legend.locr>   zGCreating legend with loc="best" can be slow with large amounts of data.r&  ri   )	itertoolscountsetattrtimer   r   rn   ro   rA   r	   r$   r(  rU  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   rQ   rT   rW   rX   r<   r>   )r  r  r  r  r   r   rn   ro   rA   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   ri   r   r   re   r<   r  r  )r   r   rA   r$   r   r  )r  r-   r.   r+   r,   ry   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   ri   r   r   re   r<   )r   r   rA   r$   r   r  rW  )r   r-   r.   r+   r,   ry   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   )ri   r   r   z$Passing label as a length 2 sequencer&  r<   r   r   )r   r   r(  rU  r   MatplotlibDeprecationWarningrA   r$   r   r   r  rW  )r  r-   r.   r+   r,   ry   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   rA   	get_label)r+   r,   rX   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   ri   r   r   re   )r  r  mediumr<   )r(  r)  r  r   r   rA   )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 )Nr`  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   ri   r_   r   rX   r<   r   )r   r   rA   r$   r7  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   ry   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   rX   r<   F)root)r   r   
subfiguresr   rA   r$   
get_figure)subfigr,   ry   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   ri   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  rK   xyzzy)	r   r   r  r  r  r$   	get_linesr   r  )_markersr+   r,   markr   r)   rX   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)ra   r  )r  r  stringsra   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   ri   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   ri   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&  r;  z@loc must be string, coordinate tuple, or an integer 0-10, not -1rH   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)   ri   )
r   rA   rm   r(  rU  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   ri   )r   rA   rm   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   rA   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   rA   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   ri   r   r   r`   r>   r   grayr   zShaded Area)r/   r  r   r   r   rH   r   r?   r   )r   r   r   rj   r   r[   r\   r$   rn   ro   rp   rq   rr   rs   rt   r   ru   )	r-   r  r  rw   r+   rv   r,   r   ry   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 )Nri   r+  r`   r,  r   z	plot namer<   r  zsome text blahblahtop)verticalalignmentr?   r   )r   r   r   rj   rA   r  r$   rn   ro   rp   rq   rr   rs   rt   r   ru   )r+   rv   rw   r,   r   r-   r.   ry   s           r1   test_legend_textr2    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   rA   annotater$   r   r   objectr5  savefigioBytesIOassert_not_called)r+   r,   mocked_get_renderers      r1   test_legend_annotater>    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   )nrowsra   )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  )rE  r   r   r  rH  s     r1   rJ  rK    s$     @1z!SYY--..rL  z values must have same the lengthr&  ri   rH   r<   r_   rA  c              3   ^   #    U  H#  oR                  5       R                  S 5      v   M%     g7f)_N)r  rY  )rI  r-   s     r1   rJ  rK    s$     I6H{{}'',,6Hs   +-)r   r   seedr   r   boxplotr  r!   allr(  r)  r  )r  r+   rv   legend_labelsbp1r  r0   r)   bp2bp3bp4s              r1   test_boxplot_legend_labelsrZ    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"   r:  r  platformr  unittestr   r  numpyr   numpy.testingr   r(  matplotlib.testing.decoratorsr   r   matplotlib.testing._markersr   matplotlib.pyplotpyplotr   
matplotlibr   matplotlib.patchesrF  r   matplotlib.transforms
transformsr  matplotlib.collectionsr  matplotlib.linesr   r  matplotlib.legend_handlerr   matplotlib.legendr$   r  r	   matplotlib.font_managerr
   r2   rB   rN   r]   rz   r   r   machiner   r   r   r   r   r   r   r   r   r   r  r  r  ro  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r)  r,  r=  r  parametrizerC  rI  rM  rP  rZ  r_  rc  rf  rj  rl  rp  rt  ry  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.  r2  r>  rZ  r   r3   r1   <module>rp     s    	       )  O 4   % + - ! 2 # ! 29$ >"5 6 >"5: 6: >"# $@,@@ *+>' ?' ,-4#++-9auF-F- -.D#++-9auF	IF	I #$$#++-9atE2E2 &'T#++-9atE	6E	6 7)48
E 9
E <.d#++-9auFF =-0dC! D!  ?#68 7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   