
    P/Ph                        d dl Z d dlZd dlmZ d dlmZ d dlm	Z
 d dlmZ d dlmZ d dlmZ d dlmZ  edgd          d	             Z ed
gdd e j                    dk    rdnd           d             Z edg e j                    dk    rdnd           d             Z edg          d             Zd Zd Z edgdd          d             Z edgddgd          d              Z ed!gd          d"             Zd# ZdS )$    N)image_comparison)Path)RendererBase)PathEffectRendererpatheffect1T)remove_textc                     t          j                    } |                     ddgddgg           |                     dddt	          ddd	          d
dt          j        dd          g          }|j                            t          j	        dd          t          j
                    g           t          j        dd          g}|                     dd|           d S )N         test)      ?r   )        r   z->angle3)
arrowstyleconnectionstylelw   centerw	linewidth
foreground)
arrowpropssizehapath_effects   T-)	linestyler   )pltsubplotimshowannotatedictr   
withStrokearrow_patchset_path_effectsStrokeNormalgrid)ax1txtpes      a/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/matplotlib/tests/test_patheffects.pytest_patheffect1r0      s   
+--CJJAA   
,,vx"&$7?A#G #G #G8%1%<qHK&M &M &M %N	  O OC O$$l&9AEH'J 'J 'J&2&9&;&;&= > > > 
!A#
>
>
>	?BHHTSrH22222    patheffect2mpl20arm64gQ?)r   styletolc                     t          j                    } t          j        d                              d          }|                     |d           |                     |d          }|                    t          j	        dd	          g
           | 
                    |dd          }t          j        |t          j	        dd	          g
           d S )N   )r   r   nearest)interpolationkcolorsr   r   r   r   z%2.0fT)fmtuse_clabeltext)r!   r"   nparangereshaper#   contoursetr   r&   clabelsetp)ax2arrcntrclblss       r/   test_patheffect2rL       s     +--C
)B--


'
'CJJs)J,,,;;s3;''DHH<2Q3OOOPHQQQJJtJ>>EHU'2Q>AC C C DE E E E E Er1   patheffect3g~jt?)r6   c            	      v   t          j        g ddd          \  } |                     t          j                    t          j                    g           t          j        dt          j        dd          g	           t          j        | gd
gdd          }|j	                            t          j
                    g           t          j        ddddddd          }t          j        dd          t          j
        dd          g}|                    |           |                                                    |           t          j        ddd          t          j        ddd !          g}t          j                                        d"d#d$d%d&d'(          }|                    |           d S ))N)r
   r   r      r   zo-brO   )r   ztesting$^{123}$r
   rr   r>   z
Line 1$^2$Tz
upper left)fancyboxlocr   r   z	Drop testwhitezcircle,pad=0.1red)boxstylecolor)rV   bboxg      @r;   )   blue)shadow_rgbFace)rO   xxxxgray)offsethatch	facecolorblackg?)	edgecolorra   r   g{Gz?g?zHatch shadowK   i  r   )fontsizeweightva)r!   plotr(   r   SimpleLineShadowr*   titler&   legendlegendPatchwithSimplePatchShadowtextr)   get_bbox_patchPathPatchEffectgcf)p1legrn   r.   ts        r/   test_patheffect3ru   0   s   
(???Ea
0
0
0CB688%,..0 1 1 1I"-cJJJKM M M M *bTM?T|
L
L
LCO$$l&H&J&J%KLLL8Aq+W&6GGI I ID


=
=
=

,WV
L
L
L
NB"**2...

&gV179 9 9

&G*-/ / /
0B
 			tS.2d" 	 	$ 	$Arr1   zstroked_text.pngc                     g d} d}t          j        d          }t          |           D ]h\  }}|                    dd|dz  z
  |dd|d	d
          }|                    t          j        |dz  d          t          j                    g           i|                    dd           |	                    dd           |
                    d           d S )N)zA B C D E F G H I J K LzM N O P Q R S T U V WzX Y Z a b c d e f g h i jzk l m n o p q r s t u vzw x y z 0123456789z!@#$%^&*()-=_+[]\;'z,./{}|:"<>?2   )r   r   r
   r
   g{Gz?g?gp=
ף?leftr   rS   )r   rg   r   rV   )xysfontdict
   rb   r   r   r
   off)r!   axes	enumeratern   r(   r   r)   r*   set_xlimset_ylimaxis)text_chunks	font_sizeaxichunkrn   s         r/   test_patheffects_stroked_textr   L   s     K I	,		Bk** 7 75ww#D.U'-X)2W!F !F  G G 	|2Y^>E G  G  G+2446 	7 	7 	7 	7 KK1KK1GGENNNNNr1   c                     t          j        d          } t          j        t          d                    \  }|                    t          j                    t          j                    g           | j        	                                }t          j
        |                                |          }|                    d          |                    d          k    sJ d S )N   )dpir}      )r!   figurerh   ranger(   r   ri   r*   canvasget_rendererr   get_path_effectspoints_to_pixels)figrr   rendererpe_renderers       r/    test_PathEffect_points_to_pixelsr   h   s    
*


