
    h,                        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rS r\R                  R!                  SSS	S
SSSS\R"                  SS /SS //\R$                  " SS /SS //5      \" S S /SS //\R&                  \R(                  /5      SSSSSS\R*                  " S5      /5      S 5       r\R                  R!                  SS\R$                  " / SQ/5      SSS/5      S 5       r " S S\R*                  5      r\
" 5       S 5       rS  r\
" S!S"9S# 5       r\
" S$/S%S&9S' 5       r\
" 5       S( 5       rS) rS* rS+ r \R                  R!                  S,\R*                  " S5      \" 5       RC                  SS5      \" 5       RC                  SS5      4\R*                  " S\" 5       RC                  SS5      S-9\" 5       RC                  SS5      \" 5       RC                  S.S.5      4\R*                  " S/\" 5       RC                  SS5      S-9\" 5       RC                  SS5      \" 5       RC                  S.S.5      4\R*                  " \R"                  \" 5       RC                  SS5      S-9\" 5       RC                  SS5      \" 5       RC                  S.S.5      4/5      S0 5       r"S1 r#\R                  R!                  S2\R*                  " S5      S3S\" 5       RI                  S35      4\R*                  " S5      SS4\" 5       RK                  S45      4\R*                  " S\" 5       RC                  SS5      S-9S3S\" 5       RC                  SS5      RI                  S35      4\R*                  " S\" 5       RC                  SS5      S-9SS4\" 5       RC                  SS5      RK                  S45      4\R*                  " S/\" 5       RC                  SS5      S-9S3S\" 5       RC                  SS5      RI                  S35      4\R*                  " \R"                  \" 5       RC                  SS5      S-9S3S\" 5       RC                  SS5      RI                  S35      4/5      S5 5       r&S6 r'S7 r(g)8    N)markers)Path)check_figures_equal)Affine2Dc                      [         R                  " SSS9n U R                  5       S:X  d   eU R                  5       (       a   eg )Nonone)marker	fillstyle)r   MarkerStyleget_fillstyle	is_filled)marker_styles    N/var/www/html/env/lib/python3.13/site-packages/matplotlib/tests/test_marker.pytest_marker_fillstyler      sC    &&cVDL%%'6111%%'''''    r
   r   x Nonez$\frac{1}{2}$u   $♫$      r   )   r   )r      )r   r   
   )r   r   r   )r   r   r   c                 0    [         R                  " U 5        g N)r   r   r
   s    r   test_markers_validr       s    , r   square)      r   r   r      )r   )r   r#   )r   r   r#      c                     [         R                  " [        5         [        R                  " U 5        S S S 5        g ! , (       d  f       g = fr   )pytestraises
ValueErrorr   r   r   s    r   test_markers_invalidr)   *   s*     
z	"F# 
#	"	"s	   ;
A	c                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )UnsnappedMarkerStyle6   z
A MarkerStyle where the snap threshold is force-disabled.

This is used to compare to polygon/star/asterisk markers which do not have
any snap threshold set.
c                 0   > [         TU ]  5         S U l        g r   )super_recache_snap_threshold)self	__class__s    r   r/   UnsnappedMarkerStyle._recache=   s    #r   )r0   )__name__
__module____qualname____firstlineno____doc__r/   __static_attributes____classcell__)r2   s   @r   r+   r+   6   s    $ $r   r+   c                    U R                  5       nUR                  5       nSnUR                  S/S/SUS9  UR                  S/S/SUS-  S9  UR                  S/S/SUS9  UR                  S/S/[        S	5      US-  S9  UR                  S/S
/SUS9  UR                  S/S
/[        S	5      US-  S9  UR                  S/S/SUS9  UR                  S/S/[        S5      US9  UR                  S/S/SUS9  UR                  S/S/[        S5      US9  UR                  S/S/SUS9  UR                  S/S/SUS9  UR                  S/S/SUS9  UR                  S/S/SUS9  UR                  S/S/SUS9  UR                  S/S/SUS9  UR                  S/S/SUS9  UR                  S/S/[        S5      US9  UR                  SSS9  UR                  SSS9  g )N  r   )r$   r   -   r
   sr?   r   r   )r$   r   D      ?)r$   r   r   r   pg      @)r   r   r   r#   )   r   hg      @)rC   r   r   r$   )rC   r      Hr   )   r   g     6@8)r"   g      @xlimylim)add_subplotscatterr+   set)fig_testfig_refax_testax_refsizes        r   test_poly_markerrT   B   s+   ""$G  "F D OOQC!Z4O8
