
    hH                        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	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 SK!r"S SK#J$r$J%r%  S r&S r'\%" S/SS9S	 5       r(\$" S
/S9S 5       r)S r*\%" S/SSS9S 5       r+S r,\%" S/SSS9S 5       r-S r.S r/S r0\Rb                  Re                  S/ SQ5      S 5       r3S r4S r5S r6S r7S r8S  r9S! r:S" r;S# r<S$ r=g)%    N)chain)check_figures_equalimage_comparisonc            	         [         R                  " 5       n U R                  SS5        U R                  SS5        SnU R                  R                  U5      n[        R                  " USSSSS9nU R                  U5        UR                  U R                  :X  d   e[        R                  " USSSS SS	9nUR                  5       (       d   eU R                  U5        [        UR                  [        R                  5      (       d   e[        R                  " US
S
[        R                  " 5       SS9nU R                  U5        [        UR                  [        R                  5      (       d   e[        R                  " USSSSS9nUR                  5       nUR                  5       (       a   eU R                  U5        UR                  5       U:w  d   eUR                  5       (       d   eUR                  U R                  :X  d   eg )N         r
   yellow      ?)widthheightfcalphax   coral)r   r   r   	transformr   d   )r   r   r   r   )pltaxesset_xlimset_ylim	transDatar   mpatchesEllipse	add_patch
_transformis_transform_set
isinstancemtransformsIdentityTransformget_transform)axxy_dataxy_pixeintermediate_transforms        N/var/www/html/env/lib/python3.13/site-packages/matplotlib/tests/test_artist.pytest_patch_transform_of_noner)      s    
BKK1KK1 G\\##G,F 	!LALLO<<2<<''' 	s37#'s	4ALLOallK$A$ABBBB 	s3#.#@#@#B#	OALLOallK$A$ABBBB 	s37"	$A__.!!####LLO?? 6666<<2<<'''    c                     [         R                  " 5       n U R                  SS5        U R                  SS5        SnU R                  R                  U5      n[        R                  " USSS9n[        R                  " U/SSS9nU R                  U5        UR                  5       UR                  5       -   U R                  :X  d   e[        R                  " USSS9n[        R                  " U/S	SS9nUR                  S 5        U R                  U5        [        UR                  5       [        R                   5      (       d   e[        R                  " US
S
S9n[        R                  " U/[        R                   " 5       SS9nU R                  U5        [        UR                  5       [        R                   5      (       d   eg )Nr   r   r	   )r   r   r   r   )	facecolorr   r   r   r   )r   r   )r   r   r   r   r   r   r   r   mcollectionsPatchCollectionadd_collectionget_offset_transformr"   set_transformr   r    r!   )r#   r$   r%   r&   cs        r(   !test_collection_transform_of_noner3   ?   s{    
BKK1KK1 G\\##G,F 	!4A$$aSHCHAa!!#aoo&772<<GGG 	s37A$$aSG+.	0AOODaaoo')F)FGGGG 	s37A$$aS/:/L/L/N+.	0A aa,,.0M0MNNNNr*   clip_path_clippingT)remove_textc            	         [         R                  R                  5       R                  5       n U =R                  S-  sl        U =R                  S-  sl        [         R                  R                  5       R                  5       nUR                  S S S2   Ul        [         R                  R                  X5      n[         R                  R                  S5      R                  5       nU=R                  S-  sl        [        R                  " SSSSS9u  nu  pV[        R                  " U/S	S
SSSS9nUR                  X%R                  5        UR                  U5        [        R                   " US	S
SSSS9nUR                  X&R                  5        UR#                  U5        UR%                  SS/5        UR'                  SS/5        g )N   r
      g@r   T)sharexsharey   blueredgffffff?*)lw	edgecolorr,   r   hatchr   )mpathPathunit_rectangledeepcopyverticesunit_circlemake_compound_pathunit_regular_starr   subplotsr-   PathCollectionset_clip_pathr   r/   r   	PathPatchr   r   r   )	exteriorinterior	clip_pathstarfigax1ax2colpatchs	            r(   test_clippingrY   c   se   zz((*335Hzz%%'002H ))$B$/H

--hAI::''*335DMMSMll1aTBOC#

%
%tff05SMCi/stVu%(5E		==1MM%LL"aLL"ar*   png)
extensionsc                    U R                  / SQ5      nUR                  SS/SS/5      u  n[        R                  " SS/SS/SS/SS/SS//5      n[        R
                  " XBR                  S9nUR                  U5        UR                  / SQ5      nUR                  SS/SS/5        UR                  SSS9  UR                  SSS9  g )	N)r   r   r   r   rC   r   r   r   )r   )r   g      ?)xlimylim)	add_axesplotrD   rE   r   rO   r   rN   set)fig_testfig_refax_testlpax_refs         r(   test_clipping_zoomrh      s     -G	r1gAw	'BA 	

QFQFQFQFQF;<A1(9(9:AOOAl+F
KKQ"a!
JJKkJ2KK[{K3r*   c                     [         R                  R                  S5      n [         R                  R                  S5      n[        R                  " 5       u  p#UR	                  XS5        UR                  SS5        [        R                  " 5       nUR                  USS9  [        UR                  5       5      S:  d   e[        R                  " 5       nUR                  USS9  [        UR                  5       5      S:  d   eg )	Ni N  zk.r
   r   pdf)formati@  svg)nprandomr   rL   r`   r   ioBytesIOsavefiglengetvalue)xyrT   r#   rj   rl   s         r(   test_cull_markersrv      s    
		A
		AllnGCGGA$KK1
**,CKKEK"s||~%%%
**,CKKEK"s||~&&&r*   hatchingdefault)r5   stylec            	         [         R                  " SS5      u  p[        R                  " SSSSS9nUR	                  U5        [
        R                  " SS/S/UR                  SS	9nUR                  U5        [        R                  " S
SSSSS9nUR	                  U5        [
        R                  " SS/S/UR                  SSS9nUR                  U5        UR                  SS5        UR                  SS5        g )Nr   r   r   r   r7   /)rB   i>  )g      ?      @)sizesoffsetsoffset_transformrB   )r7   r   C1)rB   rA   )g      @r}   )r~   r   r   rB   rA   r      	   )r   rL   r   	Rectangler   r-   RegularPolyCollectionr   r/   r   r   )rT   r#   rect1rect2rect3rect4s         r(   test_hatchingr      s    ll1a GC vq!37ELL..	%:,E e vq!3$GELL..	%:,T#E eKK1KK1r*   c                  2   [         R                  " 5       u  pUR                  [        R                  " S5      R                  SS5      5      nUR                  [        S5      5      u  nU R                  (       d   eUR                  (       d   eU R                  R                  5         U R                  (       a   eUR                  (       a   eUR                  (       a   eX!R                  ;   d   eX1R                  ;  d   eUR                  UL d   eUR                  5         UR                  5         X#4 H%  nUR                  b   eUR                  5       c  M%   e   X!R                  ;  d   eU R                  (       d   eUR                  (       d   eg )N$   r9   r<   )r   rL   imshowrm   arangereshaper`   rangestalecanvasdraw_mouseover_setr   remove
get_figure)rT   r#   imlnarts        r(   test_remover      s/   llnGC	299R=((A.	/B
''%(
CB99988O8JJOOyy=xx<xx<"""""&&&&&77b==IIKIIKxxx~~'''  &&&&&99988O8r*   zdefault_edges.pngc            
         S[         R                  S'   [         R                  " SS5      u  n u  u  pu  p4UR                  [        R
                  " S5      [        R
                  " S5      S[        R
                  " S5      S-   [        R
                  " S5      S5        UR                  [        R
                  " S5      [        R
                  " S5      SS	9  UR                  S
S
SS[        SS9S9  UR                  S5        UR                  S5        [        R                  " [        R                  " / SQ[        R                  R                  [        R                  R                   [        R                  R                   [        R                  R"                  /5      SUR$                  S9nUR'                  U5        g )Nr9   ztext.kerning_factorr
   
   rt   r   oedge)alignr   BOX   sawtooth)boxstyle)sizebbox)r8   r   )r{   r   r   r   r   r{   none)r   r   )r   rcParamsrL   r`   rm   r   bartextdictr   r   r   rO   rD   rE   MOVETOCURVE3	CLOSEPOLYr   r   )rT   rU   rV   ax3ax4pp1s         r(   test_default_edgesr      s3    +,CLL&'$'LLA$6!C	!*3jsHHRYYr]BIIbM3YYr]Q		"s4GGBIIbM299R=G7HHQ5rj(AHBLLLL




3JJ%%uzz'8'8JJ%%uzz';';=	> S]]	,C
 MM#r*   c                  R    [         R                  " / / 5      n U R                  5         g N)mlinesLine2D
properties)r   s    r(   test_propertiesr      s    	r2	BMMOr*   c                     [         R                  " / 5        [         R                  " / /5        [         R                  " 5       u  pUR                  [	        S5      5      nUR                  [	        S5      5      n[
        R                  " [        X#5      SS5        [         R                  " UR                  R                  5       SS9  [        R                  " 5       n[         R                  " USUS9  UR                  5       S:X  d   eg )	Nr   r@   r<   green)colorzorder)filez  zorder: float
)r   setprL   r`   r   martistr   spinesvaluesro   StringIOrs   )rT   r#   lines1lines2sios        r(   	test_setpr      s    HHRLHHbTN llnGCWWU1XFWWU1XFLLv&a0HHRYYw/ ++-CHHVXC(<<>0000r*   c                     [         R                  " 5       u  pUR                  [        S5      S S9u  nUR	                  5       [
        R                  R                  :X  d   eUR                  S5        UR	                  5       S:X  d   eUR                  S 5        UR	                  5       [
        R                  R                  :X  d   eg )Nr<   )r   i@ )	r   rL   r`   r   
get_zorderr   r   r   
set_zorder)rT   r#   r   s      r(   test_None_zorderr     s    llnGC
''%(4'
(CB==?fmm22222MM&==?f$$$MM$==?fmm22222r*   zaccept_clause, expected)) unknown)zACCEPTS: [ '-' | '--' | '-.' ]z[ '-' | '--' | '-.' ])zACCEPTS: Some description.Some description.)z.. ACCEPTS: Some description.r   )z	arg : intint)z
*arg : intr   )z"arg : int
ACCEPTS: Something else.zSomething else. c                      " S S[         R                  5      nSU -  UR                  l        [         R                  " U5      R                  S5      nX1:X  d   eg )Nc                       \ rS rSrS rSrg):test_artist_inspector_get_valid_values.<locals>.TestArtisti  c                     g r    )selfargs     r(   set_f@test_artist_inspector_get_valid_values.<locals>.TestArtist.set_f      r*   r   N)__name__
__module____qualname____firstlineno__r   __static_attributes__r   r*   r(   
TestArtistr         	r*   r   z
    Some text.

    %s
    f)r   Artistr   __doc__ArtistInspectorget_valid_values)accept_clauseexpectedr   valid_valuess       r(   &test_artist_inspector_get_valid_valuesr     sU    W^^   	 J
 **:6GGLL###r*   c                      [         R                  " [        R                  5      n U R	                  5       nUS   S1:X  d   eg )N	linewidthr@   )r   r   r   r   get_aliases)aialiasess     r(   !test_artist_inspector_get_aliasesr   '  s7    		 	 	/BnnG;D6)))r*   c                  n   [         R                  " 5       n [        R                  " [        SS9   U R                  S5        S S S 5        [        R                  " [        SS9   U R                  / SQ5        S S S 5        [        R                  " [        SS9   U R                  S5        S S S 5        [        R                  " [        SS9   U R                  [        R                  5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nr= f! , (       d  f       g = f)N^alpha must be numeric or Nonematchstring)r   r
   r   outside 0-1 range皙?)	r   r   pytestraises	TypeError	set_alpha
ValueErrorrm   nanr   s    r(   test_set_alphar   .  s    
..
C	y(H	Ih 
J	y(H	Ii  
J	z)<	=c 
>	z)<	=bff 
>	= 
J	I	I	I	=	=	=	=s/   C3"DD
 D&3
D
D
D#&
D4c                     [         R                  " 5       n [        R                  " [        SS9   U R                  S5        S S S 5        [        R                  " [        SS9   U R                  S5        S S S 5        [        R                  " [        SS9   U R                  [        R                  5        S S S 5        [        R                  " [        SS9   U R                  SS/5        S S S 5        [        R                  " [        SS9   U R                  S[        R                  /5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nr   r   r   r   r   zalpha must be between 0 and 1r   )	r   r   r   r   r   _set_alpha_for_arrayr   rm   r   r   s    r(   test_set_alpha_for_arrayr  :  s    
..
C	y(H	I  * 
J	z)<	=  % 
>	z)<	=  ( 
>	z)H	I  #s, 
J	z)H	I  #rvv/ 
J	I 
J	I	=	=	=	=	I	I	I	Is;   D6"E EE)"E:6
E
E
E&)
E7:
Fc                    ^ U4S jmSTl         [        R                  " 5       n U R                  T5      nTR                   S:X  d   eU R	                  5         TR                   S:X  d   eU R                  S5        TR                   S:X  d   eU R                  U5        U R	                  5         TR                   S:X  d   eg )Nc                 0   > T=R                   S-  sl         g )Nr   )counter)artistfuncs    r(   r  test_callbacks.<locals>.funcI  s    r*   r   r   r   r
   )r  r   r   add_callbackpchangedr   remove_callback)r   oidr  s     @r(   test_callbacksr  H  s     DL
..
C


4
 C<<1LLN<<1NN2<<1LLN<<1r*   c                  h    " S S[         R                  5      n [        U R                  S5      (       d   eSU R                  R                  ;   d   e " S SU 5      n[        UR                  S5      (       d   eSUR                  R                  ;   d   eSUR                  R                  ;   d   eg)	z3Test autogenerated ``set()`` for Artist subclasses.c                       \ rS rSrS rSrg)%test_set_signature.<locals>.MyArtist1i\  c                     g r   r   r   vals     r(   set_myparam12test_set_signature.<locals>.MyArtist1.set_myparam1]  r   r*   r   N)r   r   r   r   r  r   r   r*   r(   	MyArtist1r  \  r   r*   r  _autogenerated_signaturemyparam1c                       \ rS rSrS rSrg)%test_set_signature.<locals>.MyArtist2ic  c                     g r   r   r  s     r(   set_myparam22test_set_signature.<locals>.MyArtist2.set_myparam2d  r   r*   r   N)r   r   r   r   r  r   r   r*   r(   	MyArtist2r  c  r   r*   r  myparam2Nr   r   hasattrra   r   )r  r  s     r(   test_set_signaturer!  Z  s    GNN  9=="<====.....I  9=="<====..........r*   c                       " S S[         R                  5      n [        U R                  S5      (       a   eU R                  R                  S:X  d   e " S SU 5      nUR                  U R                  L d   eg)z=set() defined in Artist subclasses should not be overwritten.c                       \ rS rSrS rSrg)*test_set_is_overwritten.<locals>.MyArtist3in  c                     g)Not overwritten.Nr   )r   kwargss     r(   ra   .test_set_is_overwritten.<locals>.MyArtist3.setp  s    r*   r   N)r   r   r   r   ra   r   r   r*   r(   	MyArtist3r$  n  s    	#r*   r)  r  r&  c                       \ rS rSrSrg)*test_set_is_overwritten.<locals>.MyArtist4iv  r   Nr   r   r   r   r   r   r*   r(   	MyArtist4r+  v  s    r*   r-  Nr  )r)  r-  s     r(   test_set_is_overwrittenr.  l  si    #GNN #
 y}}&@AAAA==  $6666I  ==IMM)))r*   c            	         [         R                  " S5      n SU S'   SU S'   SU S'   SU S	'   S
U S'   SU S'   SU S'   SU S'   SU S'   [        R                  " 5       u  pUR	                  S5        [
        R                  " [         R                  " SSS5      S5      nUR                  U SUS9n/ SQn[        U R                  U5       H  u  pgUR                  U5      U:X  a  M   e   [        R                  " 5         [        R                  " 5       u  pUR	                  S5        [        R                  S   R                  S5      n[
        R                  " [         R                  " SSS5      S5      nUR                  XUS9n/ SQn[        U R                  U5       H  u  pgUR                  U5      U:X  a  M   e   [        R                  " 5         [        R                  " 5       u  pUR	                  S5        [        R                  S   R                  S5      n[
        R                  " [         R                  " SSS5      S5      nUR                  XUS9n/ SQn[        U R                  U5       H  u  pgUR                  U5      U:X  a  M   e   [        R                  " 5         [         R                  " S 5      n S!U S
'   S"U S'   S#U S$'   S%U S&'   SU S''   S(U S)'   S*U S+'   / S,Qn[        R                  " 5       u  pUR	                  S-5        [
        R                  " [         R                  " S
SS'S.S/9SS0S1S29nUR                  U SUS9n[        U R                  U5       H  u  pgUR                  U5      U:X  a  M   e   [        R                  " 5         [        R                  " 5       u  pUR	                  S35        [
        R                  " [         R                  " S
SS'S.S/9SS0S4S29nUR                  U SUS9n[        U R                  U5       H  u  pgUR                  U5      U:X  a  M   e   [        R                  " 5         [        R                  " 5       u  pUR	                  S55        [
        R                  " [         R                  " S
SS'S.S/9SS0S6S29nUR                  U SUS9n[        U R                  U5       H  u  pgUR                  U5      U:X  a  M   e   [        R                  " 5         [        R                  " 5       u  pUR	                  S75        [
        R                  " [         R                  " S
SS'S.S/9SS0S8S29nUR                  U SUS9n[        U R                  U5       H  u  pgUR                  U5      U:X  a  M   e   [        R                  " 5         [        R                  " 5       u  pUR	                  S95        [
        R                  " [         R                  " S
SS'S.S/9SS.S1S29nUR                  U SUS9n[        U R                  U5       H  u  pgUR                  U5      U:X  a  M   e   [        R                  " 5         g:);z7Test if cursor data is correct when using BoundaryNorm.)r   r   g?r{   gGz?)r   r   g+?)r   r
   r8   r   r   r   r   )r   r
   g
ףp=
?)r
   r   g;On?)r
   r   gH}M?r	   z-1..1 to 0..256 in 0.1      RdBu_r)cmapnorm)	[0.9][1.]r6  [-1.0][0.0][1.0][0.09][0.009][0.0009]z-1..1 to 0..256 in 0.01   )	z[0.90]z[0.99]r9  z[-1.00]z[0.00]z[1.00]r:  r;  r<  z-1..1 to 0..256 in 0.001i  )	z[0.900]z[0.990]z[0.999]z[-1.000]z[0.000]z[1.000]z[0.090]r;  r<  )r   r   g      g        g?r
   r   r   r7   g      ?r<   g       @r9   )r7  r8  z[0.1]z[0.5]r5  r9  z[2.0]znoclip, neitherT)endpointFneither)clipextendznoclip, minminznoclip, maxmaxznoclip, bothbothzclip, neitherN)rm   emptyr   rL   suptitlemcolorsBoundaryNormlinspacer   zipflatformat_cursor_dataclosempl	colormaps	resampled)	XrT   r#   r4  imglabels_listvlabelr3  s	            r(   $test_format_cursor_data_BoundaryNormrV  |  sv   
AAdGAdGAdGAdGAdGAdGAdGAdGAdG llnGCLL)*B2 6<D
))AH4)
0C
K ,%%a(E111 - IIK llnGCLL*+==",,S1DB3 7=D
))At)
,C
K ,%%a(E111 - IIK llnGCLL+,==",,T2DB4 8$?D
))At)
,C
K ,%%a(E111 - IIK 	AAaDAaDAaDAaDAaDAaDAaDK llnGCLL"#
Aq!d+SuYPD
))AH4)
0C,%%a(E111 - IIKllnGCLL
Aq!d+SuULD
))AH4)
0C,%%a(E111 - IIKllnGCLL
Aq!d+SuULD
))AH4)
0C,%%a(E111 - IIKllnGCLL 
Aq!d+SuVMD
))AH4)
0C,%%a(E111 - IIKllnGCLL!
Aq!d+StIOD
))AH4)
0C,%%a(E111 - IIKr*   c                      " S S[         R                  5      n SU R                  ;   d   eU R                  S   U R                  L d   e " S SU 5      nSUR                  ;  d   eUR                  U R                  L d   eg )Nc                       \ rS rSrSrg)$test_auto_no_rasterize.<locals>.Gen1i  r   Nr,  r   r*   r(   Gen1rY        r*   rZ  r   c                       \ rS rSrSrg)$test_auto_no_rasterize.<locals>.Gen2i$  r   Nr,  r   r*   r(   Gen2r]  $  r[  r*   r^  )r   r   __dict__r   )rZ  r^  s     r(   test_auto_no_rasterizer`    sw    w~~  T]]"""== DII---t  &&&99		!!!r*   c                       " S S[         R                  5      n U " 5       n[        R                  " 5       nSUR	                  US5      :X  d   eSUR	                  USS9:X  d   eg )Nc                       \ rS rSrS rSrg)1test_draw_wraper_forward_input.<locals>.TestKlassi,  c                     U$ r   r   )r   rendererextras      r(   r   6test_draw_wraper_forward_input.<locals>.TestKlass.draw-  s    Lr*   r   N)r   r   r   r   r   r   r   r*   r(   	TestKlassrc  ,  s    	r*   rh  aardvark)rf  )r   r   mbackend_basesRendererBaser   )rh  r   re  s      r(   test_draw_wraper_forward_inputrl  +  s]    GNN  +C**,H(J7777(*====r*   c                  V   [         R                  " 5       n U R                  5       nUR                  5       nUR                  5       nU R	                  SS9U L d   eU R	                  SS9U L d   eUR	                  5       UL d   eUR	                  SS9UL d   eUR	                  SS9U L d   eUR	                  SS9UL d   eUR	                  SS9U L d   e[
        R                  " [        R                  5         UR	                  5       U L d   e S S S 5        UR	                  5       U L d   e[        R                  " / / 5      nUR	                  SS9b   eUR	                  SS9b   eUR                  UL d   eU R                  U L d   eUR                  U L d   eg ! , (       d  f       N= f)NT)rootF)r   figure
subfiguresrL   r   r   warnsrN  MatplotlibDeprecationWarningr   r   )rT   sfig1sfig2r#   r   s        r(   test_get_figureru  7  s   
**,CNNEE		B>>t>$+++>>u>%,,,==?e###==e=$---==d=#s*** '5000&#---	c66	7!S((( 
8 $$$ 
r2	B==d=#+++==e=$,,, 99::<<3 
8	7s   7F
F()>ro   	itertoolsr   numpyrm   r   matplotlib.colorscolorsrG  matplotlib.pyplotpyplotr   matplotlib.patchespatchesr   matplotlib.lineslinesr   matplotlib.pathpathrD   matplotlib.transforms
transformsr    matplotlib.collectionscollectionsr-   matplotlib.artistr  r   matplotlib.backend_basesbackend_basesrj  
matplotlibrN  matplotlib.testing.decoratorsr   r   r)   r3   rY   rh   rv   r   r   r   r   r   r   markparametrizer   r   r   r  r  r!  r.  rV  r`  rl  ru  r   r*   r(   <module>r     s3   	    #  % !  + - # 1  O'(T!OH '(d; <6 (4 )4$'" :,D	B C2: &'TK L(
1$3 2 5 $$*	0$/$* ^B"	>r*   