a
    ëÝEb�  ã                   @   sÞ   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 edgdd�dd„ ƒZed	gdd
d�dd„ ƒZedgƒdd„ ƒZedgƒdd„ ƒZdd„ Zdd„ Zedgdd
d�dd„ ƒZedgddgdd �d!d"„ ƒZdS )#é    N)Úimage_comparison)ÚPathZpatheffect1T)Úremove_textc                  C   sŽ   t  ¡ } |  ddgddgg¡ | jdddtdddd	�d
dtjddd�gd�}|j tj	ddd�t 
¡ g¡ tjddd�g}| jdd|d� d S )Né   é   é   Útest)ç      ð?r	   )ç        r   z->Zangle3)Z
arrowstyleZconnectionstyleÚlwé   ÚcenterÚw©Ú	linewidthÚ
foreground)Z
arrowpropsÚsizeÚhaÚpath_effectsé   Tú-)Z	linestyler   )ÚpltÚsubplotÚimshowZannotateÚdictr   Ú
withStrokeZarrow_patchÚset_path_effectsÚStrokeÚNormalÚgrid)Úax1ÚtxtÚpe© r#   úa/home/ja/django-apps/lartica_env/lib/python3.9/site-packages/matplotlib/tests/test_patheffects.pyÚtest_patheffect1
   s$    
ÿÿüÿþr%   Zpatheffect2Zmpl20)r   Ústylec                  C   s~   t  ¡ } t d¡ d¡}| j|dd� | j|dd�}t j|jt	j
ddd	�gd
� | j|ddd�}t j|t	j
ddd	�gd
� d S )Né   )r   r   Znearest)ÚinterpolationÚk©Úcolorsr   r   r   ©r   z%2.0fT)ÚfmtZuse_clabeltext)r   r   ÚnpZarangeZreshaper   ÚcontourÚsetpÚcollectionsr   r   Úclabel)Úax2ZarrZcntrZclblsr#   r#   r$   Útest_patheffect2   s    ÿÿÿÿr4   Zpatheffect3c                  C   s  t jg d¢ddd�\} |  t ¡ t ¡ g¡ t jdtjddd�gd	� t j| gd
gddd�}|j	 t 
¡ g¡ t jdddddddœd�}tjddd�tj
ddd�g}| |¡ | ¡  |¡ tjdddd�tjddd d!�g}t  ¡ jd"d#d$d%d&d'd(�}| |¡ d S ))N)r   r   r   é   r   zo-br5   )r   ztesting$^{123}$r   Úrr   r,   z
Line 1$^2$Tz
upper left)ZfancyboxÚlocr   r   z	Drop testÚwhitezcircle,pad=0.1Úred)ÚboxstyleÚcolor)r;   Zbboxg      @r)   )é   éýÿÿÿÚblue)Zshadow_rgbFace)r5   éüÿÿÿZxxxxÚgray)ÚoffsetZhatchÚ	facecolorÚblackgš™™™™™ñ?)Ú	edgecolorrB   r   g{®Gáz”?gš™™™™™¹?zHatch shadowéK   iè  r   )ZfontsizeÚweightÚva)r   Úplotr   r   ÚSimpleLineShadowr   Útitler   ÚlegendZlegendPatchZwithSimplePatchShadowÚtextr   Zget_bbox_patchÚPathPatchEffectZgcf)Úp1ÚlegrL   r"   Útr#   r#   r$   Útest_patheffect3.   s:    
ÿþÿÿ
ÿÿþÿrQ   zstroked_text.pngc               
   C   s–   g d¢} d}t  g d¢¡}t| ƒD ]L\}}|jdd|d  |dd|d	d
œd�}| tj|d dd�t ¡ g¡ q"| 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{®Gáz„?gÍÌÌÌÌÌì?g¤p=
×£À?Úleftr   r8   )r   rG   r   r;   )ÚxÚyÚsZfontdicté
   rC   r   r   r   Úoff)r   ZaxesÚ	enumeraterL   r   r   r   r   Úset_xlimÚset_ylimÚaxis)Ztext_chunksZ	font_sizeÚaxÚiÚchunkrL   r#   r#   r$   Útest_patheffects_stroked_textJ   s"    	ÿÿÿþr`   c                  C   sh   t jdd�} t  tdƒ¡\}| t ¡ t ¡ g¡ | j 	¡ }t 
