o
    j,                     @   sV  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Zdd Zejdd	d
dddddejdd gdd ggedd gdd gged d gdd ggejejgdddddded	gdd Zejddeg dgdddgdd ZG d d! d!ejZe
 d"d# Zd$d% Ze
d&d'd(d) Ze
d*gd+d,d-d. Ze
 d/d0 Zd1d2 Zd3d4 Zd5d6 Z ejd7ed	e !dde !ddfejd	e !ddd8e !dde !d9d9fejd:e !ddd8e !dde !d9d9fejeje !ddd8e !dde !d9d9fgd;d< Z"d=d> Z#ejd?ed	d@de $d@fed	ddAe %dAfejd	e !ddd8d@de !dd$d@fejd	e !ddd8ddAe !dd%dAfejd:e !ddd8d@de !dd$d@fejeje !ddd8d@de !dd$d@fgdBdC Z&dDdE Z'dFdG Z(dS )H    N)markers)Path)check_figures_equal)Affine2Dc                  C   s.   t jddd} |  dksJ |  rJ d S )Nonone)marker	fillstyle)r   MarkerStyleZget_fillstyleZ	is_filled)Zmarker_style r   ]/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/matplotlib/tests/test_marker.pytest_marker_fillstyle   s   r   r   r   x Nonez$\frac{1}{2}$u   $♫$      r   )   r   )r      )r   r   
   )r   r   r   )r   r   r   c                 C   s   t |  d S N)r   r
   r   r   r   r   test_markers_valid   s   r   Zsquare)      r   r   r      )r   )r   r   )r   r   r      c                 C   s:   t t t|  W d    d S 1 sw   Y  d S r   )pytestraises
ValueErrorr   r
   r   r   r   r   test_markers_invalid*   s   "r!   c                       s    e Zd ZdZ fddZ  ZS )UnsnappedMarkerStylez
    A MarkerStyle where the snap threshold is force-disabled.

    This is used to compare to polygon/star/asterisk markers which do not have
    any snap threshold set.
    c                    s   t    d | _d S r   )super_recacheZ_snap_threshold)self	__class__r   r   r$   =   s   

zUnsnappedMarkerStyle._recache)__name__
__module____qualname____doc__r$   __classcell__r   r   r&   r   r"   6   s    r"   c                 C   s  |   }|  }d}|jdgdgd|d |jdgdgd|d d |jdgdgd|d |jdgdgtd	|d d |jdgd
gd|d |jdgd
gtd	|d d |jdgdgd|d |jdgdgtd|d |jdgdgd|d |jdgdgtd|d |jdgdgd|d |jdgdgd|d |jdgdgd|d |jdgdgd|d |jdgdgd|d |jdgdgd|d |jdgdgd|d |jdgdgtd|d |jddd |jddd d S )N  r   )r   r   -   r   sr0   r   r   )r   r   D      ?)r   r   r   r   pg      @)r   r   r   r   )   r   hg      @)r4   r   r   r   )r4   r      Hr   )   r   g     6@8)r   g      @ZxlimZylim)add_subplotscatterr"   set)fig_testfig_refax_testax_refsizer   r   r   test_poly_markerB   s.   rC   c                  C   sN   d} t  \}}|jdgdgd| d |jdgdgd| d |jddd	 d S )
Nr-   r   )r   r   r/   r   )r   r   r   )r         ?r   r2   r:   )pltZsubplotsr<   r=   )rB   Zfigaxr   r   r   test_star_markero   s
   rH   g333333?)tolc                    s   |   }|   d} fdd}|jdgdgd|d |dd| |jdgdgd	|d |dd| |jd
