o
    ˆ‚¡e6  ã                   @   s´   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 edgdddd	d
„ ƒZedgddddd„ ƒZedgddddd„ ƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )é    N)Ú
same_color)Úimage_comparison)Úart3dzlegend_plot.pngTÚmpl20)Úremove_textÚstylec                  C   s\   t jtddd\} }t d¡}|j|d| dddd	 |j||d ddd
d	 | ¡  d S )NÚ3d©Ú
projection©Ú
subplot_kwé
   é   ÚoÚyzz=1)ÚzdirÚlabelzz=-1)ÚpltÚsubplotsÚdictÚnpÚarangeÚplotÚlegend)ÚfigÚaxÚx© r   úW/var/www/myenv/lib/python3.10/site-packages/mpl_toolkits/mplot3d/tests/test_legend3d.pyÚtest_legend_plot   s
   
r   zlegend_bar.pngc                  C   sr   t jtddd\} }t d¡}|j||dddd}|j||d d d	… d
ddd}| |d |d gddg¡ d S )Nr   r	   r   r   r   ÚedgeÚm)r   ÚalignÚcoloréÿÿÿÿr   Úgr   ÚupÚdown)r   r   r   r   r   Úbarr   )r   r   r   Úb1Úb2r   r   r   Útest_legend_bar   s
   
 r+   z	fancy.pngc                  C   s¢   t jtddd\} }|jt d¡t dd¡t dd¡ddd |jt d¡t dd	d
¡dd |jt dd¡t d¡t dd¡dddd |j	ddddd d S )Nr   r	   r   r   r   zo--Úline©r   r   r$   Úscatterç      à?Úerrorbar)ÚxerrÚzerrr   z
lower lefté   z	My legendé   )ÚlocÚncolsÚtitleÚ	numpoints)
r   r   r   r   r   r   Úfullr.   r0   r   )r   r   r   r   r   Ú
test_fancy   s   *  ÿr:   c                  C   s  ddgddgg} ddgddggd	dgd
dggg}d
dgddggd	dgddggg}t j| ddd}t j|dd}t j|dd	d}tjtddd\}}| |¡ | |¡ | |¡ | |||gg d¢¡}|j\}	}
}t|||f|	|
|fƒD ]\}}| 	¡ d |j
ks„J ‚qud S )N)r   r/   )r/   r4   )g333333Ó?ç333333ã?)çš™™™™™É?r<   gffffffæ?r<   gš™™™™™é?gš™™™™™Ù?r/   r;   gš™™™™™¹?z--é   )Ú
linestylesÚlwz-.)r>   ú:r   r	   r   )Úline1Úline2zline 3r   )r   ÚLine3DCollectionr   r   r   Úadd_collectionr   Úlegend_handlesÚzipÚget_linestylesÚ_dash_pattern)Úlines1Úlines2Úlines3Úlc1Úlc2Úlc3r   r   ÚlegÚh1Úh2Úh3ÚohÚlhr   r   r   Ú!test_linecollection_scaled_dashes)   s     


ÿrU   c                  C   s|   t jtddd\} }|jddgddgdd tjdgdgdgddg}|j|dgdd	}|d  ¡ |jd  ¡ ks<J ‚d S )
Nr   r	   r   r   r4   Úv)ÚmarkerÚAardvark)r8   )	r   r   r   r.   r   ÚLine3Dr   Ú
get_markerrE   )r   r   ÚhandlesrO   r   r   r   Útest_handlerline3d=   s
   "r\   c            	      C   s¬   t jdd…dd…f \} }| | }g d¢}tjtddd\}}|j| ||g d¢|dd	}| ¡ \}}|g d
¢ks;J ‚tdd„ |D ƒƒsFJ ‚tdd„ t||ƒD ƒƒsTJ ‚d S )Nr4   r   )Úbluez#00FF00Úredr   r	   r   ©r   é   é2   Úboth©ÚlevelsÚcolorsÚextend)z
$x = 10.0$z
$x = 30.0$z
$x = 50.0$c                 s   ó    | ]
}t |tjjƒV  qd S ©N)Ú
isinstanceÚmplÚlinesÚLine2D©Ú.0Úar   r   r   Ú	<genexpr>P   ó   € z/test_contour_legend_elements.<locals>.<genexpr>c                 s   ó"    | ]\}}t | ¡ |ƒV  qd S rh   )r   Ú	get_color©rn   ro   Úcr   r   r   rp   Q   ó   € ÿ)	r   Úmgridr   r   r   ÚcontourÚlegend_elementsÚallrF   )	r   r   Úhre   r   r   ÚcsÚartistsÚlabelsr   r   r   Útest_contour_legend_elementsF   s   ÿr   c            	      C   sÌ   t jdd…dd…f \} }| | }tjtddd\}}|j| ||g d¢g d¢dd	}|j d
¡ |j d¡ | 	¡  | 
¡ \}}|g d¢ksIJ ‚d}tdd„ |D ƒƒsVJ ‚tdd„ t||ƒD ƒƒsdJ ‚d S )Nr4   r   r   r	   r   r_   )ú#FFFF00ú#FF00FFz#00FFFFrb   rc   r^   r]   )z$x \leq -1e+250s$z$10.0 < x \leq 30.0$z$30.0 < x \leq 50.0$z$x > 1e+250s$)r]   r€   r   r^   c                 s   rg   rh   )ri   rj   ÚpatchesÚ	Rectanglerm   r   r   r   rp   f   rq   z0test_contourf_legend_elements.<locals>.<genexpr>c                 s   rr   rh   )r   Úget_facecolorrt   r   r   r   rp   g   rv   )r   rw   r   r   r   ÚcontourfÚcmapÚset_overÚ	set_underÚchangedry   rz   rF   )	r   r   r{   r   r   r|   r}   r~   Úexpected_colorsr   r   r   Útest_contourf_legend_elementsU   s"   þÿr‹   c                  C   s~   t  g d¢g d¢g d¢g¡} tj| gdd}tjddid\}}| d	¡ | |¡}| ¡ }|j	d
  
¡ | 
¡ k ¡ s=J ‚d S )N)r   r   r   )r   r4   r4   )r4   r   r4   Úsurfacer-   r
   r   r   Úkr   )r   Úasarrayr   ÚPoly3DCollectionr   r   Úset_edgecolorÚadd_collection3dr   rE   r„   rz   )ÚvertsÚmeshr   r   ÚhandlerO   r   r   r   Útest_legend_Poly3dCollectionk   s   

ÿ
ÿr•   )Únumpyr   Ú
matplotlibrj   Úmatplotlib.colorsr   Úmatplotlib.testing.decoratorsr   Úmatplotlib.pyplotÚpyplotr   Úmpl_toolkits.mplot3dr   r   r+   r:   rU   r\   r   r‹   r•   r   r   r   r   Ú<module>   s"    
	
	
		