| ¡ |¡}| d¡| d¡ksdJ ‚d S )Né–   )ZdpirW   é   )r   ÚfigurerH   Úranger   r   rI   r   ZcanvasZget_rendererZPathEffectRendererZget_path_effectsZpoints_to_pixels)ÚfigrN   ÚrendererZpe_rendererr#   r#   r$   Ú test_PathEffect_points_to_pixelsf   s    
ÿ
ÿrg   c                  C   s   t jdd�} | jdksJ ‚d S )N)r5   r   )rA   )r   ZSimplePatchShadowÚ_offset)r"   r#   r#   r$   Útest_SimplePatchShadow_offsets   s    ri   Ú
collectiong¸…ëQ¸ž?)Útolr&   c                  C   s´   t  t  ddd¡t  ddd¡¡\} }t  | ¡t  |¡ }t |¡}tjddd	d
�tj	dd�g}|j
D ]}| |¡ qdtj|dd�D ],}| tjddd�g¡ | ddddœ¡ q‚d S )Nr   rW   ra   éûÿÿÿr   éd   rC   Únoneé   )rD   rB   r   )r   r8   r*   r)   r   )r   r   Zsawtoothr>   )r:   rB   rD   )r.   ÚmeshgridÚlinspaceÚsinÚcosr   r/   r   rM   r   r1   r   r2   r   Zset_bbox)rT   rU   ÚdataÚcsr"   rj   rL   r#   r#   r$   Útest_collectionx   s"    $
ÿ
þ

ÿ
ÿrv   ZtickedstrokeZpngg)\�Âõ(Ì?)r   Ú
extensionsrk   c               	   C   sò  t jdddd�\} \}}}t ¡ }tj|ddtjdddd	�gd
�}| |¡ | 	d¡ | 
dd¡ | dd¡ |jddgddgdtjddd�gd� d}t dd|¡}dt |d ¡ d }|j||dt ¡ gd� | ¡  d}d}	t dd|¡}
t dd|	¡}t |
|¡\}}d| | d  }|d|  d  }d|d  | }|j|||dgd d!�}t j|jtjdd"�gd#� |j|||dgd$d!�}t j|jtjd%dd&�gd#� |j|||dgd'd!�}t j|jtjdd(�gd#� | 
dd¡ | dd¡ d S ))Nr   r   )ro   r5   )Zfigsizern   r   i¦ÿÿÿrW   )ÚangleÚspacingÚlength)rB   r   r   Úequaléþÿÿÿr   ú é   é‡   )ry   rx   )Úlabelr   ée   r
   r	   g333333Ó?é   gš™™™™™Ù?éi   gü©ñÒMbP?g      @g      @r5   gš™™™™™é?r=   )r)   r*   )rx   r,   )r6   é<   )rx   rz   )Úb)ry   )r   Zsubplotsr   Zunit_circleÚpatchesZ	PathPatchr   ZwithTickedStrokeZ	add_patchr\   rZ   r[   rH   r.   rq   rr   rK   rp   r/   r0   r1   )re   r    r3   Zax3ÚpathÚpatchÚnxrT   rU   ÚnyZxvecZyvecÚx1Zx2Úg1Úg2Zg3Zcg1Zcg2Zcg3r#   r#   r$   Útest_tickedstroke‹   sV    
ÿÿ

ÿÿÿÿÿrŽ   )Únumpyr.   Zmatplotlib.testing.decoratorsr   Zmatplotlib.pyplotZpyplotr   Zmatplotlib.patheffectsZpatheffectsr   Zmatplotlib.pathr   Zmatplotlib.patchesr†   r%   r4   rQ   r`   rg   ri   rv   rŽ   r#   r#   r#   r$   Ú<module>   s*   




ÿ