§
    ‚Øj·  ã                   ó4  — d dl Zd dlZd dlmZ d dlmZ d dlm	Z	m
Z
 d„ Z e
dgd¬¦  «        d„ ¦   «         Z e
d	gd¬¦  «        d
„ ¦   «         Z e	¦   «         d„ ¦   «         Z e
dgd¬¦  «        d„ ¦   «         Zd„ Z e
dgd¬¦  «        d„ ¦   «         Zd„ Zd„ ZdS )é    N)ÚSpines)Úcheck_figures_equalÚimage_comparisonc                  ó€  —  G d„ d¦  «        }  | ¦   «          | ¦   «          | ¦   «          | ¦   «         dœ}t          di |¤Ž}|d         |d         u sJ ‚|j        |d         u sJ ‚|ddg                              d¦  «         |j        j        dk    sJ ‚|j        j        dk    sJ ‚|j        j        �J ‚|j        j        �J ‚|dd…                              d¦  «         t          d	„ |                     ¦   «         D ¦   «         ¦  «        sJ ‚|dd…          	                    d
¬¦  «         t          d„ |                     ¦   «         D ¦   «         ¦  «        sJ ‚t          j        t          d¬¦  «        5  |j         ddd¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  |d          ddd¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  |g d¢          ddd¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  |d          ddd¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  |dd…          ddd¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  |dd…          ddd¦  «         dS # 1 swxY w Y   dS )z)Test Spines and SpinesProxy in isolation.c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ú#test_spine_class.<locals>.SpineMockc                 ó   — d | _         d S ©N©Úval)Úselfs    ú‘/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/matplotlib/tests/test_spines.pyÚ__init__z,test_spine_class.<locals>.SpineMock.__init__   s   € ØˆDŒHˆHˆHó    c                 óJ   — t          | ¦  «                             |¦  «         d S r
   )ÚvarsÚupdate)r   Úkwargss     r   Úsetz'test_spine_class.<locals>.SpineMock.set   s"   € Ý�‰JŒJ×Ò˜fÑ%Ô%Ð%Ð%Ð%r   c                 ó   — || _         d S r
   r   )r   r   s     r   Úset_valz+test_spine_class.<locals>.SpineMock.set_val   s   € ØˆDŒHˆHˆHr   N)Ú__name__Ú
__module__Ú__qualname__r   r   r   © r   r   Ú	SpineMockr      sA   € € € € € ð	ð 	ð 	ð	&ð 	&ð 	&ð	ð 	ð 	ð 	ð 	r   r   )ÚleftÚrightÚtopÚbottomr   r   ÚxNÚyc              3   ó,   K  — | ]}|j         d k    V — ŒdS )r"   Nr   ©Ú.0Úspines     r   ú	<genexpr>z#test_spine_class.<locals>.<genexpr>'   s)   è è € Ð=Ð= EˆuŒy˜CÒÐ=Ð=Ð=Ð=Ð=Ð=r   Úbar©Úfooc              3   ó,   K  — | ]}|j         d k    V — ŒdS )r(   Nr)   r$   s     r   r'   z#test_spine_class.<locals>.<genexpr>*   s)   è è € Ð?Ð? eˆuŒy˜EÒ!Ð?Ð?Ð?Ð?Ð?Ð?r   r*   )Úmatchzfoo, bar)r   r*   r   r(   zsingle list)r   r   zSpines does not support slicingr   r   )r   r   r   r   r   r   r    ÚallÚvaluesr   ÚpytestÚraisesÚAttributeErrorr*   ÚKeyErrorÚ
ValueError)r   Úspines_dictÚspiness      r   Útest_spine_classr6   	   sq  € ðð ð ð ð ñ ô ð ð �	‘”Ø�‘”Øˆy‰{Œ{Ø�)‘+”+ð	ð €Kõ Ð"Ð"�kÐ"Ð"€Fà�&Œ>˜[¨Ô0Ð0Ð0Ð0Ð0ØŒ;˜+ fÔ-Ð-Ð-Ð-Ð-à
ˆF�GÐÔ×%Ò% cÑ*Ô*Ð*ØŒ;Œ?˜cÒ!Ð!Ð!Ð!ØŒ<Ô˜sÒ"Ð"Ð"Ð"ØŒ:Œ>Ð!Ð!Ð!ØŒ=ÔÐ$Ð$Ð$à
ˆ1ˆ1ˆ1„I×Ò�cÑÔÐÝÐ=Ð=¨V¯]ª]©_¬_Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=à
ˆ1ˆ1ˆ1„I‡M‚M�e€MÑÔÐÝÐ?Ð?¨v¯}ª}©¬Ð?Ñ?Ô?Ñ?Ô?Ð?Ð?Ð?å	Œ•~¨UÐ	3Ñ	3Ô	3ð ð ØŒ
ˆ
ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•x uÐ	-Ñ	-Ô	-ð ð ØˆuŒˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•x zÐ	2Ñ	2Ô	2ð 0ð 0ØÐ.Ð.Ð.Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0å	Œ•z¨Ð	7Ñ	7Ô	7ð  ð  ØˆÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  å	Œ•zÐ)JÐ	KÑ	KÔ	Kð ð Øˆv�gˆ~ÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•zÐ)JÐ	KÑ	KÔ	Kð ð ØˆuˆvˆvŒˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sl   Å1FÆF	ÆF	Æ+	G Ç GÇGÇ&G=Ç=HÈHÈ#	H8È8H<È?H<ÉI5É5I9É<I9ÊJ3Ê3J7Ê:J7zspines_axes_positions.pngÚmpl20)Ústylec                  ó„  — t          j        ¦   «         } t          j        ddt          j        z  d¦  «        }dt          j        |¦  «        z  }|                      ddd¦  «        }|                     d¦  «         |                     ||¦  «         |j	        j
                             d¦  «         |j                             d¦  «         |j	        j                             d¦  «         |j                             d	¦  «         |j	        j                             d
