o
    j                     @   sT  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 Z
edge dkr)d nddd	d
 Zedgdd Zdd Zedgde dkrJd ndeddddd Zedgde dkrbd ndeddddd Zedgddddd  Zed!gd"de dkrd ndd#d$d% Zed&gd"de dkrd nd'd#d(d) Zd*d+ ZdS ),    N)image_comparisonc              
   C   s*   | j ddd| fddt|dddd d S )	N       ?r   r      bk)
arrowstylefcec)ZxyZxytextsizeZ
arrowprops)Zannotatedict)axtr r   d/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/matplotlib/tests/test_arrow_patches.py
draw_arrow   s
   
r   zfancyarrow_test_image.pngx86_64g~jt?)tolc            	      C   s   g d} ddt j g}tjt|t| ddtddd\}}t| D ] \}}t|D ]\}}|||f }t||| |j	ddd	 q+q#d S )
N)皙?333333?皙?皙?r   fancysimpleF)   g      @   )Zaspect)ZsqueezefigsizeZ
subplot_kw)Z	labelleftZlabelbottom)
mpatches
ArrowStyleFancypltsubplotslenr   	enumerater   Ztick_params)	r   r   figZaxsZi_rr1Zi_tt1r   r   r   r   test_fancyarrow   s   

r)   zboxarrow_test_image.pngc                  C   s   t j } t| }d}|| d }tjd|d fd}d}tt| D ]\}}|jd|| | d | |d||j	t
|dd	d
d q#d S )Ng333333?r   gUUUUUU@g      ?r   g5@centerwr   )Zboxstyler
   r   )Zhar   	transformZbbox)r   ZBoxStyle
get_stylesr$   r"   figurer%   sortedtextZtransFigurer   )stylesnspacingZ	figheightr&   Zfontsizei	stylenamer   r   r   test_boxarrow   s   
r7   c               	   C   sR   t jdddd} |  }|ddg |ddg |tjddd	d
dd | S )z
    Convenience function that prepares and returns a FancyArrowPatch. It aims
    at being used to test that the size of the arrow head does not depend on
    the DPI value of the exported picture.

    NB: this function *is not* a test in itself!
    Zfancyarrow_dpi_cor_test)      2   )r   dpir   r   )r   r   )皙?g333333?r9   ->d   )ZposAZposBZlwr	   mutation_scale)r"   r/   Zadd_subplotset_xlimset_ylim	add_patchr   FancyArrowPatch)Zfig2r   r   r   r   !__prepare_fancyarrow_dpi_cor_test4   s   rD   zfancyarrow_dpi_cor_100dpi.pngTg{Gz?r>   )r;   )remove_textr   Zsavefig_kwargc                   C   
   t   dS )a   
    Check the export of a FancyArrowPatch @ 100 DPI. FancyArrowPatch is
    instantiated through a dedicated function because another similar test
    checks a similar export but with a different DPI value.

    Remark: test only a rasterized format.
    NrD   r   r   r   r   test_fancyarrow_dpi_cor_100dpiF   s   
rH   zfancyarrow_dpi_cor_200dpi.png   c                   C   rF   )z
    As test_fancyarrow_dpi_cor_100dpi, but exports @ 200 DPI. The relative size
    of the arrow head should be the same.
    NrG   r   r   r   r   test_fancyarrow_dpi_cor_200dpiU   s   
	rJ   zfancyarrow_dash.pngdefault)rE   stylec               
   C   sX   t  \} }tjddddddddd	}tjdddd
ddddd	}|| || d S )N)r   r   r   z-|>zangle3,angleA=0,angleB=90g      $@   Zdashedr   )r	   connectionstyler?   Z	linewidthZ	linestylecolorZangle3Zdotted)r"   r#   r   rC   rB   )r&   r   ee2r   r   r   test_fancyarrow_dasha   s&   
rR   zarrow_styles.pngZmpl20)rL   rE   r   c                  C   s>  t j } t| }tjdd\}}|dd |d| |jddddd t	t
| D ]"\}}t jd|d d	  |fd
|d d	  |f|dd}|| q,t	g dD ]G\}}|}|d dkre|d7 }|d dkro|d7 }t	ddgD ]&\}}	|dt|	}
t jdd| | fdd| | f|
dd}|| quqUd S )N)r   r   r*   r   r   )leftrightbottomtopr   rM   g?g?   )r	   r?   )z]-[z]-z-[z|-|-z,angleA=ANGLEz,angleB=ANGLEi<   ZANGLEg?g?)r   r    r.   r$   r"   r#   r@   rA   Zsubplots_adjustr%   r0   rC   rB   replacestr)r2   r3   r&   r   r5   r6   patchrL   jZangler	   r   r   r   test_arrow_stylesv   s8   
 r_   zconnection_styles.pngg9v?c                  C   s~   t j } t| }tjdd\}}|dd |d| tt	| D ]\}}t j
d|fd|d fd	|d
d}|| q#d S )N)   
   r*   r   r   rS   r   r<   r   r=   rX   )r	   rN   r?   )r   ConnectionStyler.   r$   r"   r#   r@   rA   r%   r0   rC   rB   )r2   r3   r&   r   r5   r6   r]   r   r   r   test_connection_styles   s   
rc   c                  C   s   t jjddd} t jdd| d}tt t 	| W d    n1 s'w   Y  t jjddd}t jdd|d}t 	| d S )N   rI   )ZangleAZangleB)r   r   r   )rN   gh@)
r   rb   ZAngle3rC   pytestZraises
ValueErrorr"   ZgcarB   )Zconn_style_1p1Zconn_style_2Zp2r   r   r   test_invalid_intersection   s   rh   )re   platformZmatplotlib.pyplotZpyplotr"   Zmatplotlib.testing.decoratorsr   Zmatplotlib.patchesZpatchesr   r   machiner)   r7   rD   r   rH   rJ   rR   r_   rc   rh   r   r   r   r   <module>   sD    



	




