
    h޼                     |   S SK J 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	J
r
Jr  S SK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JrJ r J!r!  S SKJ"r"  S SK#J$r$J%r%  \RL                  " SS	/S
9S 5       r'S r(\%" S/5      S 5       r)\%" S/5      S 5       r*\%" S/5      S 5       r+\%" S/5      S 5       r,\%" S/5      S 5       r-\%" S/5      S 5       r.\%" S/5      S 5       r/\%" S/5      S 5       r0\%" S/5      S 5       r1\%" S/5      S  5       r2\%" / S!Q5      S" 5       r3\%" S#/5      S$ 5       r4S% r5S& r6S' r7S( r8S) r9\Rt                  Rw                  S*5      \$" S+/S,9S- 5       5       r<S. r=S/ r>\%" S0/S1\R~                  " 5       S2:X  a  S OS3S49S5 5       r@S6 rA\%" S7/S1S*S89S9 5       rB\%" S:/S1S;9S< 5       rC\%" S=/S1S;9S> 5       rDS? rES@ rFSA rGSB rHSC rISD rJ\%" SE/S1S;9SF 5       rKSG rL\Rt                  Rw                  SH5      SI 5       rMSJ rN\Rt                  Rw                  SH5      SK 5       rO\Rt                  Rw                  SH5      SL 5       rP\%" SM/5      SN 5       rQ\%" SO/S1SHS89SP 5       rRSQ rSSR rTSS rUST rV\$" S+/S,9\R                  R                  SU0 SVSW0/5      SX 5       5       rY\R                  R                  SYSZS[S\SSS]/S^-  S_4S`SaSb/SSSc4/5      Sd 5       rZSe r[Sf r\Sg r]\R                  R                  ShSiSj/5      Sk 5       r^Sl r_Sm r`Sn raSo rbSp rcSq rdSr reSs rf\Rt                  Rw                  SH5      St 5       rgSu rhSv riSw rjSx rkSy rlSz rm\%" S{/S+/S1S*S|9S} 5       rn\$" S+/S,9S~ 5       roS rp\R                  R                  SSSS//5      \$" S+/S,9S 5       5       rq\$" / SQS,9S 5       rrg)    )datetimeN)SimpleNamespace)assert_array_equalassert_array_almost_equal)
CollectionLineCollectionEventCollectionPolyCollection)FillBetweenPolyCollection)check_figures_equalimage_comparison
pcolormeshpcolor)paramsc                     U R                   $ N)param)requests    S/var/www/html/env/lib/python3.13/site-packages/matplotlib/tests/test_collections.pypcfuncr      s    ==    c                  |   [         R                  " / SQ5      n [         R                  " / SQ5      nSnSnSnSn/ SQnSnS	n[        U UUUUUUUS
9n	[        R                  " 5       u  pUR                  U	5        UR                  S5        U UUUUUUUUS.	nUR                  SS5        UR                  SS5        XU4$ )z,Generate the initial collection and plot it.)              ?       @      @g      @g       @g      *@g      5@)g      A@g     K@g     @V@
horizontal         ?   r   r   r   r   solidT)orientation
lineoffset
linelength	linewidthcolor	linestyleantialiasedzEventCollection: default)		positionsextra_positionsr#   r$   r%   r&   r'   r(   r)      r   )	nparrayr	   pltsubplotsadd_collection	set_titleset_xlimset_ylim)r*   r+   r#   r$   r%   r&   r'   r(   r)   collfigaxpropss                r   generate_EventCollection_plotr:      s    ;<Ihh/OKJJIEIK9'2&0&0%.!&%.'2D llnGCdLL+,# /'%%##'	E KKBKK1U?r   EventCollection_plot__defaultc                  <   [        5       u  pn[        UUS   US   US   US   5        [        R                  R	                  US   UR                  5       5        US   UR                  5       :X  d   eUR                  5       (       d   eUS   UR                  5       :X  d   eUS   UR                  5       :X  d   eUR                  5       S/:X  d   eUR                  5       /UR                  5       Q H%  n[        R                  R	                  X2S   5        M'     g )Nr*   r%   r$   r#   r   Nr'   )r:   check_segmentsr.   testingr   get_positionsget_orientationis_horizontalget_linelengthget_lineoffsetget_linestyle	get_color
get_colors)_r6   r9   r'   s       r    test__EventCollection__get_propsrI   E   s   24NAU4%&&'	) JJ!!%"4d6H6H6JK4#7#7#9999$"5"5"7777$"5"5"7777I;....."7T__%67


%%e7^< 8r   #EventCollection_plot__set_positionsc                  J   [        5       u  pn[        R                  " US   US   /5      nUR                  U5        [        R                  R                  X1R                  5       5        [        XUS   US   US   5        U R                  S5        U R                  SS5        g )	Nr*   r+   r%   r$   r#   zEventCollection: set_positionsr,   Z   )
r:   r.   hstackset_positionsr?   r   r@   r>   r3   r4   spltr6   r9   new_positionss       r   $test__EventCollection__set_positionsrR   _   s    57DIIu[159J3KLMM}%JJ!!-1C1C1EF4&&') 	NN34MM"br   #EventCollection_plot__add_positionsc                     [        5       u  pn[        R                  " US   US   S   /5      nUR                  5         UR	                  US   S   5        UR                  5         [        R
                  R                  X1R                  5       5        [        UUUS   US   US   5        U R                  S5        U R                  SS	5        g )