NNA3C46N2 OOQC!VtO4
NNA3$8$=aNHOOQC#yDO9
NNA3&:3&?46NJ OOQC!VtO4
NNA3$8$=NFOOQC#yDO9
NNA3&:3&?4NH OOQC!VtO4
NNA3C4N0OOQC#yDO9
NNA3cTN2 OOQC!Z4O8
NNA3C4N0 OOQC!\TO:
NNA3$8$=NFKK[{K3
JJKkJ2r   c                      Sn [         R                  " 5       u  pUR                  S/S/SU S9  UR                  S/S/SU S9  UR                  SSS	9  g )
Nr<   r   )r   r   r>   r   )r   r   r   )r"         ?r"   rA   rI   )pltsubplotsrM   rN   )rS   figaxs      r   test_star_markerr\   o   sV     DllnGCJJsQC$J/JJsQC	TJ2FF+F.r   g333333?)tolc                 T  ^^ U R                  5       nUR                  5       mSnUU4S jnUR                  S/S/SUS9  U" SSU5        UR                  S/S/SUS9  U" SSU5        UR                  S	/S	/S
US9  U" S	SUS-  5        UR                  SSS9  TR                  SSS9  g )Nr<   c                    > TR                  U /U /[        U5      US9  TR                  S5      S:X  a  TR                  U /U /[        U5      US9  g g )Nr>   extpng)rM   r+   getfixturevalue)ystylerS   rR   requests      r   draw_ref_marker-test_asterisk_marker.<locals>.draw_ref_marker   s_     	sQC(<U(CtL""5)U2NNA3,@,G!  # 3r   r   )r$   r   r>   +rV   )r$   r   r   r   )r$   r   r=   r   r   rW   rI   )rL   rM   rN   )rO   rP   re   rQ   rS   rf   rR   s     `   @r   test_asterisk_markerri   ~   s    ""$G  "F D# OOQC!VtO4AsD!OOSEC5dO;Cd# OOQC!Z4O8AsDF#KK[{K3
JJKkJ2r   ra   g(\?)
extensionsr]   c                     U R                  5       nUR                  5       nUR                  SSSSSS9  UR                  SSSSSS9  g )Nr   r   d   )r
   
