o
    ¹iú  ã                   @   s  d dl mZ d dlZd dlZ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„ Ze
dgd	d
e ¡ dkrKd ndddd„ ƒZdd„ Zdd„ Zdd„ Zdd„ ZG dd„ dƒZdd„ Zdd„ Zdd„ Z ej! "d ej# $¡ ¡d!d"„ ƒZ%d#d$„ Z&dS )%é    )ÚBytesION)Úcm)Úimage_comparison)Úrrulewrapperc                  C   sè   t  ¡ } t | tƒ tj¡ t  d¡}t |tƒ tj¡ t jdd}t jt	 
d¡dd t  ¡  t |tƒ tj¡ t  ¡  t jt	 
d¡t	 
d¡d t t  ¡ tƒ tj¡ t  ¡ } t  ¡ }t  t	 
d¡¡ | d¡ t | tƒ tj¡ d S )	Néy   Úpolar)Ú
projectioné
   Úfoobar©Úlabel)ÚxÚheightÚlog)ÚpltÚfigureÚpickleÚdumpr   ÚHIGHEST_PROTOCOLÚsubplotÚaxesÚplotÚnpÚarangeÚlegendÚbarÚgcaÚ
set_yscale)ÚfigÚax© r    úW/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/matplotlib/tests/test_pickle.pyÚtest_simple   s    

r"   zmulti_pickle.pngTÚmpl20Úx86_64gË¡E¶óý´?)Úremove_textÚstyleÚtolc                  C   s  t jddd} t  d¡ t d¡t d¡}}t ddd¡ dd¡ } }}t |d	 ¡}t  d
d
d¡ t  	t
tdƒƒ¡ t  d
d
d¡ t j|ddgd t  ¡  t  d
d
d
¡ t  |¡ t  d
d
d¡ t  |¡ t  d
d
d¡ t  |¡ t  d
d
d¡}| dd¡ | dd¡ t  ||||¡ t  d
d
d¡}| dd¡ | dd¡ t  ||||¡ t  d
d
d¡ t j||d dd t jdd t  d
d
d¡ t j||d ddd tƒ }t | |tj¡ t  d¡ t jjji ksíJ ‚|  d¡ t !|¡} t jjji ksJ ‚|  "¡ dks
J ‚d S )NzFigure with a label?)r	   é   )Úfigsizez!Can you fit any more in a figure?é   r	   r   éP   g333333ã¿é   é   é   z//Úooo)Úhatchesé   é   r(   é   é	   z$x^2$r   z
upper left)Úlocg      à¿gš™™™™™É?gš™™™™™Ù?)ÚxerrÚyerrÚall)#r   r   Úsuptitler   r   ÚlinspaceÚreshapeÚsinr   r   ÚlistÚrangeÚcontourfÚcolorbarÚ
pcolormeshÚimshowÚpcolorÚset_xlimÚset_ylimÚ
streamplotÚquiverÚscatterr   Úerrorbarr   r   r   r   ÚcloseÚ_pylab_helpersÚGcfÚfigsÚseekÚloadÚ	get_label)r   r   ÚyÚdataÚuÚvr   Ú	result_fhr    r    r!   Útest_complete+   sJ   






rV   c                  C   sT   ddl m}  t ¡ }| |ƒ}| ddd¡}| g d¢g d¢¡ t |tƒ tj	¡ d S )Nr   )ÚFigureCanvasPdfr-   )r-   r.   r,   )
Úmatplotlib.backends.backend_pdfrW   ÚmfigureÚFigureÚadd_subplotr   r   r   r   r   )rW   r   Ú_r   r    r    r!   Útest_no_pyplotn   s   r]   c                  C   s*   ddl m}  | dddƒ}t |tƒ ¡ d S )Nr   )ÚRendererAggr	   é   é   )Úmatplotlib.backends.backend_aggr^   r   r   r   )r^   Úrendererr    r    r!   Útest_rendererx   s   rc   c                  C   s^   ddl m}  | dƒ}|jj}| ddd¡}| t d¡ dd¡¡ |j 	¡  t
 |tƒ ¡ d S )Nr   )Únew_figure_manageriè  r-   é   r,   r1   )ra   rd   Úcanvasr   r[   rB   r   r   r;   Údrawr   r   r   )rd   Úmanagerr   r   r    r    r!   Ú
test_image~   s   
ri   c                  C   s6   t jddd t  ¡ } t | ¡}t |¡ t  ¡  d S )Néo   T)r   )r   r   Úgcfr   ÚdumpsÚloadsrg   )r   Úpfr    r    r!   Ú
test_polarŠ   s
   

ro   c                   @   s   e Zd Zdd„ ZdS )ÚTransformBlobc                 C   sJ   t  ¡ | _t  ¡ | _t  | j| j¡| _t  | j¡| _t  | j| j¡| _d S ©N)	ÚmtransformsÚIdentityTransformÚidentityÚ	identity2ÚCompositeGenericTransformÚ	compositeÚTransformWrapperÚwrapperÚ
composite2)Úselfr    r    r!   Ú__init__“   s   

þ
þzTransformBlob.__init__N)Ú__name__Ú
__module__Ú__qualname__r|   r    r    r    r!   rp   ’   s    rp   c                  C   s|   t ƒ } t | ¡}~ t |¡} | jj| jksJ ‚dd„ | jj ¡ D ƒ| j	gks(J ‚| jj
| jj
ks2J ‚| jj| jjks<J ‚d S )Nc                 S   s   g | ]}|ƒ ‘qS r    r    )Ú.0rT   r    r    r!   Ú
<listcomp>«   s    z"test_transform.<locals>.<listcomp>)rp   r   rl   rm   ry   Ú_childrw   Ú_parentsÚvaluesrz   Ú
input_dimsÚoutput_dims)Úobjrn   r    r    r!   Útest_transform¢   s   

"rˆ   c                  C   s8   t dƒ} zt t | ¡¡ W d S  ty   tdƒ ‚ w )Nr.   z!rrulewrapper pickling test failed)r   r   rm   rl   ÚRecursionErrorÚprint)Úrr    r    r!   Útest_rrulewrapper±   s   þrŒ   c                  C   sN   t jddd\} }t t | ¡¡} | jd  dd¡ | jd  ¡ dks%J ‚d S )	Nr.   T)Úsharexr   r	   r_   r-   )r	   r_   )r   Úsubplotsr   rm   rl   r   rD   Úget_xlim)r   Úaxsr    r    r!   Útest_sharedº   s   r‘   Úcmapc                 C   s   t  | ¡ d S rq   )r   rl   )r’   r    r    r!   Ú	test_cmapÁ   s   r“   c                  C   sN   t  ¡ } | jd usJ ‚tƒ }t | |¡ | d¡ t |¡}|jd us%J ‚d S )Nr   )rY   rZ   rf   r   r   r   rN   rO   )r   ÚoutÚfig2r    r    r!   Útest_unpickle_canvasÆ   s   

r–   )'Úior   r   ÚplatformÚnumpyr   ÚpytestÚ
matplotlibr   Úmatplotlib.testing.decoratorsr   Úmatplotlib.datesr   Úmatplotlib.pyplotÚpyplotr   Úmatplotlib.transformsÚ
transformsrr   Úmatplotlib.figurer   rY   r"   ÚmachinerV   r]   rc   ri   ro   rp   rˆ   rŒ   r‘   ÚmarkÚparametrizeÚ_cmap_registryr„   r“   r–   r    r    r    r!   Ú<module>   s6    
ÿ
A
	