C
(599

CB688%,..0 1 1 1z&&((H1
x) )K $$R((K,H,H,L,LLLLLLLr1   c                  J    t          j        d          } | j        dk    sJ d S )N)rO   r   )r_   )r   SimplePatchShadow_offset)r.   s    r/   test_SimplePatchShadow_offsetr   u   s.    		'v	6	6	6B:r1   
collectiongQ?)r6   r5   c                  8   t          j        t          j        ddd          t          j        ddd                    \  } }t          j        |           t          j        |          z   }t          j        |          }|                    t          j	        ddd	
          t          j
        d          g           t          j        |d          D ]E}|                    t          j        dd          g           |                    dddd           Fd S )Nr   r}   r   r   d   rb   none   )rc   ra   r   )r   r>   rS   r<   r;   r   )r   r   sawtoothrZ   )rU   ra   rc   )rA   meshgridlinspacesincosr!   rD   rE   r   rp   r)   rF   r(   r&   set_bbox)ry   rz   datacsrn   s        r/   test_collectionr   z   s3   ;r{1b#..B30G0GHHDAq6!99rvayy D	T		BFF$w&TVWWWa(((*F + + + 
2g... - -|6#AB D  D  D E 	F 	F 	F:F$*, , 	- 	- 	- 	-- -r1   tickedstrokepngg)\(?)r   
extensionsr6   c            
         t          j        ddd          \  } \  }}}t          j                    }t	          j        |ddt          j        ddd	          g
          }|                    |           |	                    d           |
                    dd           |                    dd           |                    ddgddgdt          j        dd          g           d}t          j        dd|          }dt          j        |dz            z  dz   }|                    ||dt          j                    g           |                                 d}d}	t          j        dd|          }
t          j        dd|	          }t          j        |
|          \  }}d|z  |z   dz
   }|d|z  z   dz
   }d|dz  z   |z
  }|                    |||dgd !          }|                    t          j        d"          g#           |                    |||dgd$!          }|                    t          j        d%d&          g#           |                    |||dgd'!          }|                    t          j        d(          g#           |
                    dd           |                    dd           d S ))Nr
   r   )r   rO   )figsizer   r   ir}   )anglespacinglength)ra   r   r   equalr          )r   r   )labelr   e   r   r   g333333?   g?i   gMbP?g      @g      @rO   g?rY   )r;   r<   )r   r>   )rP   <   )r   r   )b)r   )r!   subplotsr   unit_circlepatches	PathPatchr   withTickedStroke	add_patchr   r   r   rh   rA   r   r   rk   r   rD   rE   )r   r,   rH   ax3pathpatchnxry   rz   nyxvecyvecx1x2g1g2g3cg1cg2cg3s                       r/   test_tickedstroker      s    <1g>>>C#sCDdf%C-.	0 	0 	0J1 2 2 2E MM%HHWLLQLLQHHaVaV3'8?BD D D E  F F F 
B
Cb!!AbfQUmmc!AHHQL,I,K,K+LHMMMJJLLL	B	B ;uc2&&D;uc2&&D [t$$FB r6B;	BB;?	B	bBh	B
++b"b1#f+
5
5CGG,7cBBBCGDDD
++b"b1#f+
5
5CGG,7bKKKLGMMM
++b"b1#f+
5
5CGG,7BBBCGDDDLLALLAr1   zspaces_and_newlines.pngc            
      H   t          j                    } d}d}|                     dd|dddddi	          }|                     dd
|dddddi	          }|                    t	          j                    g           |                    t	          j                    g           d S )Nz	         z
Newline also causes problemsg      ?g      ?r   r   rV   salmon)r   rg   r   rW   g      ?thistle)r!   r"   rn   r(   r   r*   )r   s1s2text1text2s        r/   $test_patheffects_spaces_and_newlinesr      s    	B	B	)BGGCrh8"!8,  . .EGGCrh8"!9-  / /E	L/112333	L/11233333r1   c                       G d dt                     } t          t          j                    g |                       }|                    d          dk    sJ |                    d          dk    sJ d S )Nc                   ,     e Zd Z fdZddZd Z xZS )Ltest_patheffects_overridden_methods_open_close_group.<locals>.CustomRendererc                 H    t                                                       d S N)super__init__)self	__class__s    r/   r   zUtest_patheffects_overridden_methods_open_close_group.<locals>.CustomRenderer.__init__   s    GGr1   Nc                     dS )Nopen_group overridden )r   r{   gids      r/   
open_groupzWtest_patheffects_overridden_methods_open_close_group.<locals>.CustomRenderer.open_group   s    **r1   c                     dS )Nclose_group overriddenr   )r   r{   s     r/   close_groupzXtest_patheffects_overridden_methods_open_close_group.<locals>.CustomRenderer.close_group   s    ++r1   r   )__name__
__module____qualname__r   r   r   __classcell__)r   s   @r/   CustomRendererr      s[        	 	 	 	 		+ 	+ 	+ 	+	, 	, 	, 	, 	, 	, 	,r1   r   r{   r   r   )r   r   r   r*   r   r   )r   r   s     r/   4test_patheffects_overridden_methods_open_close_groupr      s    , , , , , , , , "<#6#8#8"9>>;K;KLLHs##'>>>>>$$(@@@@@@@r1   )platformnumpyrA   matplotlib.testing.decoratorsr   matplotlib.pyplotpyplotr!   matplotlib.patheffectspatheffectsr   matplotlib.pathr   matplotlib.patchesr   matplotlib.backend_basesr   r   r0   machinerL   ru   r   r   r   r   r   r   r   r   r1   r/   <module>r      sv        : : : : : :       - - - - - -             $ $ $ $ $ $ 1 1 1 1 1 1 5 5 5 5 5 5 =/t4443 3 543" =/t7.h.00G;;ddD D DE ED DE =/0@0@0B0Bg0M0MuuSTUUU  VU6 %&''  ('6
M 
M 
M     
 <.d':::- - ;:- >"%  / / /d ,-4@@@	4 	4 A@	4A A A A Ar1   