Nr*   r+   r   r%   r$   r#   zEventCollection: add_positionsr,   #   )r:   r.   rM   switch_orientationadd_positionsr?   r   r@   r>   r3   r4   rO   s       r   $test__EventCollection__add_positionsrX   m   s    57DIIu[1$%67:< =Mu./23JJ!!-1C1C1EF4 &&'	)
 	NN34MM"br   &EventCollection_plot__append_positionsc                  ^   [        5       u  pn[        R                  " US   US   S   /5      nUR                  US   S   5        [        R                  R                  X1R                  5       5        [        UUUS   US   US   5        U R                  S5        U R                  SS	5        g )
Nr*   r+   r    r%   r$   r#   z!EventCollection: append_positionsr,   rL   )
r:   r.   rM   append_positionsr?   r   r@   r>   r3   r4   rO   s       r   'test__EventCollection__append_positionsr\      s    57DIIu[1$%67:< =M% 12156JJ!!-1C1C1EF4 &&'	)
 	NN67MM"br   &EventCollection_plot__extend_positionsc                  ^   [        5       u  pn[        R                  " US   US   SS  /5      nUR                  US   SS  5        [        R                  R                  X1R                  5       5        [        UUUS   US   US   5        U R                  S5        U R                  SS	5        g )
Nr*   r+   r   r%   r$   r#   z!EventCollection: extend_positionsr,   rL   )
r:   r.   rM   extend_positionsr?   r   r@   r>   r3   r4   rO   s       r   'test__EventCollection__extend_positionsr`      s    57DIIu[1$%67;= >M% 121267JJ!!-1C1C1EF4 &&'	)
 	NN67MM"br   (EventCollection_plot__switch_orientationc                  N   [        5       u  pnSnUR                  5         X1R                  5       :X  d   eUR                  5       (       a   eUR	                  5       n[        UUUS   US   U5        U R                  S5        U R                  SS5        U R                  SS5        g )	Nverticalr%   r$   z#EventCollection: switch_orientationr,   r-   r   r    )	r:   rV   rA   rB   r@   r>   r3   r5   r4   )rP   r6   r9   new_orientationrQ   s        r   )test__EventCollection__switch_orientationre      s    57D O224444!!####&&(M4 &&9 	NN89MM"bMM!Qr   ,EventCollection_plot__switch_orientation__2xc                  v   [        5       u  pnUR                  5         UR                  5         UR                  5       nUS   UR                  5       :X  d   eUR	                  5       (       d   e[
        R                  R                  US   U5        [        UUUS   US   US   5        U R                  S5        g)zW
Check that calling switch_orientation twice sets the orientation back to
the default.
r#   r*   r%   r$   z&EventCollection: switch_orientation 2xN)
r:   rV   r@   rA   rB   r.   r?   r   r>   r3   rO   s       r   ,test__EventCollection__switch_orientation_2xrh      s     67D&&(M4#7#7#9999JJ!!%"4mD4 &&'	)
 	NN;<r   %EventCollection_plot__set_orientationc                  6   [        5       u  pnSnUR                  U5        X1R                  5       :X  d   eUR                  5       (       a   e[	        UUS   US   US   U5        U R                  S5        U R                  SS5        U R                  SS	5        g )
Nrc   r*   r%   r$   z EventCollection: set_orientationr,   r-   r   r    )r:   set_orientationrA   rB   r>   r3   r5   r4   )rP   r6   r9   rd   s       r   &test__EventCollection__set_orientationrl      s    57D O)224444!!####4%&&"	$
 	NN56MM"bMM!Qr   $EventCollection_plot__set_linelengthc                      [        5       u  pnSnUR                  U5        X1R                  5       :X  d   e[        UUS   UUS   US   5        U R	                  S5        U R                  SS5        g )N   r*   r$   r#   zEventCollection: set_linelengthi   )r:   set_linelengthrC   r>   r3   r5   )rP   r6   r9   new_linelengths       r   %test__EventCollection__set_linelengthrs      sy    57DN'0022224%!&'	)
 	NN45MM#rr   $EventCollection_plot__set_lineoffsetc                      [        5       u  pnSnUR                  U5        X1R                  5       :X  d   e[        UUS   US   UUS   5        U R	                  S5        U R                  SS5        g )Ng      r*   r%   r#   zEventCollection: set_lineoffseti)r:   set_lineoffsetrD   r>   r3   r5   )rP   r6   r9   new_lineoffsets       r   %test__EventCollection__set_lineoffsetry      sy    57DN'0022224%&!'	)
 	NN45MM"br   )#EventCollection_plot__set_linestylerz   #EventCollection_plot__set_linewidthc                      SSS/4SSS/4S4 HV  u  pn[        5       u  p4nUR                  " S0 X0D6  [        R                  " X@5      U:X  d   eUR	                  SU  35        MX     g )Nr(   dashed)r   )      @r~   )r&      r   zEventCollection: set_ )r:   setr0   getpr3   )propvalueexpectedrP   r6   rH   s         r   test__EventCollection__set_propr      s|     (_$56-/):;"X
 67A!D=!xx#x///.tf56"r   EventCollection_plot__set_colorc                      [        5       u  pn[        R                  " / SQ5      nUR                  U5        UR	                  5       /UR                  5       Q H"  n[        R                  R                  XC5        M$     U R                  S5        g )N)r   r   r   r   zEventCollection: set_color)	r:   r.   r/   	set_colorrF   rG   r?   r   r3   )rP   r6   rH   	new_colorr'   s        r    test__EventCollection__set_colorr     sg    13MD&INN9.."7T__%67


%%e7 8NN/0r   c                 x   U R                  5       nUR                  5       S:X  d  UR                  5       S:X  d  Uc  SnSnO$UR                  5       S:X  a  SnSnO[        S5      e[        U5       HG  u  pU	SU4   X2S-  -   :X  d   eU	SU4   X2S-  -
  :X  d   eU	SU4   X   :X  d   eU	SU4   X   :X  a  MG   e   g)	zd
Test helper checking that all values in the segment are correct, given a
particular set of inputs.
r   noneNr   r   rc   z.orientation must be 'horizontal' or 'vertical'r    )get_segmentslower
ValueError	enumerate)
r6   r*   r%   r$   r#   segmentspos1pos2isegments
             r   r>   r>     s    
   "H|+  "f,0C				
	*IJJ  )
q$w:Q#>>>>q$w:Q#>>>>q$w9<///q$w9<///	 *r   c                  L   [         R                  " S5      R                  S5      n [        R                  " U [         R                  " S5      S9nUR                  S5      S:X  d   eUR                  [         R                  " S5      S-   5        UR                  S5      S:X  d   eg )N   )      r    r   )r/   r    gUUUUUU?r   )r.   arangereshapemcollectionsr   norm	set_array)linesr6   s     r   test_collection_norm_autoscaler   )  sy    IIbM!!),E&&uBIIaLAD99Q<5   NN299Q<!#$99Q<5   r   c                      [         R                  " / 5      n U R                  [        R                  " 5       5      n[        UR                  5       [        R                  R                  5       R                  5       5        g r   )	r   PathCollectionget_datalimmtransformsIdentityTransformr   
get_pointsBboxnull)colcol_data_lims     r   test_null_collection_datalimr   3  sW    

%
%b
)C??;#@#@#BCL|..0"'',,.99;=r   c                  z   [         R                  " 5       n [        R                  " [        R
                  " SS/5      /5      nU R                  U5        UR                  [        R                  " 5       5      n[        UR                  5       [        R                  R                  5       R                  5       5        g )Nr   r   )r   r   )r0   axesr   r   mpathPathr2   r   r   r   r   r   r   r   )r8   r6   coll_data_lims      r   test_no_offsets_datalimr   :  s     
B&&

FF3C(D'EFDd$$[%B%B%DEM}//1"'',,.99;=r   c                     [         R                  " 5         [         R                  " 5       n U R                  SS/SS/5        U R                  R
                  nU R                  / / 5        U R                  R
                  U:X  d   eg )Nr   r   )r0   figurer   scatterdataLimbounds)r8   r   s     r   test_add_collectionr   E  sc     JJL	BJJ1v1vZZFJJr2::&&&r   mpl20png)
