§
    ‡Ûgb  ã                   óæ   — 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	„ ¦   «         Z ed
gdd¬¦  «        d„ ¦   «         Z edgdd¬¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ ZdS )é    N)Ú
same_color)Úimage_comparison)Úart3dzlegend_plot.pngT)ÚclassicÚ_classic_test_patch)Úremove_textÚstylec                  ó  — t          j        t          d¬¦  «        ¬¦  «        \  } }t          j        d¦  «        }|                     |d|z
  ddd¬	¦  «         |                     ||dz
  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Úxs      ú^/granary/edev/quantum/lib/python3.11/site-packages/mpl_toolkits/mplot3d/tests/test_legend3d.pyÚtest_legend_plotr!      sƒ   € õ Œl¥d°dÐ&;Ñ&;Ô&;Ð<Ñ<Ô<�G€CˆÝ
Œ	�"‰Œ€AØ‡G‚GˆAˆq�1‰u�c ¨5€GÑ1Ô1Ð1Ø‡G‚GˆAˆq�1‰u�c ¨6€GÑ2Ô2Ð2Ø‡I‚I�K„K€K€K€Kó    zlegend_bar.pngc                  ó@  — t          j        t          d¬¦  «        ¬¦  «        \  } }t          j        d¦  «        }|                     ||dd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Úb2s        r    Útest_legend_barr/      sœ   € õ Œl¥d°dÐ&;Ñ&;Ô&;Ð<Ñ<Ô<�G€CˆÝ
Œ	�"‰Œ€AØ	�Š��1˜3 f°CˆÑ	8Ô	8€BØ	�Š��1�T�T�r�T”7 ¨F¸#ˆÑ	>Ô	>€BØ‡I‚Iˆr�!Œu�b˜”eˆn˜t V˜nÑ-Ô-Ð-Ð-Ð-r"   z	fancy.pngc                  óJ  — t          j        t          d¬¦  «        ¬¦  «        \  } }|                     t	          j        d¦  «        t	          j        dd¦  «        t	          j        dd¦  «        dd¬¦  «         |                     t	          j        d¦  «        t	          j        dd	d
¦  «        d¬¦  «         |                     t	          j        dd¦  «        t	          j        d¦  «        t	          j        dd¦  «        dd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   Úfullr2   r4   r   )r   r   s     r    Ú
test_fancyr>   !   sï   € õ Œl¥d°dÐ&;Ñ&;Ô&;Ð<Ñ<Ô<�G€CˆØ‡G‚G�BŒI�b‰MŒM�2œ7 2 q™>œ>­2¬7°2°q©>¬>¸5È€GÑOÔOÐOØ‡J‚J�rŒy˜‰}Œ}�bœi¨¨A¨rÑ2Ô2¸)€JÑDÔDÐDØ‡K‚K•”˜˜A‘”¥¤	¨"¡¤­r¬w°r¸2©¬Ø˜s¨*ð ñ 6ô 6ð 6à‡I‚I�, a¨{Àa€IÑHÔHÐHÐHÐHr"   c                  óv  — 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¬¦  «        }t          j        |d¬¦  «        }t          j        |dd	¬¦  «        }t          j        t	          d¬¦  «        ¬¦  «        \  }}|                     |¦  «         |                     |¦  «         |                     |¦  «         |                     |||gg d¢¦  «        }|j        \  }	}
}t          |||f|	|
|f¦  «        D ]*\  }}| 	                    ¦   «         d         |j
        k    sJ ‚Œ+d S )N)r   r3   )r3   r8   )g333333Ó?ç333333ã?)çš™™™™™É?rA   gffffffæ?rA   gš™™™™™é?gš™™™™™Ù?r3   r@   gš™™™™™¹?z--é   )Ú
linestylesÚlwz-.)rC   ú: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Úlhs                 r    Ú!test_linecollection_scaled_dashesrZ   ,   s‡  € Ø˜Ð  8¨XÐ"6Ð7€FØ�Rˆy˜2˜r˜(Ð# r¨2 h°°R°Ð%9Ð:€FØ�Rˆy˜2˜r˜(Ð# r¨2 h°°R°Ð%9Ð:€FÝ
Ô
  °D¸QÐ