¦  «         |j	        j                             d
¦  «         d S )Nr   é   éd   é   zcentered spines)Úaxesçš™™™™™¹?r   )r=   g      Ð?r   Únone)ÚpltÚfigureÚnpÚlinspaceÚpiÚsinÚadd_subplotÚ	set_titleÚplotr5   r   Úset_positionÚyaxisÚset_ticks_positionr   Úxaxisr   Ú	set_colorr    )Úfigr!   r"   Úaxs       r   Útest_spines_axes_positionsrP   :   s  € õ Œ*‰,Œ,€CÝ
Œ�A�q�œ‘w Ñ$Ô$€AØ	�"Œ&�‰)Œ)‰€AØ	�Š˜˜A˜qÑ	!Ô	!€BØ‡L‚LÐ"Ñ#Ô#Ð#Ø‡G‚GˆAˆq�M„M€MØ„I„O× Ò  Ñ/Ô/Ð/Ø„H×Ò Ñ(Ô(Ð(Ø„I„M×Ò˜~Ñ.Ô.Ð.Ø„H×Ò Ñ&Ô&Ð&Ø„I„N×Ò˜VÑ$Ô$Ð$Ø„IÔ×Ò˜vÑ&Ô&Ð&Ð&Ð&r   zspines_data_positions.pngc                  óî  — t          j        ¦   «         \  } }|j        j                             d¦  «         |j        j                             d¦  «         |j        j                             d¦  «         |j        j                             d¦  «         |                     ddg¦  «         | 	                    ddg¦  «         |j
                             d¦  «         |j                             d¦  «         d S )N)Údatag      ø¿)rR   g      à?)rR   g      à¿Úzeroéþÿÿÿr:   Úboth)r@   Úsubplotsr5   r   rI   r   r   r    Úset_xlimÚset_ylimrL   rK   rJ   ©rN   rO   s     r   Útest_spines_data_positionsrZ   K   sÐ   € åŒl‰nŒn�G€CˆØ„I„N×Ò Ñ/Ô/Ð/Ø„I„M×Ò˜}Ñ-Ô-Ð-Ø„I„O× Ò  Ñ0Ô0Ð0Ø„IÔ×!Ò! &Ñ)Ô)Ð)Ø‡K‚K��Q�ÑÔÐØ‡K‚K��Q�ÑÔÐØ„H×Ò Ñ'Ô'Ð'Ø„H×Ò Ñ'Ô'Ð'Ð'Ð'r   c                 óJ  — t           j                             d¦  «         |                      ¦   «         }|                     dd¬¦  «         |j        j                             d¦  «         |j        j                             d¦  «         |j        j	                             d¦  «         | 
                    dd	d