extensionsc                    / SQn/ SQn[         R                  " X#5      u  pEUR                  5       nUR                  5       nU R                  5       nUR	                  S5        UR                  S5        SUl        UR                  XE5        UR                  5       nUR	                  S5        UR                  S5        UR                  XESSS9  g )N)g+c>g`8F>gq[;u>gy7/>g9̗>gW!>g-I>g\p5>gdjD>gyK'?g~+=?gFEAL ?g|0j?gGKe?gލ=B?)r   皙?gK?gsh|??gS?g?r   gQ@g(\@g333333(@g      6@gC@g33333Q@logr   o )markerls)	r.   meshgridflattenr1   
set_xscale
set_yscalemarginsr   plot)fig_testfig_refx_valsy_valsxyax_testax_refs           r   test_collection_log_datalimr   P  s    JFF ;;v&DA			A			A!GuuGOOOAF
e
e
KKSRK(r   c                  X   [         R                  " 5       n [        R                  " S5      [        R                  " S5      p![        R                  " SSS5      R                  SS5      =p4[         R                  " XX45      nUR                  U R                  5      R                  S:X  d   e[         R                  " 5         [         R                  " 5       n [        R                  " SSS5      n[        R                  " SS	S5      n[        R                  " X!5      u  p![        R                  " 5       R                  S
S5      U R                  -   n[         R                  " X[        R                  " U5      [        R                   " U5      US9  U R"                  R                  S:X  d   eg )N   
   r   P   )r   r   g      @g      "@rp   r          	transform)g      4@g      >@g      .@r~   )r0   r   r.   r   linspacer   quiverr   	transDatar   r   r   r   Affine2D	translatesincosr   )r8   r   r   uvqtranss          r   test_quiver_limitsr   j  s   	B99Q<2qKK2r"**2q11A

1A==&--1AAAAJJL	B
BBA
B2A;;qDA  ",,R4r||CEJJqRVVAYq	U;:: 7777r   c                     [         R                  " 5       n [        R                  " SSS5      n[        R                  " SSS5      n[        R                  " X!5      u  p![
        R                  " 5       R                  SS5      U R                  -   n[         R                  " X[        R                  " U5      [        R                  " U5      US9  [        U R                  R                  S	S
S9  g )Nr   r   rp   r   r   r   r   r   )rp      ro      r   decimal)r0   r   r.   r   r   r   r   r   r   barbsr   r   r   r   r   )r8   r   r   r   s       r   test_barb_limitsr   {  s    	B
BBA
B2A;;qDA  ",,R4r||CEIIaBFF1IrvvayE: bjj//&')r   z EllipseCollection_test_image.pngTx86_64g/$?)remove_texttolc            
      
   [         R                  " 5       u  p[        R                  " S5      n[        R                  " S5      n[        R                  " X#5      u  pE[        R
                  " UR                  5       UR                  5       45      R                  nXBS   -  nXSS   -  n[        R                  " U5      S-  n	[        R                  " XxU	SXaR                  SS9n
UR                  U
5        UR                  5         g )Nr   r   r,   rp   r   r   )unitsoffsetsoffset_transform
facecolors)r0   r1   r.   r   r   vstackravelT	ones_liker   EllipseCollectionr   r2   autoscale_view)r7   r8   r   r   XYXYwwhhaaecs              r   test_EllipseCollectionr    s     llnGC
		!A
		!A;;qDA	AGGIqwwy)	*	,	,B	
rUB	
rUB	b	B	B		'	'
#rLL
B br   c            	         [         R                  R                  S5      n SnSnSnU R                  S5      S-  n[        R                  " 5       u  pV[
        R                  " UUUUSUR                  S9n[        UR                  [         R                  " U5      R                  5       S	-  5        [        UR                  [         R                  " U5      R                  5       S	-  5        [        UR                  [         R                  " U5      R                  5       5        [        UR                  5       U5        [        UR!                  5       U5        [        UR#                  5       U5        UR%                  U5        UR'                  S
S5        UR)                  S
S5        U R                  S5      S-  nU R                  S5      S-  n	U R                  S5      S-  n
UR+                  XU
S9  [        UR                  5       UR                  5       5        [        UR!                  5       U	R                  5       5        [        UR#                  5       U
R                  5       5        g )Nr   )r    )r   )-   )r   r    r   r   )widthsheightsanglesr   r   r   r   r      r    r      )r  r	  r
  )r.   randomdefault_rngr0   r1   r   r   r   r   _widthsr/   r   _heights_anglesdeg2rad
get_widthsget_heights
get_anglesr2   r4   r5   r   )rngr  r	  r
  r   r7   r8   r  
new_widthsnew_heights
new_angless              r   $test_EllipseCollection_setter_getterr    s   
))


"CFGFjj!B&GllnGC		'	'

B bjj"((6*:*@*@*BS*HIbkk288G+<+B+B+Ds+JKbjj"**V*<*B*B*DEbmmov6bnn.8bmmov6bKKBKKBG$q(J**W%)KG$s*JFF**FEbmmoz/?/?/ABbnn.0A0A0CDbmmoz/?/?/ABr   zpolycollection_close.png)r   stylec                     SSK Jn   S[        R                  S'   SS/SS/SS/SS//SS/SS/SS/SS//SS/SS/S	S/SS//SS/SS/S	S/S	S///n[        R                  " 5       nUR                  U " U5      5      n/ S
Qn[        [        S5      5      n[        R                  " U[        U5      -  SS9nUR                  S5        / n/ n[        XT5       HA  u  pUR                  U	/[        U5      -  5        UR                  U
/[        U5      -  5        MC     UR                  U5        UR                  XgSS9  UR!                  SS5        UR#                  SS5        UR%                  SS5        g )Nr   )Axes3DTzaxes3d.automarginr   r   r   r         @)rgbr   kr         ?r&   gffffff?r   )zszdirr   r   )mpl_toolkits.mplot3dr  r0   rcParamsr   add_axeslistranger   r
   len	set_alphazipextendr   add_collection3d
set_xlim3d
set_zlim3d
set_ylim3d)r  	vertsQuadr7   r8   colorszpospolyr%  cszcs              r   test_polycollection_closer;    s   +(,CLL$% bB8b"XBx0
bB8b"XBx0
bB8b"XBx0
bB8b"XBx0	2I **,C	fSk	"B&Fa>D&&CI/DNN3 
B	BD!
		1#I&'
		1#I&' " 	NN2#. MM!QMM!QMM!Qr   z regularpolycollection_rotate.png)r   c            	         [         R                  S S2S S24   u  p[         R                  " U R                  5       UR                  5       /5      n[         R                  " SS[         R
                  -  [        U5      5      n[        R                  " 5       u  pE[        X#5       H8  u  pg[        R                  " SSUU/UR                  S9nUR                  USS9  M:     UR                  5         g )	Nr   r   r    r   )d   )sizesrotationr   r   Tautolim)r.   mgrid	transposer   r   pir,  r0   r1   r.  r   RegularPolyCollectionr   r2   r   )	xxyy	xy_points	rotationsr7   r8   xyalphar   s	            r   !test_regularpolycollection_rotaterL    s    XXcrc3B3hFBbjjlBJJL9:IAqwI7IllnGC.	00VeD2<<9 	#t,	 /
 r   zregularpolycollection_scale.pngc                       " S S[         R                  5      n [        R                  " 5       u  pS/n[        R
                  S-  /nU " XCUR                  S9nUR                  USS9  UR                  / SQ5        g )	Nc                   .   ^  \ rS rSrU 4S jrS rSrU =r$ ):test_regularpolycollection_scale.<locals>.SquareCollectioni  c                 L   > [         TU ]  " SS[        R                  S-  0UD6  g )Nr?  r  )r   )super__init__r.   rD  )selfkwargs	__class__s     r   rR  Ctest_regularpolycollection_scale.<locals>.SquareCollection.__init__  s     G<r<V<r   c                 V   U R                   nSUR                  SS9R                  -  nX!R                  R                  -  UR
                  R                  -  nX!R                  R                  -  UR
                  R                  -  n[        R                  " 5       R                  X45      $ )z4Return transform scaling circle areas to data space.g      R@T)root)
r   
get_figuredpibboxwidthviewLimheightr   r   scale)rS  r8   
pts2pixelsscale_xscale_ys        r   get_transformHtest_regularpolycollection_scale.<locals>.SquareCollection.get_transform  s~    B4 8 < <<J 77==02::3C3CCG 77>>1BJJ4E4EEG'')//AAr   r   )__name__
__module____qualname____firstlineno__rR  rc  __static_attributes____classcell__)rU  s   @r   SquareCollectionrO    s    	=	B 	Br   rk  r   r    )r>  r   r   Tr@  )r,   r   r,   r   )	r   rE  r0   r1   r.   rD  r   r2   axis)rk  r7   r8   rJ  circle_areassquaress         r    test_regularpolycollection_scalero    sn    B<== B llnGC
BEEAI;LGGgt,GGNr   c                  "   [         R                  " 5       u  pUR                  S/S/S/SS9nU R                  [        R
                  " 5       U R                  S9  [        SSS9nUR                  U5      u  pEU(       d   e[        US	   S/5        g )
Nr   i  T)picker)rZ  iE     )r   r   ind)
r0   r1   r   savefigioBytesIOrZ  r   containsr   )r7   r8   r   mouse_eventfoundindicess         r   test_pickingr{    sx    llnGC
**aS1#vd*
3CKK

#''K*!C3/K\\+.NEL5wu~s+r   c                  6   [         R                  " S5      n U S S 2S 4   U S S S 24   -  n[        R                  " 5       u  p#UR	                  U5      nUR                  5         Su  pVUR                  5       R                  XV45      u  p[        XVXS9nUR                  U5      u  pU	(       d   e[        U
S   S/5        Su  pVUR                  5       R                  XV45      u  p[        XVXS9nUR                  U5      u  pU	(       d   e[        U
S   S/5        g )Nr   r   r   xdataydatar   r   rs  r         ?r  r   )r.   r   r0   r1   r   draw_without_renderingrc  r   r   rw  r   )r   r   r7   r8   meshr  r  r   rx  ry  rz  s              r   test_quadmesh_containsr  %  s    
		!A	!T'
QtQwZAllnGC==D LE))5.9DA!aEK]];/NEL5wu~s+LE))5.9DA!aEK]];/NEL5wu~s+r   c                  H   SS/SS//n SS/SS//n[         R                  " 5       u  p#UR                  XS//5      nUR                  5         / SQnU HM  nUu  pxn	UR	                  5       R                  Xx45      u  p[        XxXS9n
UR                  U
5      u  pXL a  MM   e   g )Nr   r,   r   ))      r#  T)r   r#  F)r   r#  T)r   g      пTr~  )r0   r1   r   r  rc  r   r   rw  )r   r   r7   r8   r  pointspointr  r  r   rx  ry  rz  s                r   test_quadmesh_contains_concaver  ;  s    
R1a&A
Q!RAllnGC==u%D F
 !&h!!#--un=%E!I{3    r   c                     [         R                  " S5      n U S S 2S 4   U S S S 24   -  n[        R                  " 5       u  p#UR	                  U5      nS Ul        UR                  5         Su  pVUR                  5       R                  XV45      u  p[        XVXS9nUR                  U5      b   eUR                  [         R                  " UR                  5      5        [        UR                  U5      S/5        g )Nr   r}  r~  r   )r.   r   r0   r1   r   _Ar  rc  r   r   get_cursor_datar   onesshaper   )	r   r   r7   r8   r  r  r  r   rx  s	            r   test_quadmesh_cursor_datar  P  s    
		!A	!T'