?Ñ
?Ô
?€CÝ
Ô
  °DÐ
9Ñ
9Ô
9€CÝ
Ô
  °C¸BÐ
?Ñ
?Ô
?€CåŒl¥d°dÐ&;Ñ&;Ô&;Ð<Ñ<Ô<�G€CˆØ×Ò�cÑÔÐØ×Ò�cÑÔÐØ×Ò�cÑÔÐà
�)Š)�S˜#˜s�OÐ%AÐ%AÐ%AÑ
BÔ
B€CØÔ#�J€BˆˆBå�s˜C �o¨¨B° |Ñ4Ô4ð :ð :‰ˆˆBØ× Ò Ñ"Ô" 1Ô%¨Ô)9Ò9Ð9Ð9Ð9Ð9ð:ð :r"   c                  ón  — t          j        t          d¬¦  «        ¬¦  «        \  } }|                     ddgddgd¬¦  «         t	          j        dgdgdgd¬¦  «        g}|                     |dgd¬	¦  «        }|d                              ¦   «         |j        d                              ¦   «         k    sJ ‚d S )
Nr   r   r   r   r8   Úv)ÚmarkerÚAardvark)r<   )	r   r   r   r2   r   ÚLine3Dr   Ú
get_markerrJ   )r   r   ÚhandlesrT   s       r    Útest_handlerline3drb   @   s¸   € åŒl¥d°dÐ&;Ñ&;Ô&;Ð<Ñ<Ô<�G€CˆØ‡J‚J��1ˆv˜˜1�v c€JÑ*Ô*Ð*ÝŒ|˜Q˜C !  q c°#Ð6Ñ6Ô6Ð7€GØ
�)Š)�G˜j˜\°Qˆ)Ñ
7Ô
7€CØ�1Œ:× Ò Ñ"Ô" cÔ&8¸Ô&;×&FÒ&FÑ&HÔ&HÒHÐHÐHÐHÐHÐHr"   c                  ó°  ‡	— ddl mŠ	 t          j        dd…dd…f         \  } }| |z  }g d¢}t	          j        t          d¬¦  «        ¬¦  «        \  }}|                     | ||g d	¢|d
¬¦  «        }|                     ¦   «         \  }}|g d¢k    sJ ‚t          ˆ	fd„|D ¦   «         ¦  «        sJ ‚t          d„ t          ||¦  «        D ¦   «         ¦  «        sJ ‚d S )Nr   )ÚLineCollectionr8   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              3   ó8   •K  — | ]}t          |‰¦  «        V — Œd S ©N©Ú
isinstance)Ú.0Úard   s     €r    ú	<genexpr>z/test_contour_legend_elements.<locals>.<genexpr>T   s-   øè è € Ð>Ð>°�z˜!˜^Ñ,Ô,Ð>Ð>Ð>Ð>Ð>Ð>r"   c              3   ó`   K  — | ])\  }}t          |                     ¦   «         |¦  «        V — Œ*d S rp   )r   Ú	get_color©rs   rt   Úcs      r    ru   z/test_contour_legend_elements.<locals>.<genexpr>U   sL   è è € ð 1ð 1Ù�1�aõ ˜!Ÿ+š+™-œ-¨Ñ+Ô+ð 1ð 1ð 1ð 1ð 1ð 1r"   )Úmatplotlib.collectionsrd   r   Úmgridr   r   r   ÚcontourÚlegend_elementsÚallrK   )
r   r   Úhrm   r   r   ÚcsÚartistsÚlabelsrd   s
            @r    Útest_contour_legend_elementsrƒ   I   s)  ø€ Ø5Ð5Ð5Ð5Ð5Ð5ÝŒ8�A�b�D˜!˜B˜$�JÔ�D€A€qØ	ˆA‰€AØ'Ð'Ð'€FåŒl¥d°dÐ&;Ñ&;Ô&;Ð<Ñ<Ô<�G€CˆØ	�Š�A�q˜! L L L¸ÈˆÑ	OÔ	O€Bà×(Ò(Ñ*Ô*�O€GˆVØÐ?Ð?Ð?Ò?Ð?Ð?Ð?ÝÐ>Ð>Ð>Ð>°gÐ>Ñ>Ô>Ñ>Ô>Ð>Ð>Ð>Ýð 1ð 1Ý˜w¨Ñ/Ô/ð1ñ 1ô 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1r"   c                  ó@  ‡	— ddl mŠ	 t          j        dd…dd…f         \  } }| |z  }t	          j        t          d¬¦  «        ¬¦  «        \  }}|                     | ||g d¢g d	¢d
