o
    j                     @   sB  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d	d
 Zedgdde  dkrJd ndddd Zedge  dkr]d ndd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ed)gddd*d+ Zd,d- ZdS ).    N)image_comparison)Path)RendererBase)PathEffectRendererZ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%   b/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/matplotlib/tests/test_patheffects.pytest_patheffect1   s$   
r'   Zpatheffect2Zmpl20x86_64gQ?)r   styletolc                  C   sz   t  } tdd}| j|dd | j|dd}|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   nearest)interpolationkcolorsr	   r   r   r   z%2.0fT)fmtZuse_clabeltext)r   r   npZarangeZreshaper   contoursetr   r   clabelZsetp)ax2ZarrZcntrZclblsr%   r%   r&   test_patheffect2    s   
r8   Zpatheffect3g~jt?)r*   c                  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-br9   )r   ztesting$^{123}$r   rr   r1   z
Line 1$^2$Tz
upper left)Zfancyboxlocr   r	   z	Drop testwhitezcircle,pad=0.1red)boxstylecolor)r?   bboxg      @r.   )   blue)Zshadow_rgbFace)r9   Zxxxxgray)offsetZhatch	facecolorblackg?)	edgecolorrG   r   g{Gz?g?zHatch shadowK   i  r   )Zfontsizeweightva)r   plotr   r   SimpleLineShadowr    titler   legendZlegendPatchZwithSimplePatchShadowtextr   Zget_bbox_patchPathPatchEffectZgcf)p1legrQ   r$   tr%   r%   r&   test_patheffect30   s:   

rV   zstroked_text.pngc               
   C   s   g d} d}t d}t| D ]&\}}|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{Gz?g?gp=
ף?leftr   r<   )r   rL   r   r?   )xysZfontdict
   rH   r   r   r   off)r   Zaxes	enumeraterQ   r   r   r   r    set_xlimset_ylimaxis)Ztext_chunksZ	font_sizeaxichunkrQ   r%   r%   r&   test_patheffects_stroked_textM   s"   	
re   c                  C   sh   t jdd} t td\}|t t g | j	 }t
| |}|d|dks2J d S )N   )Zdpir\      )r   ZfigurerM   ranger   r   rN   r    ZcanvasZget_rendererr   Zget_path_effectsZpoints_to_pixels)figrS   rendererZpe_rendererr%   r%   r&    test_PathEffect_points_to_pixelsi   s   

rk   c                  C   s   t jdd} | jdksJ d S )N)r9   r   )rF   )r   ZSimplePatchShadow_offset)r$   r%   r%   r&   test_SimplePatchShadow_offsetv   s   rm   Z
collectiongQ?)r*   r)   c                  C   s   t t dddt ddd\} }t | t | }t|}|jtj	ddd	d
tj
ddgd tj|ddD ]}|tjdddg |dddd q:d S )Nr   r\   rf   r   d   rH   none   )rI   rG   r   )r   r1   r<   r/   r.   r	   )r   r   ZsawtoothrC   )r>   rG   rI   )r3   meshgridlinspacesincosr   r4   r5   r   rR   r   r6   r   r   Zset_bbox)rY   rZ   datacsrQ   r%   r%   r&   test_collection{   s   $




rx   ZtickedstrokeZpngg)\(?)r   
extensionsr*   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!}|jtjdd"gd# |j|||dgd$d!}|jtjd%dd&gd# |j|||dgd'd!}|jtjdd(gd# |
dd |dd d S ))Nr   r	   )rq   r9   )Zfigsizerp   r   ir\   )anglespacinglength)rG   r   r   equalr          )r{   rz   )labelr   e   r   r   g333333?   g?i   gMbP?g      @g      @r9   g?rB   )r.   r/   )rz   r1   )r:   <   )rz   r|   )b)r{   )r   Zsubplotsr   Zunit_circlepatchesZ	PathPatchr   ZwithTickedStrokeZ	add_patchra   r_   r`   rM   r3   rs   rt   rP   rr   r4   r5   )ri   r"   r7   Zax3pathpatchnxrY   rZ   nyZxvecZyvecx1Zx2g1g2Zg3Zcg1Zcg2Zcg3r%   r%   r&   test_tickedstroke   sJ   


r   zspaces_and_newlines.pngc               	   C   sl   t  } d}d}| jdd|dddddid	}| jdd
|dddddid	}|t g |t g d S )Nz	         z
Newline also causes problemsg      ?g      ?r   r   r?   Zsalmon)r   rL   r   r@   g      ?Zthistle)r   r   rQ   r   r   r    )rb   s1s2Ztext1Ztext2r%   r%   r&   $test_patheffects_spaces_and_newlines   s   r   c                  C   sJ   G dd dt } tt g|  }|ddksJ |ddks#J d S )Nc                       s.   e Zd Z fddZdddZdd Z  ZS )	zLtest_patheffects_overridden_methods_open_close_group.<locals>.CustomRendererc                    s   t    d S N)super__init__)self	__class__r%   r&   r      s   zUtest_patheffects_overridden_methods_open_close_group.<locals>.CustomRenderer.__init__Nc                 S      dS )Nopen_group overriddenr%   )r   r[   gidr%   r%   r&   
open_group      zWtest_patheffects_overridden_methods_open_close_group.<locals>.CustomRenderer.open_groupc                 S   r   )Nclose_group overriddenr%   )r   r[   r%   r%   r&   close_group   r   zXtest_patheffects_overridden_methods_open_close_group.<locals>.CustomRenderer.close_groupr   )__name__
__module____qualname__r   r   r   __classcell__r%   r%   r   r&   CustomRenderer   s    
r   r[   r   r   )r   r   r   r    r   r   )r   rj   r%   r%   r&   4test_patheffects_overridden_methods_open_close_group   s   
r   )platformnumpyr3   Zmatplotlib.testing.decoratorsr   Zmatplotlib.pyplotZpyplotr   Zmatplotlib.patheffectsZpatheffectsr   Zmatplotlib.pathr   Zmatplotlib.patchesr   Zmatplotlib.backend_basesr   r   r'   machiner8   rV   re   rk   rm   rx   r   r   r   r%   r%   r%   r&   <module>   s@    






2