¬¦  «         |                     ¦   «         }|                     dd¬¦  «         |j        j	                             d¦  «         | 
                    dd	d	d¬¦  «         d S )NÚdefaultÚlog)r>   r<   )ÚxscaleÚxlim)rR   r<   r:   )rR   r>   r"   FÚin)ÚaxisÚ	labelleftÚ	directionT)ra   rb   r   r   )r@   r8   ÚuserF   r   r5   r   rI   Úset_linewidthr   Útick_params)Úfig_testÚfig_refrO   s      r   Ú#test_spine_nonlinear_data_positionsri   X   sþ   € å„I‡M‚M�)ÑÔÐà	×	Ò	Ñ	Ô	€BØ‡F‚F�%˜g€FÑ&Ô&Ð&ð
 „I„N×Ò Ñ,Ô,Ð,Ø„I„N× Ò  Ñ#Ô#Ð#Ø„I„O× Ò  Ñ.Ô.Ð.Ø‡N‚N˜ u¸€NÑ=Ô=Ð=à	×	Ò	Ñ	Ô	€BØ‡F‚F�%˜g€FÑ&Ô&Ð&Ø„I„O×!Ò! !Ñ$Ô$Ð$Ø‡N‚N˜ u°5À€NÑEÔEÐEÐEÐEr   zspines_capstyle.pngÚ_classic_testc                  ó²   — t          j        dd¬¦  «         t          j        ¦   «         \  } }|                     g ¦  «         |                     g ¦  «         d S )Nr=   é   )Ú	linewidth)r@   ÚrcrV   Ú
set_xticksÚ
set_yticksrY   s     r   Útest_spines_capstylerq   m   sR   € õ „Fˆ6˜RÐ Ñ Ô Ð ÝŒl‰nŒn�G€CˆØ‡M‚M�"ÑÔÐØ‡M‚M�"ÑÔÐÐÐr   c                  ó&  — t          j        ¦   «         \  } }t          j        dd¬¦  «         |                     t	          j        d¦  «        ¦  «         |j                             d¦  «         |j        j	         
                    d¦  «         |j        j                             d¦  «         |                     d¦  «         |j                             d¦  «         |j        j         
                    d¦  «         |j        j                             d¦  «         |                     d	¦  «         |j                             g ¦  «         |j                             g ¦  «         t          j        ¦   «          |j        j	        }|                     ¦   «                              |                     ¦   «         ¦  «                             ¦   «         }|j        j                             ¦   «         d
         |j        k     s
J d¦   «         ‚|j        j        }|                     ¦   «                              |                     ¦   «         ¦  «                             ¦   «         }|j        j                             ¦   «         d         |j        k     s
J d¦   «         ‚d S )Ng333333Ó?)r   r    é
   r   )Úoutwardé   Fzy labelr    zx labelr   z"Y-Axis label not left of the spiner<   z X-Axis label not below the spine)r@   rV   Úsubplots_adjustrH   rB   ÚarangerJ   rK   r5   r   rI   r   Úset_visibleÚ
set_ylabelrL   r    r   Ú
set_xlabelÚ	set_ticksÚdrawÚget_transformÚtransform_pathÚget_pathÚget_extentsÚlabelÚget_positionÚxminÚymin)rN   rO   r&   Ú	spinebboxs       r   Útest_label_without_ticksr†   v   s  € ÝŒl‰nŒn�G€CˆÝÔ˜S¨Ð-Ñ-Ô-Ð-Ø‡G‚G�BŒI�b‰MŒMÑÔÐØ„H×Ò Ñ'Ô'Ð'Ø„I„N×Ò Ñ0Ô0Ð0Ø„I„O×Ò Ñ&Ô&Ð&Ø‡M‚M�)ÑÔÐØ„H×Ò Ñ)Ô)Ð)Ø„IÔ×!Ò! /Ñ2Ô2Ð2Ø„I„M×Ò˜eÑ$Ô$Ð$Ø‡M‚M�)ÑÔÐØ„H×Ò�rÑÔÐØ„H×Ò�rÑÔÐÝ„H�J„J€JàŒIŒN€EØ×#Ò#Ñ%Ô%×4Ò4Ø�ŠÑÔñô ß%š+™-œ-ð àŒ8Œ>×&Ò&Ñ(Ô(¨Ô+¨i¬nÒ<Ð<Ð<Ø,ñ =Ô<Ð<ð ŒIÔ€EØ×#Ò#Ñ%Ô%×4Ò4Ø�ŠÑÔñô ß%š+™-œ-ð àŒ8Œ>×&Ò&Ñ(Ô(¨Ô+¨i¬nÒ<Ð<Ð<Ø*ñ =Ô<Ð<Ð<Ð<r   zblack_axes.pngc                  ój  — dt           j        d<   dt           j        d<   t          j        dd¬¦  «        } |                      d¦  «        }|                     g ¦  «         |                     g ¦  «         |                     g ¦  «         |                     g ¦  «         |                     d¦  «         d S )	Nr   zsavefig.pad_inchesÚtightzsavefig.bbox)é   r‰   )Úfigsize)r   r   r<   r<   )r   r   r   )	r@   ÚrcParamsrA   Úadd_axesÚset_xticklabelsÚset_yticklabelsro   rp   Úset_facecolorrY   s     r   Útest_spines_black_axesr�   “   s¨   € ð *+…C„LÐ%Ñ&Ø#*…C„L�Ñ Ý
Œ*�Q Ð
'Ñ
'Ô
'€CØ	�Š�lÑ	#Ô	#€BØ×Ò�rÑÔÐØ×Ò�rÑÔÐØ‡M‚M�"ÑÔÐØ‡M‚M�"ÑÔÐØ×Ò�YÑÔÐÐÐr   c                  óì   — t          j        ¦   «         } |                      d¬¦  «        }|j        d         }|                     d ¦  «         |j        d         j        �J ‚|                      ¦   «          d S )NÚpolar)Ú
projectionÚinner)r@   rA   rF   r5   Úregister_axisra   Údraw_without_rendering)rN   rO   Úinner_spines      r   Útest_arc_spine_inner_no_axisr˜   ¡   sp   € õ Œ*‰,Œ,€CØ	�Š GˆÑ	,Ô	,€BØ”)˜GÔ$€KØ×Ò˜dÑ#Ô#Ð#ØŒ9�WÔÔ"Ð*Ð*Ð*à×ÒÑ Ô Ð Ð Ð r   c                  ó†  — t          j        ¦   «         \  } }t          j        ddd¦  «        }t          j        |¦  «        }|                     ||¦  «         |j        j        }|j        j        }|j	        d          
                    dd¦  «         |j	        d          
                    dd¦  «         |j	        d                              ¦   «         }|d         €
