ó
    {ñ:iÍ  ã                   ó�  • S r SSKJr  SSKrSSKrSSKJr  SSKJ	r	  SSK
Jr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr   " S S\R2                  5      r " S	 S
\R6                  5      r " S S\R:                  5      r " S S\5      r\" \5        \	" S/SS9S 5       r \	" S/S\RB                  " 5       S:X  a  SOSS9S 5       r"g)z)
Testing that skewed Axes properly work.
é    )Ú	ExitStackN)Úimage_comparison)ÚAxes)Úregister_projectionc                   ó.   ^ • \ rS rSrU 4S jrS rSrU =r$ )Ú	SkewXTické   c                 ó  >• [        5        nU R                  U R                  U R                  U R                  U R
                  4 H-  nUR                  UR                  UR                  5       5        M/     [        R                  " U R                  R                  U R                  5       5      n[        R                  " U R                  R                  U R                  5       5      nU R                  R                  U R                  R                  5       =(       a    U5        U R                  R                  U R                  R                  5       =(       a    U5        U R                  R                  U R                  R                  5       =(       a    U5        U R
                  R                  U R
                  R                  5       =(       a    U5        [        TU ]A  U5        S S S 5        g ! , (       d  f       g = f©N)r   ÚgridlineÚ	tick1lineÚ	tick2lineÚlabel1Úlabel2ÚcallbackÚset_visibleÚget_visibleÚ
transformsÚinterval_containsÚaxesÚ
lower_xlimÚget_locÚ
upper_xlimÚsuperÚdraw)ÚselfÚrendererÚstackÚartistÚneeds_lowerÚneeds_upperÚ	__class__s         €Ú]/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/matplotlib/tests/test_skew.pyr   ÚSkewXTick.draw   sQ  ø€ ÜŒ[˜EØŸ=™=¨$¯.©.¸$¿.¹.ØŸ;™;¨¯©ó5�à—‘˜v×1Ñ1°6×3EÑ3EÓ3GÖHñ5ô %×6Ò6Ø—	‘	×$Ñ$ d§l¡l£nó6ˆKä$×6Ò6Ø—	‘	×$Ñ$ d§l¡l£nó6ˆKà�N‰N×&Ñ&Ø—‘×*Ñ*Ó,×<°ô>à�K‰K×#Ñ#Ø—‘×'Ñ'Ó)×9¨kô;à�N‰N×&Ñ&Ø—‘×*Ñ*Ó,×<°ô>à�K‰K×#Ñ#Ø—‘×'Ñ'Ó)×9¨kô;ä‰G‰L˜Ô"÷! �[Ž[ús   ŒGG1Ç1
G?c                 óJ   • U R                   R                  R                  5       $ r   )r   ÚxaxisÚget_view_interval©r   s    r#   r'   ÚSkewXTick.get_view_interval*   s   € Ø�y‰y�‰×0Ñ0Ó2Ð2ó    © )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r'   Ú__static_attributes__Ú__classcell__©r"   s   @r#   r   r      s   ø† õ#÷&3ð 3r*   r   c                   ó    • \ rS rSrS rS rSrg)Ú	SkewXAxisé0   c                 ó,   • [        U R                  S US9$ )N)Úmajor)r   r   )r   r7   s     r#   Ú	_get_tickÚSkewXAxis._get_tick1   s   € Ü˜Ÿ™ D°Ñ6Ð6r*   c                 óf   • U R                   R                  S   U R                   R                  S   4$ )Nr   é   )r   r   r   r(   s    r#   r'   ÚSkewXAxis.get_view_interval4   s+   € Ø�y‰y×#Ñ# AÑ&¨¯	©	×(<Ñ(<¸QÑ(?Ð?Ð?r*   r+   N)r,   r-   r.   r/   r8   r'   r0   r+   r*   r#   r4   r4   0   s   † ò7õ@r*   r4   c                   ó   • \ rS rSrS rSrg)Ú	SkewSpineé;   c                 óÆ   • U R                   R                  nU R                  S:X  a  U R                  R                  US S 2S4'   g U R                  R
                  US S 2S4'   g )NÚtopr   )Ú_pathÚverticesÚ
spine_typer   r   r   ©r   Úptss     r#   Ú_adjust_locationÚSkewSpine._adjust_location<   sK   € Ø�j‰j×!Ñ!ˆØ�?‰?˜eÓ#ØŸ	™	×,Ñ,ˆC’�1�ŠIàŸ	™	×,Ñ,ˆC’�1�ŠIr*   r+   N)r,   r-   r.   r/   rG   r0   r+   r*   r#   r>   r>   ;   s   † õ-r*   r>   c                   óX   ^ • \ rS rSrSrS rS rU 4S jr\S 5       r	\S 5       r
SrU =r$ )	Ú	SkewXAxeséG   Úskewxc                 óÒ  • [        U 5      U l        U R                  R                  R	                  U R                  5        U R                  R
                  R	                  U R                  5        [        R                  " U 5      U l        U R                  R                  R	                  U R                  5        U R                  R                  R	                  U R                  5        g r   )r4   r&   ÚspinesrA   Úregister_axisÚbottomÚmaxisÚYAxisÚyaxisÚleftÚrightr(   s    r#   Ú
_init_axisÚSkewXAxes._init_axisL   s‹   € ä˜t“_ˆŒ
Ø�‰�‰×%Ñ% d§j¡jÔ1Ø�‰×Ñ×(Ñ(¨¯©Ô4Ü—[’[ Ó&ˆŒ
Ø�‰×Ñ×&Ñ& t§z¡zÔ2Ø�‰×Ñ×'Ñ'¨¯
©
Õ3r*   c                 óð   • [         R                  U S5      [        R                  R                  U S5      [        R                  R                  U S5      [        R                  R                  U S5      S.nU$ )NrA   rP   rT   rU   )rA   rP   rT   rU   )r>   Úlinear_spineÚmspinesÚSpine)r   rN   s     r#   Ú_gen_axes_spinesÚSkewXAxes._gen_axes_spinesU   s]   € Ü"×/Ñ/°°eÓ<Ü#ŸM™M×6Ñ6°t¸XÓFÜ!Ÿ-™-×4Ñ4°T¸6ÓBÜ"Ÿ=™=×5Ñ5°d¸GÓDñFˆð ˆr*   c                 óÜ  >• Sn[         TU ]  5         U R                  U R                  [        R
                  " 5       R                  US5      -   -   U l        U R                  U R                  -   U l	        [        R                  " U R                  U R                  -   [        R                  " 5       5      [        R
                  " 5       R                  US5      -   U R                  -   U l        g)zi
This is called once when the plot is created to set up all the
transforms for the data, text and grids.
é   r   N)r   Ú_set_lim_and_transformsÚ
transScaleÚtransLimitsr   ÚAffine2DÚskew_degÚtransDataToAxesÚ	transAxesÚ	transDataÚblended_transform_factoryÚIdentityTransformÚ_xaxis_transform)r   Úrotr"   s     €r#   r`   Ú!SkewXAxes._set_lim_and_transforms\   sÍ   ø€ ð
 ˆô 	‰Ñ'Ô)ð !%§¡Ø!%×!1Ñ!1Ü!+×!4Ò!4Ó!6×!?Ñ!?ÀÀQÓ!Gñ"Hñ!IˆÔð
 ×-Ñ-°·±Ñ>ˆŒô ",×!EÒ!EØ�O‰O˜d×.Ñ.Ñ.Ü×(Ò(Ó*ó",ô ×ÒÓ!×*Ñ*¨3°Ó2ñ"3ð 7;·n±nñ!EˆÕr*   c                 óB   • U R                   R                  R                  $ r   )r   ÚviewLimÚ	intervalxr(   s    r#   r   ÚSkewXAxes.lower_xlimy   s   € à�y‰y× Ñ ×*Ñ*Ð*r*   c                 ór   • SS/SS//nU R                   R                  5       R                  U5      S S 2S4   $ )Ng        g      ð?r   )re   ÚinvertedÚ	transformrE   s     r#   r   ÚSkewXAxes.upper_xlim}   s=   € à�Bˆx˜"˜b˜Ð"ˆØ×#Ñ#×,Ñ,Ó.×8Ñ8¸Ó=ºaÀ¸dÑCÐCr*   )rj   rg   re   r&   rS   )r,   r-   r.   r/   ÚnamerV   r\   r`   Úpropertyr   r   r0   r1   r2   s   @r#   rJ   rJ   G   sD   ø† ð €Dò4òõEð: ñ+ó ð+ð ñDó öDr*   rJ   zskew_axes.pngT)Úremove_textc                  óÜ   • [         R                  " 5       n U R                  SSSSS9nUR                  SS5        UR	                  SS5        UR                  S5        UR                  SSS	9  g )
Nr;   rL   )Ú
projectioniÎÿÿÿé2   Tr   Úb)Úcolor)ÚpltÚfigureÚadd_subplotÚset_xlimÚset_ylimÚgridÚaxvline)ÚfigÚaxs     r#   Útest_set_line_coll_dash_imager†   ˆ   s\   € ä
�*Š*‹,€CØ	�‰˜˜A˜q¨WˆÐ	5€BØ‡K�K��RÔØ‡K�K��CÔØ‡G�GˆD„Mð ‡J�Jˆq˜€JÒr*   zskew_rects.pngÚx86_64g;ßO�—n‚?)rw   Útolc                  ób  • [         R                  " SSSSSS9u  pUR                  n[        [        R
                  " / SQSS95      nUS   R                  S	S
/5        US   R                  S	S
/5        US   R                  SSS9  [        X5       Hƒ  u  nu  pESU-  SU-  pv[        R                  " 5       R                  Xg5      nUR                  SU SU S35        UR                  [        R                   " SS/SSXƒR"                  -   SSS95        M…     [         R$                  " SSSSSS9  g )Né   T)é   r‹   )ÚsharexÚshareyÚfigsize)éýÿÿÿéÿÿÿÿr   r;   é   é   )Úrepeatr   r�   r‘   Úequal)Úshareé-   zSkew of z
 in X and z in Yr�   g      à?Úcoral)rs   ÚalphaÚ	facecolorg{®Gáz„?g®Gáz®ï?)ÚwspacerT   rU   rP   rA   )r}   ÚsubplotsÚflatÚlistÚ	itertoolsÚproductr€   r�   Ú