¬¦  «        }|j         	                    d¦  «         |j         
                    d¦  «         |                     ¦   «          |                     ¦   «         \  }}|g d¢k    sJ ‚d}t          ˆ	fd„|D ¦   «         ¦  «        sJ ‚t          d„ t          ||¦  «        D ¦   «         ¦  «        sJ ‚d S )Nr   )Ú	Rectangler8   r   r   r   r   rg   )ú#FFFF00ú#FF00FFz#00FFFFrj   rk   rf   re   )z$x \leq -1e+250s$z$10.0 < x \leq 30.0$z$30.0 < x \leq 50.0$z$x > 1e+250s$)re   r†   r‡   rf   c              3   ó8   •K  — | ]}t          |‰¦  «        V — Œd S rp   rq   )rs   rt   r…   s     €r    ru   z0test_contourf_legend_elements.<locals>.<genexpr>k   s-   øè è € Ð9Ð9¨A�z˜!˜YÑ'Ô'Ð9Ð9Ð9Ð9Ð9Ð9r"   c              3   ó`   K  — | ])\  }}t          |                     ¦   «         |¦  «        V — Œ*d S rp   )r   Úget_facecolorrx   s      r    ru   z0test_contourf_legend_elements.<locals>.<genexpr>l   sN   è è € ð :ð :Ù�1�aõ ˜!Ÿ/š/Ñ+Ô+¨QÑ/Ô/ð :ð :ð :ð :ð :ð :r"   )Úmatplotlib.patchesr…   r   r{   r   r   r   ÚcontourfÚcmapÚset_overÚ	set_underÚchangedr}   r~   rK   )
r   r   r   r   r   r€   r�   r‚   Úexpected_colorsr…   s
            @r    Útest_contourf_legend_elementsr’   Y   s}  ø€ Ø,Ð,Ð,Ð,Ð,Ð,ÝŒ8�A�b�D˜!˜B˜$�JÔ�D€A€qØ	ˆA‰€AåŒl¥d°dÐ&;Ñ&;Ô&;Ð<Ñ<Ô<�G€CˆØ	�Š�Q˜˜1 \ \ \Ø=Ð=Ð=Ø"ð 
ñ 
$ô 
$€Bð „G×Ò�UÑÔÐØ„G×Ò�fÑÔÐØ‡J‚J�L„L€LØ×(Ò(Ñ*Ô*�O€GˆVØð 'ð 'ð 'ò 'ð 'ð 'ð 'ð <€OÝÐ9Ð9Ð9Ð9°Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ýð :ð :Ý˜w¨Ñ8Ô8ð:ñ :ô :ñ :ô :ð :ð :ð :ð :ð :r"   )Únumpyr   Úmatplotlib.colorsr   Úmatplotlib.testing.decoratorsr   Úmatplotlib.pyplotÚpyplotr   Úmpl_toolkits.mplot3dr   r!   r/   r>   rZ   rb   rƒ   r’   © r"   r    ú<module>rš      sT  ðà Ð Ð Ð à (Ð (Ð (Ð (Ð (Ð (Ø :Ð :Ð :Ð :Ð :Ð :Ø Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &ð ÐÐ$Ð%°4Ø:ð<ñ <ô <ðð ñ<ô <ðð ÐÐ#Ð$°$Ø:ð<ñ <ô <ð.ð .ñ<ô <ð.ð Ð�;�-¨TØ:ð<ñ <ô <ðIð Iñ<ô <ðIð:ð :ð :ð(Ið Ið Ið1ð 1ð 1ð :ð :ð :ð :ð :r"   