QtQwZAllnGC==DDG LE))5.9DA!aEK,444 	NN277177#$t++K81#>r   c                  d   / SQn [         R                  " 5       u  pUR                  X [        R                  " S5      5      nUR                  5         Su  pEUR                  5       R                  XE45      u  p[        XEXS9n[        UR                  U5      [        R                  " S5      5        g )N)r   r    r   r    r   r   r  r~  	   )r0   r1   r   r.   r  r  rc  r   r   r   r  )r   r7   r8   r  r  r  r   rx  s           r   )test_quadmesh_cursor_data_multiple_pointsr  d  s    AllnGC==rwwv/D LE))5.9DA!aEKt++K8"''!*Er   c                  j    [         R                  " / SQ/ SQSSS/4S9  [         R                  " 5         g )Nr   r   r    r   r   )r(   )r0   r   drawr   r   r   test_linestyle_single_dashesr  p  s#    KK	9b"X?HHJr   zsize_in_xy.pngc            	          [         R                  " 5       u  pSu  p#nSnSS/n[        R                  " X#USXQR                  S9nUR                  U5        UR                  SS5        UR                  SS5        g )N)r   r   r   r   r  )ro   ro   rJ  )r   r   r   r   r   )r0   r1   r   r   r   r2   r4   r5   )r7   r8   r  r	  r
  coordses          r   test_size_in_xyr  u  sr    llnGC-FVF!F&&t	7A aKK2KK2r   c                     / SQnU R                  / SQUS9=p#U R                  / SQUS9nU R                  / SQUS9nU R                  / SQUS9n[        US9  [        US9  [        US	9  [        US
