o
    jG                     @   s  d dl Zd dlmZ d dlZd dlZd dlmZ d dl	m
Z
mZ e
dgdddd	d
 Ze
dgdddddd Ze
dgdd Zdd Zedgddd Zedgddd Zedgddd Ze
dgddd d! Ze
d"gddd#d$ Ze
d%gddd&d' Ze
d(gddd)d* Ze
d+gddd,d- Ze
d.gddd/d0 Ze
d1gddd2d3 Ze
d4gd5dd6d7 Ze
d8gddd9d: Zedgdd;d< Zedgdd=d> Zd?d@ ZdAdB ZdCdD Z dEdF Z!dGdH Z"dIdJ Z#edgddKdL Z$edgddMdN Z%dOdP Z&dQdR Z'dSdT Z(dUdV Z)edgddWdX Z*dYdZ Z+d[d\ Z,d]d^ Z-d_d` Z.e
dagdddbdc Z/e ddde Z0dfdg Z1ej23dhdidjge
dkgdd5dldmdn Z4dS )o    N)assert_allclose)pyplot)image_comparisoncheck_figures_equalzpolar_axes.pngdefaultg~jt?)styletolc               	   C   s   t ddd} dt j |  }t }|jdd}|j|| ddd	\}|jd
dddd	\}d}| | || }}||g|gd |jd||fddtdddddd |j	ddddd d S )N              ?MbP?      @Tpolarz#ee8d18   )colorZlwr   r   r      z#0000ffr      oza polar annotation)皙?r   zfigure fractionblackr   	facecolorshrinkleftbaseline)xyxytext
textcoords
arrowpropshorizontalalignmentverticalalignmentxout)Zaxistick1Ontick2On	direction)
nparangepipltfigureadd_subplotplotannotatedicttick_params)rthetafigaxlineindZthisrZ	thistheta r8   \/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/matplotlib/tests/test_polar.pytest_polar_annotations
   s$   
	r:   zpolar_coords.pngTgy&1?)r   remove_textr   c                  C   s   t jjdddddd} t }|jdd}||  | |j |j	d	t
jd
 dft
jd dfddtddddddd	 |dd |dd d S )Nr   
      r2         ?)r   alphaequal)Zaspectzthe top       @      $@r   g      4@r   r   r   r   r   r   T)r   r   Zxycoordsr   r    r!   r"   Zclip_oni)mplZpatchesZEllipser+   r,   r-   Z
add_artistZset_clip_boxZbboxr/   r(   r*   r0   Zset_xlimset_ylim)elr4   r5   r8   r8   r9   test_polar_coord_annotations,   s"   

rF   zpolar_alignment.pngc                  C   s   t ddd} g d}t }g d}|j|ddd}||  |j|dd	d}|jd
 tdD ]}|j	| j
|| | ddd q2d S )Nr   ih  Z   )r   皙?皙?g333333?皙?r   皙?rL   rJ   rJ   T
horizontal)r   labelverticalF   r   top)Zangler!   r"   )r(   r)   r+   r,   add_axesZset_thetagridspatchZset_visiblerangeaxesZ
set_rgrids)ZanglesZgrid_valuesr4   rectrM   rO   ir8   r8   r9   test_polar_alignmentI   s   

rX   c                  C   sJ   t  } t ddgddg t ddgddg t| jdks#J d	d S )
Nr   rP   rL   rH   r      g333333?rI   z!More than one polar Axes created.)r+   r,   r   lenrU   )r4   r8   r8   r9   test_polar_twice^   s   r[   Zpng)
extensionsc                 C   s   | j dd}|tddgddg |tddgddg |j dd}|tdd	gddg |tdd
gddg d S )Nr   
projection   iMrH   rL   rP      if  )r-   r.   r(   deg2radfig_testfig_refr5   r8   r8   r9   test_polar_wrape   s   rf   c                    s~   dd l m  m     g d}g d}t| j t fdd|D | |jdd}|	t
|| |jdd	 d S )
Nr   g      >@g     F@g      N@     V@r
   rA         @r   c                       g | ]}| j  qS r8   deg.0r#   Zunitsr8   r9   
<listcomp>w       z&test_polar_units_1.<locals>.<listcomp>r   r]   rm   )xlabel)matplotlib.testing.jpl_unitstesting	jpl_unitsregisterr+   r,   numberr   r-   r.   r(   rb   set)rd   re   xsysr5   r8   rp   r9   test_polar_units_1o   s   r|   c                    s   dd l m  m     g d} fdd|D }g d} fdd|D }t| j tj||ddd	 tt	 j
  jsCJ |jd