J d	¦   «         ‚t          j        |d         d¦  «        s
J d
¦   «         ‚t          j        |d         |d         ¦  «        s
J d¦   «         ‚|j	        d                              ¦   «         }|d         �|d         €
J d¦   «         ‚t          j        |d         |d         ¦  «        s
J d¦   «         ‚t          j        |d         |d         ¦  «        s
J d¦   «         ‚dS )z?Test that set_bounds(None, ...) uses original axis view limits.r   rs   r;   r    r:   Nr   r<   zHigher bound should be numericz'Lower bound should match provided valuez'Upper bound should match original valuezleft bound should be numericz'Lower bound should match original value)r@   rV   rB   rC   rE   rH   ÚviewLimÚ	intervalxÚ	intervalyr5   Ú
set_boundsÚ
get_boundsÚisclose)rN   rO   r!   r"   r_   ÚylimÚbottom_boundÚ
left_bounds           r   Útest_spine_set_bounds_with_noner£   ­   s½  € åŒl‰nŒn�G€Cˆõ 	Œ�A�r˜3ÑÔ€AÝ
Œˆq‰	Œ	€AØ‡G‚GˆAˆq�M„M€MàŒ:Ô€DØŒ:Ô€Dà„IˆhÔ×"Ò" 1 dÑ+Ô+Ð+Ø„IˆfÔ× Ò   tÑ,Ô,Ð,ð ”9˜XÔ&×1Ò1Ñ3Ô3€LØ˜Œ?Ð&Ð&Ð(HÑ&Ô&Ð&ÝŒ:�l 1”o qÑ)Ô)ÐTÐTÐ+TÑTÔTÐ)ÝŒ:�l 1”oØ˜A”wñ ô  ð Kð KØ!JñKô Kð  ð ”˜6Ô"×-Ò-Ñ/Ô/€JØ�qŒMÐ%¨J°q¬MÐ,EÐ,EØ&ñ -FÔ,EÐFåŒ:�j ”m T¨!¤WÑ-Ô-ÐXÐXÐ/XÑXÔXÐ-ÝŒ:�j ”m T¨!¤WÑ-Ô-ÐXÐXÐ/XÑXÔXÐ-ÐXÐXr   )ÚnumpyrB   r/   Úmatplotlib.pyplotÚpyplotr@   Úmatplotlib.spinesr   Úmatplotlib.testing.decoratorsr   r   r6   rP   rZ   ri   rq   r†   r�   r˜   r£   r   r   r   ú<module>r©      s�  ðØ Ð Ð Ð Ø €€€à Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ Oð.ð .ð .ðb ÐÐ.Ð/°wÐ?Ñ?Ô?ð'ð 'ñ @Ô?ð'ð  ÐÐ.Ð/°wÐ?Ñ?Ô?ð	(ð 	(ñ @Ô?ð	(ð ÐÑÔðFð Fñ ÔðFð( ÐÐ(Ð)°ÐAÑAÔAðð ñ BÔAðð+ð +ð +ð: ÐÐ#Ð$¨OÐ<Ñ<Ô<ð
 ð 
 ñ =Ô<ð
 ð	!ð 	!ð 	!ðYð Yð Yð Yð Yr   