gd
gd|d |d
d|d  |jddd  jddd d S )Nr-   c                    sJ    j | g| gt||d ddkr# j | g| gt||d d S d S )Nr/   extpng)r<   r"   Zgetfixturevalue)ystylerB   rA   requestr   r   draw_ref_marker   s   
z-test_asterisk_marker.<locals>.draw_ref_markerr   )r   r   r/   +rD   )r   r   r   r   )r   r   r.   r   r   rE   r:   )r;   r<   r=   )r>   r?   rO   r@   rB   rP   r   rN   r   test_asterisk_marker~   s   	rR   rK   g(\?)
extensionsrI   c                 C   s<   |   }|  }|jdddddd |jdddddd d S )Nr   r   d   )r   
markersizemarkeredgewidthz	$\bullet$)r;   plot)r?   r>   rA   r@   r   r   r   test_text_marker   s   rX   c                 C   s  t tjj}d}d}|| d }d| | }d| | d }| || j || j f | g d}|||j || j f |g d}	ttjjD ]O\}
}|
| }|
| d }|j||g||d gdddd	 |j||d||d
ddd |j||d d||d
ddd |	j||g||d gddd||d
ddd
 qL|jd|fdd| fd |	jd|fdd| fd |	d |		d d S )N2   r   r   r   )r   r   r   r   k-r   )c	linestylelwr   fullwhite)r\   r   rU   rV   r	   markerfacecolor)r\   r]   r^   r   rU   rV   r	   ra   r   r:   off)
lenr   r
   Zset_size_inchesZdpiZadd_axes	enumeraterW   r=   Zaxis)r?   r>   Zmarker_countZmarker_sizeZncolZnrowwidthheightrA   r@   ir   r   rL   r   r   r   test_marker_clipping   s<    

rh   c                  C   sB   t d} t dd}t jd|d}|  | | ksJ dS )zBTest that initializing marker with transform is a simple addition.r   r   	transformN)r   r
   r   	translateZget_transform)r   tZt_markerr   r   r   test_marker_init_transforms   s   
rm   c                  C   <   t d} t jddd}| dksJ |  dksJ d S )N*round)Z	joinstyle)r   r
   Zget_joinstyler   Zstyled_markerr   r   r   test_marker_init_joinstyle      
rr   c                  C   rn   )Nro   rp   )Zcapstyle)r   r
   Zget_capstylerq   r   r   r   test_marker_init_captyle   rs   rt   zmarker,transform,expectedri   r   z$|||$c                 C   s:   |  |}|| usJ | |ksJ | j|jusJ d S r   )Ztransformedget_user_transform_user_transform)r   rj   expected
new_markerr   r   r   test_marker_transformed   s   
ry   c                  C   sz   t d} tt |  }W d    n1 sw   Y  tt | jddd}W d    d S 1 s6w   Y  d S )Nr   r   degrad)r   r
   r   r   r    rotated)r   rx   r   r   r   test_marker_rotated_invalid   s   

"r~   zmarker,deg,rad,expectedr   g{Gz?c                 C   s>   | j ||d}|| usJ | |ksJ | j|jusJ d S )Nrz   )r}   ru   rv   )r   r{   r|   rw   rx   r   r   r   test_marker_rotated  s   r   c                  C   s   t d} | d}|| usJ | t dksJ | j|jus$J | dd}|| us0J | t ddks=J | j|jusEJ t jdt ddd} | d}|| us\J t ddd}| |ksnJ | j|jusvJ d S )N1r   r   r   ri   )r   r
   Zscaledru   r   scalerv   rk   )r   rx   rw   r   r   r   test_marker_scaled  s   


r   c                  C   s@   t dd} t ddt d}|  d| ksJ d S )Nr   leftZ   )r   r
   r   
rotate_degZget_alt_transform)m1m2r   r   r   test_alt_transform,  s   r   ))numpynpZmatplotlib.pyplotZpyplotrF   Z
matplotlibr   Zmatplotlib.pathr   Zmatplotlib.testing.decoratorsr   Zmatplotlib.transformsr   r   r   markZparametrizeZTICKLEFTarrayZMOVETOZLINETOr
   r   r!   r"   rC   rH   rR   rX   rh   rm   rr   rt   rk   ry   r~   r   rotater   r   r   r   r   r   r   <module>   s    


,
#

(