d}|t|| |j
tjdj |jddd d S )Nr   rg   c                    rk   r8   rl   rn   rp   r8   r9   rq      rr   z&test_polar_units_2.<locals>.<listcomp>ri   c                    rk   r8   )km)ro   yrp   r8   r9   rq      rr   Zradr}   )Z
thetaunitsZrunitsr   r]   z{:.12})rs   Zylabel)rt   ru   rv   rw   r+   r,   rx   r   
isinstancegcaxaxisZget_major_formatterZUnitDblFormatterr-   r.   r(   rb   Zset_major_formatterrC   ZtickerZFuncFormatterformatry   )rd   re   rz   Zxs_degr{   Zys_kmr5   r8   rp   r9   test_polar_units_2~   s   r   zpolar_rmin.png)r   c                  C   sZ   t ddd} dt j |  }t }|jg ddd}|||  |d |d	 d S )
Nr   rj   {Gz?rP   rK   Tr   rA   r>   	r(   r)   r*   r+   r,   rR   r.   set_rmaxset_rminr2   r3   r4   r5   r8   r8   r9   test_polar_rmin      
r   zpolar_negative_rmin.pngc                  C   sZ   t ddd} dt j |  }t }|jg ddd}|||  |d |d d S )Ng      r	   r   rP   rK   Tr   r   r   r8   r8   r9   test_polar_negative_rmin   r   r   zpolar_rorigin.pngc                  C   sd   t ddd} dt j |  }t }|jg ddd}|||  |d |d	 |	d
 d S )Nr   rj   r   rP   rK   Tr   rA   r>   r	   )
r(   r)   r*   r+   r,   rR   r.   r   r   set_roriginr   r8   r8   r9   test_polar_rorigin   s   

r   zpolar_invertedylim.pngc                  C   s*   t  } | jg ddd}|dd d S )NrK   Tr   rP   r   )r+   r,   rR   rD   r4   r5   r8   r8   r9   test_polar_invertedylim   s   r   zpolar_invertedylim_rorigin.pngc                  C   sV   t  } | jg ddd}|jd |jddgddgdd |d |d d S )	NrK   Tr   r   rP   none)cr   )r+   r,   rR   yaxisZset_invertedr.   Zmarginsr   r   r8   r8   r9   test_polar_invertedylim_rorigin   s   
r   zpolar_theta_position.pngc                  C   s\   t ddd} dt j |  }t }|jg ddd}|||  |dd	 |d
 d S )Nr   rj   r   rP   rK   Tr   ZNW   	clockwise)	r(   r)   r*   r+   r,   rR   r.   set_theta_zero_locationset_theta_directionr   r8   r8   r9   test_polar_theta_position   s   r   zpolar_rlabel_position.pngc                  C   s.   t  } | jdd}|d |jdd d S )Nr   r]   i;  auto)rotation)r+   r,   r-   Zset_rlabel_positionr1   r   r8   r8   r9   test_polar_rlabel_position   s   
r   zpolar_title_position.pngZmpl20c                  C   s"   t  } | jdd}|d d S )Nr   r]   Zfoo)r+   r,   r-   	set_titler   r8   r8   r9   test_polar_title_position   s   r   zpolar_theta_wedge.pngc               	   C   s   t ddd} dt j |  }t ddd}t ddd}d	}tjt|t|d
didd\}}t|D ]Z\}}t|D ]Q\}	}
|||	f }|||  ||
k rZ|| |	|
 n||
 |	| |
d |jdd||t|  dd |jjddd |j jjg dd q;q3d S )Nr   rj   r   rP   g      .@g     v@rh   g      I@)r$   inZinoutr   T)      )
subplot_kwfigsizer   r   )r%   r&   r'   r   )Zlabel2Onr   )r   rP   g      @   r<   )Zsteps)r(   r)   r*   r+   subplotsrZ   	enumerater.   Zset_thetaminZset_thetamaxr   r1   r   Zset_tick_paramsr   Zget_major_locatorbaseZ
set_params)r2   r3   Z
theta_minsZ
theta_maxsZ
DIRECTIONSr4   axsrW   startjendr5   r8   r8   r9   test_polar_theta_limits   s:   




r   c                 C   sP   | j ddid}|jdd |jdd |j ddid}|d |d d S )	Nr   Tr   r<   )rQ   r>   bottomrB   r   set_rlimr   r   rc   r8   r8   r9   test_polar_rlim  s   
r   c                 C   sH   | j ddid}|jddgd |j ddid}|d |d d S )Nr   Tr   r>   r<   r   rB   r   rc   r8   r8   r9   test_polar_rlim_bottom  s
   