9  [        US9  g )N)   r     )redbluegreen)indexr   r    r   )r"   r}   dashdot)TFT)
edgecolors)r   )
linewidths)
linestyles)antialiaseds)Seriesr   )pdr  r  fclwr   r  s          r   test_pandas_indexingr    s     Eii0i>>B	9E	*B	1	?B	&e	4B""""Br   defaultc                     [         R                  " / 5      n U R                  SS/5        U R                  / SQ5        U R	                  5       S/S-  :X  d   eU R                  5       / SQS-  :X  d   eU R                  / SQ5        U R	                  5       S/S-  :X  d   eU R                  5       / SQ:H  R                  5       (       d   eg )N-r  r=   r   r    )r  r  r  r   )r   r   set_linestylesset_linewidthsget_linestylesget_linewidthsallr   s    r   test_lslw_bcastr    s    

%
%b
)CSz"y!I;?2229q=000'I;?222 I-224444r   c                      [        5       n [        R                  " [        SS9   U R	                  S5        S S S 5        g ! , (       d  f       g = f)Nz"Do not know how to convert 'fuzzy'matchfuzzy)r   pytestraisesr   set_linestyler:  s    r   test_set_wrong_linestyler    s1    A	z)M	N	  
O	N	Ns	   ?
Ac                      [         R                  " / 5      n U R                  5       b   e[         R                  " / SS9n U R                  5       S:X  d   eU R                  S5        U R                  5       S:X  d   eg )Nround)capstylebutt)r   r   get_capstyleset_capstyler  s    r   test_capstyler    su    

%
%b
)C%%%

%
%b7
;C(((V'''r   c                      [         R                  " / 5      n U R                  5       b   e[         R                  " / SS9n U R                  5       S:X  d   eU R                  S5        U R                  5       S:X  d   eg )Nr  )	joinstylemiter)r   r   get_joinstyleset_joinstyler  s    r   test_joinstyler    su    

%
%b
)C&&&

%
%bG
<C')))g')))r   zcap_and_joinstyle.pngc                     [         R                  " 5       u  pUR                  SS/5        UR                  SS/5        [        R
                  " / SQ5      n[        R
                  " S/S/S//5      [        R
                  " / SQ/5      -   n[        R                  " S	5      nX$S S 2S S 2S
4'   X4S S 2S S 2S4'   [        U/ SQS9nUR                  S5        UR                  S5        UR                  U5        UR                  S5        g )Nr  r        @)r   r   r   r   r   r   )r   r   r   )r   r   r    r   r   )r   ro   rp   r$  r  r  z2Line collection with customized caps and joinstyle)r0   r1   r4   r5   r.   r/   zerosr   r  r  r2   r3   )r7   r8   r   yssegsline_segmentss         r   test_cap_and_joinstyle_imager    s    llnGCKKsKKs
!A	C53%#'	(288_4E+F	FB88IDAqMAqM"4<@Mw'(m$LLEFr   zscatter_post_alpha.pngc                      [         R                  " 5       u  pUR                  [        S5      [        S5      [        S5      S9nUR	                  S5        g )Nr   r  r   )r0   r1   r   r+  r-  )r7   r8   scs      r   test_scatter_post_alphar    s=     llnGC	E!HeAh%(	3BLLr   c                     [         R                  " S5      n U S-  n[        R                  " S5      u  nu  p4UR	                  X XS9nUR	                  X U S9nUR                  U5        [        R                  " 5         [        UR                  5       S S 2S4   U5        [        UR                  5       S S 2S4   U5        [        R                  " S5      u  nu  p4UR	                  X / SQUS9nUR	                  X SUS9n[        R                  " 5         [        UR                  5       S S 2S4   U5        [        UR                  5       S S 2S4   U5        [        R                  " S5      u  nu  p4UR	                  X / SQS	9nUR                  U5        UR	                  X SS	9nUR                  U5        [        R                  " 5         [        UR                  5       S S 2S4   U5        [        UR                  5       S S 2S4   U5        g )
Nr   r    )r:  rK  r  r,   )r  r   r!  r:  m)r'   rK  r  )r'   )	r.   r   r0   r1   r   r-  r  r   get_facecolors)r   rK  r7   ax0ax1sc0sc1s          r   test_scatter_alpha_arrayr    s   
		!AEEll1oOC#
++aa+
-C
++aa+
 CMM%HHJs))+ArE2E:s))+ArE2E:ll1oOC#
++a";5+
IC
++a#U+
3CHHJs))+ArE2E:s))+ArE2E:ll1oOC#
++a";+
<CMM%
++a#+
&CMM%HHJs))+ArE2E:s))+ArE2E:r   c            
         [         R                  R                  S5        [         R                  R                  SS5      u  p[         R                  R                  S5      n[         R                  R	                  SSSS9n[         R                  R	                  SSSS9n[
        R                  " 5       u  pEUR                  XX#SS	SS
9nUR                  SS9u  px[        U5      S:X  d   eU/ SQ:X  d   e[         R                  " U V	s/ s H  oR                  5       PM     sn	5      n
UR                  [         R                  " S5      S-  5      n[        X5        UR                  XxSS9nUR                  SS9u  p[        U5      S:X  d   eUR                  XSS9nUR                  SSSS9u  px[!        S U 5       5      (       d   e[!        S U 5       5      (       d   eUR                  XxSS9nUR                  SSSS S9u  pxU V	s/ s H  oR#                  5       PM     nn	[         R$                  " [         R                  " U[&        5      S-  5      n[)        UU5        UR                  XxSS9n[*        R,                  R/                  SS/ SQS9nUR                  US9u  nn[        U5      [        U5      :X  d   e/ S QnUR                  USSS!9u  nnU Vs/ s H  n['        U5      PM     snUSS  :X  d   eXUU4 H  nUR1                  U5        M     UR2                  R5                  5         g s  sn	f s  sn	f s  snf )"N!N,r    r   r   r   )sizei,  jetr   )r:  scmapr   r  z{x:g})fmt)01234r   r   )locr  )numr>  r   r  )r   rK  r'   c              3   F   #    U  H  oR                  5       S :H  v   M     g7f)r   N)	get_alpha.0lines     r   	<genexpr>6test_pathcollection_legend_elements.<locals>.<genexpr>  s     514~~3&1   !c              3   F   #    U  H  oR                  5       S :H  v   M     g7f)r  N)get_markerfacecolorr  s     r   r  r    s     Aqt'')U2qr  z{x:.2f}c                     SU -  $ )Nr    r   )r   s    r   <lambda>5test_pathcollection_legend_elements.<locals>.<lambda>  s    QqSr   )r   r  r  funcr   r   )r   r    r  r   r   r   r   r   )nbinsmin_n_tickssteps)r,   r   g33333K@i  )r  r   r  )r.   r  seedrandrandintr0   r1   r   legend_elementsr,  r/   rF   r  r   r   legendr  get_markersizesqrtfloatr   mpltickerMaxNLocator
add_artistcanvasr  )r   r   r:  r  r7   r8   r  hlr  r5  colors2l1h2lab2l2l3actsizeslabeledsizesl4r  h5lab5levelsh6lab6s                             r   #test_pathcollection_legend_elementsr    s   IINN899>>!R DA
		rA
		!QR(A
		"c+AllnGC	AAsq	IB'*DAq6Q;;))))XXA6AD~~'A67Fggbiil1n%Gv'	1Q	B!!a!(HBr7a<<	2	#B7#UCDA5155555AqAAAAA	1Q	B7y#0  2DA234!$##%!H477288Au-12Lh5	1Q	B
**
 
 qc'B ! DC!!c!*HBr7c"gF!!f7!HHB"#dE!Hd#vabz111b"
a  JJOOC 7  5 $s   	L7L<Mc                      [         R                  " / SQ5      n [        U 5      n[         R                  R	                  U [         R                  " / SQ5      5        g )N)r   r    r   r   )r.   r/   r	   r?   r   )arrr6   s     r   test_EventCollection_nosortr!  )  s7    
((=
!C3DJJ!!#rxx'>?r   c                  4   [         R                  " S[         R                  S9R                  SSS5      n [	        U 5      n[	        [        U 5      5      n[        UR                  5      [        UR                  5      :X  d   e[        UR                  UR                  5       Hi  u  p4[         R                  " UR                  UR                  5      (       d   e[         R                  " UR                  UR                  5      (       a  Mi   e   [         R                  " S[        S9nU  Vs/ s H  n[        S U 5       5      PM     snUS S & [	        U5      n[        UR                  5      [        UR                  5      :X  d   e[        UR                  UR                  5       Hi  u  p8[         R                  " UR                  UR                  5      (       d   e[         R                  " UR                  UR                  5      (       a  Mi   e   g s  snf )Nr   dtyper   r   r    c              3   8   #    U  H  n[        U5      v   M     g 7fr   )tuple)r  r   s     r   r  2test_collection_set_verts_array.<locals>.<genexpr>:  s     0aE!HHas   )r.   r   doubler   r
   r*  r,  _pathsr.  array_equal	_vertices_codesemptyobjectr&  )	vertscol_arrcol_listaplpverts_tupler   col_arr_tupleatps	            r   test_collection_set_verts_arrayr7  0  sx   IIb		*222q!<EU#Gd5k*Hw~~#hoo"6666gnnhoo6~~bllBLL9999~~bii3333 7 ((2V,K:?@%Qe0a00%@KN";/Mw~~#m&:&:";;;;w~~}';';<~~bllCMM::::~~bii4444 = As   ,HrT  stepprec                    [         R                  " SS5      n[         R                  " U5      nUS-   nUR                  5       R                  " X4U40 UD6  U R                  5       R                  " USS40 UD6nUR                  X4U5        g )Nr      皙?r,   g333333?)r.   r   r   r1   fill_betweenset_data)r   r   rT  tf1f2r6   s          r   *test_fill_between_poly_collection_set_datarB  B  sx     	ArA	B	cB##A288++Ar3A&ADMM!r   )t_directionr@  r  wheremsg)r9  NNNz't_direction must be 'x' or 'y', got 'z')r   N)r,   r   Nz'x' is not 1-dimensionalr   Fr   z0where size \(3\) does not match 'x' size \(\d+\)r   r   r    z5'y' has size \d+, but 'x1' has an unequal size of \d+c           	      B   [         R                  " SS5      nUc  [         R                  " U5      O[         R                  " U5      nUS-   nU(       a  UR                  " U6 n[
        R                  " [        US9   [        XXUS9  S S S 5        g ! , (       d  f       g = f)Nr   r;  r<  r  )rD  )	r.   r   r   asarrayr   r  r  r   r   )rC  r@  r  rD  rE  r?  rA  s          r   'test_fill_between_poly_collection_raiserH  O  so     	ArAjbjjnB	cBIIu	z	-!+"F 
.	-	-s   ;B
Bc                  X   / [        S5      Qn [        5       nUR                  U 5        [        R                  " [
        SS9   UR                  S5        S S S 5        SU S'   [        R                  " XR                  5       5      R                  5       (       d   eg ! , (       d  f       NM= f)Nr   z^Image data of dtyper  wrong_inputr  r   )
r+  r   r   r  r  	TypeErrorr.   	not_equal	get_arrayany)valsr:  s     r   test_collection_set_arrayrP  _  s    U2Y<D 	AKK 
y(>	?	M" 
@ DG<<kkm,002222 
@	?s   B
B)c            	         / SQn Sn[         R                  " [         R                  " U S5      [         R                  " SU/[	        U 5      5      /5      nUR                  [	        U 5      SS/5      n[        R                  " 5       u  pE[        R                  " UR                  UR                  5      nUR                  [        X6S95        UR                  SSS9  [         R                  R!                  UR#                  5       S	S
/5        g )N)r   r    r   r<  r    r   r   TF)scalexscaleyr   r  )r.   column_stackrepeattiler,  r   r0   r1   r   blended_transform_factoryr   	transAxesr2   r   r   r?   assert_allcloseget_xlim)ar^  xy_pairs	line_segsfr8   r   s          r   test_blended_collection_autolimr_  o  s    AF		!Q!Vc!f1MNOH  #a&!Q0ILLNEA11",,MEnY@AT%0JJr{{}r2h7r   c                     [         R                  " 5       u  pUR                  SS5        [        R                  R                  UR                  5       SS/5        [        R                  R                  UR                  5       SS/5        g )Nr   gQgQ?)r0   r1   r   r.   r?   rY  get_ylimrZ  )r7   r8   s     r   test_singleton_autolimrb  }  sY    llnGCJJq!JJr{{}udm<JJr{{}udm<r   ztransform, expected)r   )r  g      @)rX  )gffffff@g	@c                 B   [         R                  " 5       u  p#UR                  SS[        X05      S9  UR                  SS5        [        R
                  R                  UR                  5       U5        [        R
                  R                  UR                  5       U5        g )Nr   r   r   )	r0   r1   r   getattrr.   r?   rY  ra  rZ  )r   r   r7   r8   s       r   test_autolim_with_zerosre    sj     llnGCJJq!wr5J6JJq!JJr{{}h7JJr{{}h7r   c                    [         R                  " S5      n[         R                  " S5      n[         R                  R                  S5      n[        R                  " 5       u  pE[        XP5      " XU5      n[        R                  " [        [        R                  " S5      S9   UR                  UR                  SS5      5        S S S 5        [         R                  " S5      R                  S	5      n[        R                  " [        [        R                  " S
5      S9   UR                  U5        S S S 5        [        R                  " [        [        R                  " S5      S9   UR                  UR                  5       5        S S S 5        [         R                  " S5      n[        R                  " [        [        R                  " S5      S9   UR                  U5        S S S 5        [         R                  " S5      n[        R                  " [        [        R                  " S5      S9   UR                  U5        S S S 5        [         R                  " S5      n[        R                  " [        [        R                  " S5      S9   UR                  U5        S S S 5        [         R                  " S5      n[         R                  " S5      n[         R                  R                  S5      n[        R                  " 5       u  pEUR                  XUSS9ng ! , (       d  f       GN[= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNs= f! , (       d  f       GN(= f! , (       d  f       N= f)Nr  r   )   r   zuFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (10, 7)r  r   rg  6   )r   r  ztFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (6, 9)zsFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (54,))r  r   r   zwFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (9, 6, 3))r  r   r   zwFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (9, 6, 4))rg  r   r    zxFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (7, 10, 2)gouraudshading)r.   r   r  r0   r1   rd  r  r  r   reescaper   r   r   r  r   )r   r   r   r9  r7   r8   r6   s          r   "test_quadmesh_set_array_validationrn    s   
		"A
		!A
		!AllnGC2qQ'D	zH*I 
J 	qyyQ'(
J
 			"f%A	zG*H 
I 	q
I 
zF*G 
H 	qwwy!
H 		A	zJ*K 
L 	q
L
 		A	zJ*K 
L 	q
L
 	
A	zK*L 
M 	q
M
 			"A
		!A
		!AllnGC==q)=4DM
J 
J
I 
I
H 
H
L 
L
L 
L
M 
MsH   ""LL*% L<M-M 
M2
L'*
L9<
M
M 
M/2
N c                     [         R                  " / SQ/ SQ5      u  pX-  S S2S S24   n[        R                  " XU5      nUR	                  5         UR                  5       SS 2S S 24   n[         R                  R                  U S:H  US:H  -  U 5      n [        R                  " XU5      nUR	                  5         [        UR                  5       5      S:X  d   e[        XER                  5       5        [         R                  R                  U S:H  US:H  -  U5      n[        R                  " XU5      nUR	                  5         [        UR                  5       5      S:X  d   e[        XER                  5       5        [         R                  R                  U S S2S S24   S:H  US S2S S24   S:H  -  U5      n[        R                  " U5      nUR	                  5         [        UR                  5       5      S:X  d   e[        XER                  5       5        [         R                  " S5      R                  S5      nUR                  U5        UR	                  5         [        UR                  5       5      S:X  d   e[         R                  R                  US	5      nUR                  U5        UR	                  5         [        UR                  5       5      S
:X  d   eg )Nr  )r   r   r    r   r,   r   r   r   r   )r   r    r    r   )r.   r   r0   r   update_scalarmappableget_facecolormamasked_wherer   r,  	get_pathsr   r   r   r   masked_less)rF  rG  zzquadmeshquadmesh_fcpolymeshs         r   'test_polyquadmesh_masked_vertices_arrayrz    sd   [[L1FB
%"crc	B~~bb)H""$((*12q51K			R1Wq12	6Bzz""%H""$x!!#$))){$:$:$<= 
		R1Wq12	6Bzz""%H""$x!!#$))){$:$:$<= 
		RSbS\Q.2crc3B3h<13DEr	JBzz"~H""$x!!#$))){$:$:$<=
 
1		f	%Br""$x!!#$)))			2q	!Br""$x!!#$)))r   c                 :   / SQn/ SQn[         R                  " SS9n[         R                  " X5      u  pE[        [        U 5      " XEU5      n[         R
                  " UR                  UR                  /5      R                  n[        UR                  5       U5        g )Nr  )r    r   r   )r    r    )r  )	r.   r  r   rd  r0   stackr   r   get_coordinates)r   r   r   r9  rF  rG  r6   r  s           r   test_quadmesh_get_coordinatesr~    sr    AA
fA[[FB3*D XXrttRTTl#%%Ft++-v6r   c                  b   [         R                  " S5      n [         R                  " S5      n[         R                  " S5      R                  S5      n[        R                  " 5       u  p4UR                  X[         R                  " UR                  5      5      nUR                  U5        UR                  R                  5         [         R                  " UR                  5       U5      (       d   eUR                  [         R                  " S5      5        UR                  R                  5         [         R                  " UR                  5       [         R                  " S5      5      (       d   e[         R                  " S5      R                  S5      n[        R                  " 5       u  p4UR                  X[         R                  " UR                  5      SS9nUR                  U5        UR                  R                  5         [         R                  " UR                  5       U5      (       d   eUR                  [         R                  " S5      5        UR                  R                  5         [         R                  " UR                  5       [         R                  " S5      5      (       d   eg )Nr   r  r  r;  )r   r   ri  rj  )r.   r   r   r0   r1   r   r  r  r   r  r  r*  rM  )r   r   r9  r7   r8   r6   s         r   test_quadmesh_set_arrayr     s   
		!A
		!A
		!V$AllnGC==rwwqww/0DNN1JJOO>>$..*A.... 	NN2771:JJOO>>$..*BGGAJ7777
		"f%AllnGC==rwwqww/=CDNN1JJOO>>$..*A.... 	NN2772;JJOO>>$..*BGGBK8888r   c                 :   [         R                  " 5       u  p[        R                  S   n[        R                  R                  SSS9n[        X 5      " S//X4S9nUR                  R                  5         [        R                  " UR                  5       SS S 24   U" U" S5      5      5      (       d   eSu  Ul        Ul        UR                  R                  5         [        R                  " UR                  5       SS S 24   U" U" S5      5      5      (       d   eg )Nplasmar   r   )vminvmax)r  r   )r   r    )r0   r1   r	  	colormapsr5  	Normalizerd  r  r  r.   r*  r  r  r  )r   r7   r8   r  r   r6   s         r   test_quadmesh_vmin_vmaxr    s    llnGC=="D::QQ/D2u4;DJJOO>>$--/15tDG}EEEE  DItyJJOO>>$--/15tDG}EEEEr   c                 ~   [         R                  " S5      n[         R                  " S5      n[         R                  " S5      R                  S5      nX3R                  5       -  nUR	                  5       n[
        R                  " S5      u  nu  px[        Xp5      " XX4S9n	[        Xp5      " XU5      n
U
R                  U5        [
        R                  " 5         [        U	R                  5       S S 2S4   U5        [        U
R                  5       S S 2S4   U5        [
        R                  " S5      u  nu  px[        Xp5      " XX4S9n	[        X5      " XU5      n
U
R                  U5        [
        R                  " 5         [        U	R                  5       S S 2S4   U5        [        U
R                  5       S S 2S4   U5        g )Nr   r  r  r    )rK  r,   )r.   r   r   maxr   r0   r1   rd  r-  r  r   r  )r   r   r   r9  rK  
alpha_flatr7   r  r  coll1coll2s              r   test_quadmesh_alpha_arrayr  .  sP   
		!A
		!A
		!V$AKEJll1oOC#C q6EC q)E	OOEHHJu++-ae4jAu++-ae4jAll1oOC#C q6EC q)E	OOEHHJu++-ae4jAu++-ae4jAr   c                 F   [         R                  " 5       u  p[        X 5      " [        R                  " S5      R                  S5      5      n[        R                  " [        SS9   UR                  SS/5        UR                  5         S S S 5        g ! , (       d  f       g = f)Nr  )r   r   z^Data array shaper  r   333333?)r0   r1   rd  r.   r   r   r  r  r   r-  rp  )r   r7   r8   pcs       r   test_alpha_validationr  F  sh    llnGC		RYYr]226:	;B	z)<	=
c3Z 
  " 
>	=	=s   %$B
B c                      [         R                  R                  S5        [         R                  R                  S5      n [         R                  R                  S5      nS[         R                  R                  S5      -
  nSU-  n/ SQn[        R                  " 5       u  pVUR                  XUS9nUR                  SUS S	9u  pU V
s/ s H  oR                  5       PM     nn
U V
s/ s H  n
SU
S
-  -  PM     nn
[        XSS9  gs  sn
f s  sn
f )zl
Ensure legend markers scale appropriately when label and size are
inversely related.
Here label = 5 / size
r  2   r   r   )r<  皙?r  g?r  r>  c                     SU -  $ )Nr   r   r  s    r   r  =test_legend_inverse_size_label_relationship.<locals>.<lambda>`  s    QUr   )r   r  r  r    r   N)	r.   r  r  r0   r1   r   r  r  r   )r   r   CSlegend_sizesr7   r8   r  handleslabelsr   handle_sizess               r   +test_legend_inverse_size_label_relationshipr  O  s     IINN8
		A
		A	BIIR  A	AA'LllnGC	AA	B((? ) OG
 1881$$&L8&23lA1HlL3l!D 93s   D'Dc                    [        [        U 5      n [        R                  " S5      R	                  SS5      nU " USSS9nUR                  5         [        R                  " UR                  5       5      nUR                  5       " UR                  UR                  5       5      5      n[        R                  " UR                  5       S5      (       d   eU " U5      nUR                  S5        UR                  S5        UR                  5         [        R                  " UR!                  5       S5      (       d   e[        R                  " UR                  5       / SQ/5      (       d   eUR#                  S5        UR                  5         [        R                  " UR                  5       / S	Q/5      (       d   eUR#                  S 5        UR                  5         [        R                  " UR                  5       / SQ/5      (       d   eUR                  S 5        UR                  5         [        R$                  " UR                  5       U5      (       d   eUR                  S 5        UR                  5         [        R$                  " UR!                  5       U5      (       d   e[        R                  " UR                  5       S5      (       d   eUR'                  S 5        UR                  5         [        R                  " UR                  5       S5      (       d   e[        R                  " UR!                  5       U5      (       d   eUR'                  U5        UR                  5         [        R$                  " UR!                  5       U5      (       d   e[        R                  " UR                  5       S5      (       d   eU " US
SS9nUR                  5         [        R$                  " UR!                  5       U5      (       d   e[        R                  " UR                  5       / SQ/5      (       d   eU " US
[        R(                  " S5      S9nUR                  5         [        R$                  " UR!                  5       U5      (       d   e[        R                  " UR                  5       / SQ/5      (       d   eUR'                  S 5        UR                  5         [        R                  " UR!                  5       [        R(                  " S5      5      (       d   e[        R                  " UR                  5       / SQ/5      (       d   eU " US
[        R(                  " S5      S9nUR                  5         [        R$                  " UR!                  5       U5      (       d   e[        R                  " UR                  5       / SQ/5      (       d   eUR'                  S 5        UR                  5         [        R                  " UR!                  5       [        R(                  " S5      5      (       d   e[        R                  " UR                  5       / SQ/5      (       d   eg )Nr  r   r   r  r   )r  r   r!   r   )r   r   r   r   )r   r   r   )r   r   r   )r  r   )r  r   )rd  r0   r.   r   r   rp  mcolorsto_rgba_array_get_default_facecolorget_cmapr   r   
same_colorget_edgecolorset_facecolorset_edgecolorrq  r-  r*  r   r  )r   r9  r  face_defaultmappeds        r   test_color_logicr  j  s   S&!F
		"a#A	e	7B(()B)B)DEL[[]2771779-.Fb..0%8888	BVUb..0&9999b..0<.AAAALLb..0>2BCCCCLLb..0<.AAAAT>>"**,f5555T>>"**,f5555b..0&9999LLb..0&9999b..0,????LLO>>"**,f5555b..0&9999	iI	>B>>"**,f5555b..0<.AAAA	iBGGG4D	EB>>"**,f5555b..0<.AAAALLb..0"'''2BCCCCb..0<.AAAA	iBGGG4D	EB>>"**,f5555b..0<.AAAALLb..0"'''2BCCCCb..0<.AAAAr   c                     [        S SSS/ SQS9n U R                  5       S   S:X  d   e[        R                  " U R	                  5       S5      (       d   eU R                  5       S:X  d   e[        R                  " U R                  5       / SQ/5      (       d   e[        S S S9n [        R                  " U R                  5       S5      (       d   eg )	Ng@r  r   )r   r   r   r   )r&   	edgecolorzorderr   r   )	facecolorr   )r   get_linewidthr  r  r  
get_zorderrq  )lcs    r   test_LineCollection_argsr    s    	s \
;Ba C'''b..0#6666==?ab..0<.AAAA 
	-Bb..0&9999r   c                    [         R                  " S5      R                  SS5      n[        [        U 5      " U5      nUR                  UR                  5       5        UR                  5         UR                  U5        UR                  5         [         R                  " S[         R                  S9R                  SSS5      nUR                  U5        UR                  5         g )Nr  r   r   $   r#  )	r.   r   r   rd  r0   r   r   rp  uint8)r   r9  r  s      r   test_array_dimensionsr    s    
		"a#A	f	a	 BLLLLO
		"BHH%--aA6ALLOr   c                      [         R                  " [         R                  " SSS5      S5      R                  n [	        U /5      nUR                  5       u  n[         R                  " X:H  5      (       d   eg )Nr   r      )r    r   )r.   rV  r   r   r   r   r  )r   r  readbacks      r   test_get_segmentsr    sW    wwr{{1a-v688H	
	#B!IH66(&''''r   c                     [         R                  " 5       n S/n[        R                  " US9n[        R                  " USS9n[        R                  " US9nUR	                  S5        UR                  U 5      R                  nUR                  U 5      R                  nUR                  U 5      R                  nXV:w  d   eXg:X  d   eg )Nr    )r>  r  )r>  r   )r   r   r   CircleCollectionset_offsetsr   r   )identityr>  r   initlatenull_boundsinit_boundslate_boundss           r   test_set_offsets_later    s    ,,.HCE((u5D((uhGD((u5DX ""8,33K""8,33K""8,33K %%%%%%r   c                     [         R                  " 5       R                  SS5      n [        R                  " U S9n[        R                  " 5       nUR                  U 5        XR                  5       s=:X  a  UR                  5       :X  d   e   eg )Nr    )r   )r   r   skewr   r   set_offset_transformget_offset_transform)r  r  r  s      r   test_set_offset_transformr    sr    !&&q!,D""D9D""$Dd#,,.M$2K2K2MMMMMMr   c                     [         R                  " SSS5      n [         R                  " U 5      nU [         R                  " SS5      -  [         R                  " S5      -   n[
        R                  " X!5      nUR                  5       nUR                  [        [        X!5      5      5        [         R                  R                  XCR                  5       5        [
        R                  " 5       u  pVUR                  X5      nUR                  5       nUR                  [        [        X5      5      5        [         R                  R                  XCR                  5       5        g )Nr   r   r   r   r  z
2021-11-29)r.   r   r   timedelta64
datetime64r0   r   get_offsetsr  r*  r.  r?   rY  r1   )r   r   dr  off0r7   r8   s          r   test_set_offset_unitsr    s     	Ar1A
q	A	BNN2s##bmmL&AAA	Q	B>>DNN4A	?#JJt^^%56 llnGC	A	B>>DNN4A	?#JJt^^%56r   test_check_masked_offsets)baseline_imagesr   r   r  c                  2   [        SSSSSS5      [        SSSSSS5      [        SSSSSS5      [        SSSSSS	5      [        SSSSSS
5      /n [        R                  R                  / SQ/ SQS9n[        R
                  " 5       u  p#UR                  X5        g )Ni  r  ro   r   1   4   5   rh  7   8   r   r    r   r   r   )r   r   r   r   r   mask)r   r.   rr  r/   r0   r1   r   )
unmasked_xmasked_yr7   r8   s       r   r  r  
  s     	r2q"b)r2q"b)r2q"b)r2q"b)r2q"b)J uu{{?{AHllnGCJJz$r   c                    [         R                  R                  / SQ/ SQS9n[         R                  " SS5      nUR	                  5       nUR                  X#5      nUR                  [         R                  R                  X#/5      5        UR                  / 5        UR                  / 5        U R	                  5       nUR                  / SQ/ SQ5        UR                  / 5        UR                  / 5        g )Nr  r   r   r   r   r   r  r   r   )r   r    r   )
r.   rr  r/   r   add_subplotr   r  rT  
set_xticks
set_yticks)r   r   r   r   r   scatr   s          r   test_masked_set_offsetsr    s    
O/:A
		!QA""$G??1 DRUU''/0rr  "F
NN9i(
b
br   c                      [         R                  R                  / SQ/ SQS9n [         R                  " SS5      n[        R
                  " 5       u  p#UR                  X5      n[         R                  R                  X/5      nUR                  U5        [        UR                  5       [        U5      5      (       d   e[         R                  " X/5      nUR                  U5        [        UR                  5       [        U5      5      (       d   eg )Nr  r  r  r   r   )r.   rr  r/   r   r0   r1   r   rT  r  
isinstancer  type)r   r   r7   r8   r  masked_offsetsunmasked_offsetss          r   test_check_offsets_dtyper  .  s    
O/:A
		!QAllnGC::aDUU''/N^$d&&($~*>????v.%&d&&($/?*@AAAAr   gapcolororanger  r"  c                    U R                  S5      nUR                  S5      nX44 H'  nUR                  SS5        UR                  SS5        M)     [        SS5      n/ SQnUR	                  USSSXrSS9  [        U[        5      (       a  U/n[        U[        R                  " U5      [        R                  " U5      5       H  u  phn	UR                  USSSXSS9  M     g )	No   r   r   r   ):r  z--rp   r   )r&   r(   r  rK  )r  r4   r5   r+  vlinesr  strr.  	itertoolscycleaxvline)
r   r   r  r   r   r8   r   r  gcolr   s
             r   test_striped_linesr  >  s     ""3'G  %F
Aq
Aq   	aA!JNN1abJ   (C  :1iooh7$??:68q!Q"QTU8r   )r   pdfsvgepsc                    U R                  5       nUR                  5       nSn/ SQ/ SQ/n[        USS9nUR                  U5        [        R                  " SU05         [        USS9nS S S 5        UR                  U5        UR                  W5        UR                  5       UR                  5       s=:X  a  U:X  d   e   eg ! , (       d  f       N_= f)Nr   ))r   r   )r   r  )r  r  )r  r   ))r  r  )r  ?)r  r  )r  r  r   )hatchzhatch.linewidth)r  r
   set_hatch_linewidthr	  
rc_contextr2   get_hatch_linewidth)r   r   r   r   r  polygonsreftests           r   test_hatch_linewidthr  V  s    ""$G  "F	B 	98H 
-CB	*B/	0hc2 
1 #4 ##%)@)@)BHbHHHHH 
1	0s   C
C)sr   ru  r  platformrl  typesr   numpyr.   numpy.testingr   r   r  
matplotlibr	  matplotlib.pyplotpyplotr0   matplotlib.collectionscollectionsr   matplotlib.colorsr5  r  matplotlib.pathpathr   matplotlib.transforms
transformsr   r   r   r	   r
   r   matplotlib.testing.decoratorsr   r   fixturer   r:   rI   rR   rX   r\   r`   re   rh   rl   rs   ry   r   r   r>   r   r   r   r   r  contextr   r   r   machiner  r  r;  rL  ro  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r7  markparametrizerB  rH  rP  r_  rb  re  rn  rz  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   <module>r     s    	   	 !  G    - #  +E E < O h/0 1%P 234= 5=2 89:
 ;
 89: ;" ;<= > ;<= > =>? @  ABC= D=( :;< =  9:; < 9:; <   
	7
	7 4561 7104!==' 7() ) )08") 56D#++-9auFF&(CV -.DP" Q"J 56DI J 454H I8,,,!*?(	F
 #$$7 8  " 9
5 
5! 9( ( 9* * *+,G -G& +,")55;:.b@5$ (B#89 : ) GG;$ugk#VW1a&$VW	J GG3 8= .1 	8		8-5`-*`	79<F B0#E6 9BB BBJ: (&*N7( #>"?#W$gG%G%" ( ) B  hc
%;<(V ) =V,  <=I >Ir   