set_aspectÚzipr   rc   rd   Ú	set_titleÚ	add_patchÚmpatchÚ	Rectanglerg   Úsubplots_adjust)	Úfixr   Ú	rotationsr…   ÚxrotsÚyrotsÚxdegÚydegÚts	            r#   Útest_skew_rectangler®   ”   s%  € ô —’˜Q ¨$°tÀVÑL�I€CØ�9‰9€Dä”Y×&Ò&Ò'8ÀÑCÓD€Iàˆ�G×Ñ�b˜!�WÔØˆ�G×Ñ�b˜!�WÔØˆ�G×Ñ�w dÐÑ+ä! $Ö2Ñˆ‰NˆUØ˜%‘Z  e¡ˆdÜ×ÒÓ!×*Ñ*¨4Ó6ˆà
�‰�x ˜v Z°¨v°UÐ;Ô<Ø
�‰”V×%Ò% r¨2 h°°1Ø01·L±LÑ0@Ø,/¸7ñDö 	Eñ 3ô ×Ò˜q t°4ÀÈ$ÓOr*   )#Ú__doc__Ú
contextlibr   rž   ÚplatformÚmatplotlib.pyplotÚpyplotr}   Úmatplotlib.testing.decoratorsr   Úmatplotlib.axesr   Úmatplotlib.transformsr   Úmatplotlib.axisÚaxisrQ   Úmatplotlib.spinesrN   rZ   Úmatplotlib.patchesÚpatchesr¤   Úmatplotlib.projectionsr   ÚXTickr   ÚXAxisr4   r[   r>   rJ   r†   Úmachiner®   r+   r*   r#   Ú<module>rÀ      sÐ   ðñõ !Û Û å Ý :å  Ý *Ý Ý #Ý #Ý 6ô
3�—‘ô 3ô4@�—‘ô @ô-�—‘ô -ô9D�ô 9Dñ| �IÔ ñ �?Ð#°Ñ6ñó 7ðñ Ð#Ð$°$Ø#×+Ò+Ó-°Ó9‘a¸uñFñPóFñPr*   