r   c                  C   sD   t  jdd} | tdtdd  |  d dks J d S )Nr   r]   r<   r   r   )r+   r,   r-   r.   r(   r)   get_ylimr5   r8   r8   r9   test_polar_rlim_zero  s   r   c                  C   sj   t jdd t  } |  dkr|  dksJ t d t   t  } |  dkr1|  dks3J d S )Nr   r]   r   r   all)r+   subplotr   get_rminZget_rmaxcloser   r   r8   r8   r9   test_polar_no_data"  s   
 r   c                  C   s2   t jdd t  } | d |  dksJ d S )Nr   r]   logr   )r+   r   r   
set_rscaler   r   r8   r8   r9   test_polar_default_log_lims-  s   
r   c                  C   sJ   t  jdd} tt | d W d    d S 1 sw   Y  d S )Nr   r]   Zdatalim)r+   r,   r-   pytestraises
ValueErrorZset_adjustabler   r8   r8   r9   !test_polar_not_datalim_adjustable4  s   "r   c                  C   sv   t  } | jdd}|jdd t j|j dd | j  |j	j
d j dks,J |jj
d j dks9J d S )NTr   rH   )r?   F)visibler   )r+   r,   r-   gridZsetpr   get_ticklabelscanvasdrawr   
majorTicksZgridlineZ	get_alphar   r8   r8   r9   test_polar_gridlines:  s   
r   c                  C   sF   t jddid\} }| j  || j }t|jg ddd d S )Nr^   r   r   )gyZ@g,ԚG=@g_)Gހ@gR!+|@r   )Zrtol)r+   r   r   r   Zget_tightbboxZget_rendererr   Zextents)r4   r5   Zbbr8   r8   r9   test_get_tightbbox_polarF  s   

r   c                 C   s   | j dddjdgdgdtj ddd	}| j d
ddjdgdgdtj ddd	}|j dddjdgdgdtj ddd	}|j d
ddjdgdgdtj ddd	}d S )Ny   r   r]   r   r   r   r   F)Z	edgecolorZantialiasedz   rP   r`   )r-   barr(   r*   )rd   re   p1Zp2Zp3Zp4r8   r8   r9   )test_polar_interpolation_steps_constant_rN  s   
r   c                 C   s`   | j dddtjd gddg\}d| _|j ddtdtjd dtddd d S )Nr   r]   r   rP   r   d   e   )r-   r.   r(   r*   get_path_interpolation_stepslinspace)rd   re   lr8   r8   r9   )test_polar_interpolation_steps_variable_r\  s
   $