markersizemarkeredgewidthz	$\bullet$)rL   plot)rP   rO   rR   rQ   s       r   test_text_markerrp      sJ      "F""$G
KK1Tc1KELLAlsALNr   c                 J   [        [        R                  R                  5      nSnSnX$-  S-   nSU-  U-  nSU-  U-  S-  nU R                  X`R                  -  XpR                  -  45        U R                  / SQ5      nUR                  XaR                  -  XpR                  -  45        UR                  / SQ5      n	[        [        R                  R                  5       Ho  u  pX-  nX-  S-  nUR                  X/XS-   /SSSS	9  UR                  XSXS
SSS9  UR                  XS-   SXS
SSS9  U	R                  X/XS-   /SSSXS
SSS9
  Mq     UR                  SU4SSU-  4S9  U	R                  SU4SSU-  4S9  UR                  S5        U	R                  S5        g )N2   r   r   r   )r   r   r   r   k-r#   )c	linestylelwr   fullwhite)ru   r
   rm   rn   r   markerfacecolor)ru   rv   rw   r
   rm   rn   r   rz   r"   rI   off)
lenr   r   set_size_inchesdpiadd_axes	enumeratero   rN   axis)rP   rO   marker_countmarker_sizencolnrowwidthheightrR   rQ   ir
   r   rc   s                 r   test_marker_clippingr      s   
 w**223LKD!#DOd"E_t#a'FU[[0&;;2FGHl+Fell2F[[4HIJ-Gw22::;	HIM 	QFQAJ#CAC!2$g 	 	? 	A1u!2$g 	 	?
 	aVaQZ3#!"B%w 	 	@ <$ JJT4La$h'7J8KKdD\q4x(8K9
KKLLr   c                      [         R                  " S5      n [        5       R                  SS5      n[         R                  " SUS9nU R	                  5       U-   UR	                  5       :X  d   eg)zBTest that initializing marker with transform is a simple addition.r   r   	transformN)r   r   r   	translateget_transform)r
   tt_markers      r   test_marker_init_transformsr      s]      %F
Q"A""3!4H!A%)?)?)AAAAr   c                      [         R                  " S5      n [         R                  " SSS9nUR                  5       S:X  d   eU R                  5       S:w  d   eg )N*round)	joinstyle)r   r   get_joinstyler
   styled_markers     r   test_marker_init_joinstyler      sR      %F''w?M&&(G333!W,,,r   c                      [         R                  " S5      n [         R                  " SSS9nUR                  5       S:X  d   eU R                  5       S:w  d   eg )Nr   r   )capstyle)r   r   get_capstyler   s     r   test_marker_init_captyler      sR      %F''g>M%%'7222 G+++r   zmarker,transform,expectedr   r   z$|||$c                     U R                  U5      nX0Ld   eUR                  5       U:X  d   eU R                  UR                  Ld   eg r   )transformedget_user_transform_user_transform)r
   r   expected
new_markers       r   test_marker_transformedr      sQ     ##I.J###((*h666!!)C)CCCCr   c                  @   [         R                  " S5      n [        R                  " [        5         U R                  5       nS S S 5        [        R                  " [        5         U R                  SSS9nS S S 5        g ! , (       d  f       NB= f! , (       d  f       g = f)Nr   r   degrad)r   r   r&   r'   r(   rotated)r
   r   s     r   test_marker_rotated_invalidr      se      %F	z	"^^%
 
#	z	"^^^3
 
#	" 
#	"	"	"s   A>$B>
B
Bzmarker,deg,rad,expectedr   g{Gz?c                     U R                  XS9nX@Ld   eUR                  5       U:X  d   eU R                  UR                  Ld   eg )Nr   )r   r   r   )r
   r   r   r   r   s        r   test_marker_rotatedr     sQ     C1J###((*h666!!)C)CCCCr   c                     [         R                  " S5      n U R                  S5      nXLd   eUR                  5       [	        5       R                  S5      :X  d   eU R                  UR                  Ld   eU R                  SS5      nXLd   eUR                  5       [	        5       R                  SS5      :X  d   eU R                  UR                  Ld   e[         R                  " S[	        5       R                  SS5      S9n U R                  S5      nXLd   e[	        5       R                  SS5      R                  S5      nUR                  5       U:X  d   eU R                  UR                  Ld   eg )N1r   r#   r   r   )r   r   scaledr   r   scaler   r   )r
   r   r   s      r   test_marker_scaledr     sQ     %Fq!J###((*hj.>.>q.AAAA!!)C)CCCCq!$J###((*hj.>.>q!.DDDD!!)C)CCCC  
0D0DQ0JKFq!J###z##Aq)//2H((*h666!!)C)CCCCr   c                      [         R                  " SS5      n [         R                  " SS[        5       R                  S5      5      nU R	                  5       R                  S5      UR	                  5       :X  d   eg )Nr   leftZ   )r   r   r   
rotate_degget_alt_transform)m1m2s     r   test_alt_transformr   ,  s`    			S&	)B			S&(**?*?*C	DB!,,R0B4H4H4JJJJr   ))numpynpmatplotlib.pyplotpyplotrX   
matplotlibr   matplotlib.pathr   matplotlib.testing.decoratorsr   matplotlib.transformsr   r&   r   markparametrizeTICKLEFTarrayMOVETOLINETOr   r    r)   r+   rT   r\   ri   rp   r   r   r   r   r   r   r   r   rotater   r   r    r   r   <module>r      s        = * ( 
!Wq!fHHr1g1v1a&1a&	DKK56


%$ ( )( 
 HH !"
$ $$
	$7.. 	$ )3 )3X/ 3 3F T2O 3O % %PB-, 4xz33Aq9
Q"$
(<(<Q(BC
Q"HJ$8$8A$>@HJ,@,@A,FGZ!Q!5!5a!;=HJ$8$8A$>@
Q"HJ$8$8A$>@
7 
D
D4 2r4)>)>r)BCtT8:+<+<T+BC
(<(<Q(BC
D(*&&q!,77;=
(<(<Q(BCdHJ((A.55d;=HJ,@,@A,FG$
$$Q*55b9;HJ$8$8A$>@
D(*&&q!,77;=5 DDD(Kr   