r   c                  C   s   t jdd} | ddtj  | jddd tjtdd	 | dd
tj  W d    n1 s1w   Y  tjtdd	 | jddd W d    d S 1 sPw   Y  d S )Nr   r]   r   rP   r   i  )ZthetaminZthetamaxz+angle range must be less than a full circle)matchr   i  )r+   r   set_thetalimr(   r*   r   r   r   r   r8   r8   r9   test_thetalim_valid_invalidd  s   "r   c                  C   sj   t jdd} | dd tt|  |  fdksJ | d tt|  |  fdks3J d S )Nr   r]   r   r   r   )rP   r   )r+   r   r   tupler(   radiansZget_thetaminZget_thetamaxr   r8   r8   r9   test_thetalim_argsp  s
   "
&r   c                  C   s|   t jdddid\} }| D ]	}|dtj q| D ]}t|j 	 }t
d|v s2J t
d|vs;J qd S )NzAAAABB.r^   r   r   r   rG   r   )r+   subplot_mosaicvaluesr   r(   r*   degreesr   Zget_majorticklocstolistr   Zapprox)r4   r   r5   Zticklocsr8   r8   r9   test_default_thetalocatorx  s   
r   c                  C   s4   t jdd} | dtjd }| jdksJ d S )Nr   r]   r   rY   r   )r+   r   axvspanr(   r*   r   r   )r5   spanr8   r8   r9   test_axvspan  s   r   c                 C   s`   | j dddddid}dD ]	}|j|   q|j dddddid}dD ]	}|j|   q$d S )NrP   Tr^   r   )sharexr   )r   r   r   )shareyr   )r   Zflatremove)re   rd   r   rW   r8   r8   r9   test_remove_shared_polar  s   r   c                  C   s   t jddddiddd\} }| j  |d jjd  sJ |d jjd  s+J t jdddiddd\} }| j  |d	 jjd  sIJ |d	 jjd  sUJ d S )
NrP   r^   r   T)r   r   r   r   r   zab
cdb)	r+   r   r   r   r   r   Zget_visibler   r   )r4   r   r8   r8   r9   "test_shared_polar_keeps_ticklabels  s   



r   c                  C   sD   t jdd} | dd | d | ddg |  dks J d S )	Nr   r]   r   r   r>   rL   rH   )r   rH   )r+   r   r   Zaxvliner.   r   r   r8   r8   r9   (test_axvline_axvspan_do_not_modify_rlims  s
   
r   c                  C   s   t jdd} | dddksJ | dddksJ | ddd	ks$J | ddd
ks.J | dddks8J | dddksBJ | dddksLJ | dddksVJ | dddks`J d S )Nr   r]   r   {Gzt?u   θ=0.0π (0°), r=0.005rL   u   θ=0.00π (0°), r=0.100r   u   θ=0.000π (0.0°), r=1.000u   θ=0.3π (57°), r=0.005u   θ=0.32π (57°), r=0.100u   θ=0.318π (57.3°), r=1.000rP   u   θ=0.6π (115°), r=0.005u   θ=0.64π (115°), r=0.100u   θ=0.637π (114.6°), r=1.000)r+   r   format_coordr   r8   r8   r9   test_cursor_precision  s   r   c                  C   s   t jdd} dd }d | _|| _| dddksJ | dd	d
ks$J | dddks.J || _d | _| dddks>J | dddksHJ | dddksRJ || _|| _| d	ddksbJ | dddkslJ | dddksvJ d S )Nr   r]   c                 S   s   d| d  S )Nz$%1.1fMgư>r8   )r#   r8   r8   r9   millions  s   z&test_custom_fmt_data.<locals>.millions   g    sAu,   θ=3.8197186342π (687.54935416°), r=$20.0Mi  g    >Au-   θ=392.794399551π (70702.9919191°), r=$2.0Mr   r   u!   θ=0.95493π (171.887°), r=$0.0Mg     jAr   u   θ=$0.2M, r=1.000rL   u   θ=$0.0M, r=0.100g    .Ar   u   θ=$1.0M, r=0.005g   ZAu   θ=$2.0M, r=$6000.0Mg NgmCl   {  u!   θ=$1000000000000.0M, r=$12891.3Ml   1;Ti 	Bu   θ=$3938980.6M, r=$1107.9M)r+   r   Z	fmt_xdataZ	fmt_ydatar   )r5   r   r8   r8   r9   test_custom_fmt_data  s"   r   zpolar_log.pngc                  C   sX   t  } | jdd}|d |dd d}|tddtj |t	dd| d S )	NTr   r   r   i  r   r   rP   )
r+   r,   r-   r   r   r.   r(   r   r*   logspace)r4   r5   nr8   r8   r9   test_polar_log  s   
*r   c                 C   s   | j ddd}|dd |d |tddd |j ddd}|d |d	d
 |d |tddd ||fD ]}|jdd qAd S )Nr   red)r^   r   r   rP   r   r   r   r   r   r   F)Z	labelleft)	r-   r   r   Z
set_rticksr(   r   r   r   r1   )re   rd   Zax_refZax_testr5   r8   r8   r9   test_polar_log_rorigin  s   


r   c                  C   sN   t  } | jdd}|tj tj dd |j D }|g dks%J d S )Nr   r]   c                 S   s   g | ]}|  qS r8   )Zget_text)ro   r   r8   r8   r9   rq     s    z-test_polar_neg_theta_lims.<locals>.<listcomp>)u   -180°u   -135°u   -90°u   -45°u   0°u   45°u   90°u   135°)r+   r,   r-   r   r(   r*   r   r   )r4   r5   labelsr8   r8   r9   test_polar_neg_theta_lims  s
   r   orderbeforeafterzpolar_errorbar.png)Zbaseline_imagesr;   r   c              	   C   s   t ddt j t jd }|t j d d }tjdd}|jdd}| d	kr>|d
 |d |j||dddddd d S |j||dddddd |d
 |d d S )Nr   rP   r   r>   )r   r   )r   r   r]   r   NrL      r   Zseagreen)ZxerrZyerrZcapsizefmtr   )	r(   r)   r*   r+   r,   r-   r   r   Zerrorbar)r   r3   r2   r4   r5   r8   r8   r9   test_polar_errorbar  s   


r   )5numpyr(   Znumpy.testingr   r   Z
matplotlibrC   r   r+   Zmatplotlib.testing.decoratorsr   r   r:   rF   rX   r[   rf   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   markZparametrizer   r8   r8   r8   r9   <module>   s    

!




	












 



	







