ó
    “’¤j¹<  ã                   óª  • S SK r S SKJr  S SKJrJrJrJrJ	r	J
r
Jr  S SKJr  S SKJrJrJrJrJrJr  S SKJrJr  S SKJr  S SKrS SKJr  S SKrS SKrS r \" 5       S 5       r!S	 r"\" S
/SSS9S 5       r#S r$S r%\" S/SSS9S 5       r&S r'S r(S r)\" S/SSSS9S 5       r*S r+\" S/SSS9S 5       r,S r-S r. " S  S!5      r/S" r0S# r1S$ r2S% r3S& r4g)'é    N)Ú
AsinhScaleÚAsinhTransformÚ	FuncScaleÚ
LogitScaleÚLogTransformÚInvertedLogTransformÚSymmetricalLogTransform)ÚAsinhLocatorÚAutoLocatorÚLogFormatterSciNotationÚNullFormatterÚNullLocatorÚScalarFormatter)Úcheck_figures_equalÚimage_comparison)ÚIdentityTransform)Úassert_allclosec                  óV  • S n [        U S S 45        [        U S S 4S9  [        U 5        [        U S5        [        U SS9  [        U SS	9  [        U 5        [        U S
S9  [        U SS9  [        U S
S/S9  [        U S S 4S9  [        U S9  [        U SS9  [        U SS9  [        U S9  [        U S
S9  [        U SS9  [        U S
S/S9  [        S S 45        [        S S 4S9  [        5         [        SS9  [        SS	9  [        5         [        S
S9  [        SS9  [        S
S/S9  g )Nc                 ó   • U $ ©N© ©Úxs    Ú©C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\matplotlib/tests/test_scale.pyÚ<lambda>Ú.test_optional_axis_signature.<locals>.<lambda>#   s   € ™qó    c                 ó   • U $ r   r   r   s    r   r   r   #   s   € ©Ar   c                 ó   • U $ r   r   r   s    r   r   r   $   s   € ©r   c                 ó   • U $ r   r   r   s    r   r   r   $   s   € ±ar   ©Ú	functionsÚclip©ÚnonpositiveT)Úuse_overlineé   )Úlinear_widthé   ©Úbaseé   ©Úsubsc                 ó   • U $ r   r   r   s    r   r   r   .   s   € ©ar   c                 ó   • U $ r   r   r   s    r   r   r   .   s   € ¹1r   )Úaxisr"   ©r1   )r1   r%   )r1   r&   ©r1   r(   ©r1   r+   )r1   r.   c                 ó   • U $ r   r   r   s    r   r   r   7   s   € ™r   c                 ó   • U $ r   r   r   s    r   r   r   7   s   € ¡ar   c                 ó   • U $ r   r   r   s    r   r   r   8   s   € ¡1r   c                 ó   • U $ r   r   r   s    r   r   r   8   s   € ±r   )r   r   r   r2   s    r   Útest_optional_axis_signaturer9      s  € ð €Dô ˆd‘[¡+Ð.Ô/Üˆd™{©KÐ8Ò9ÜˆtÔÜˆt�VÔÜˆt Ò(Üˆt $Ò'ÜˆtÔÜˆt !Ò$Üˆt˜!ÒÜˆt˜1˜a˜&Ò!ä�4¡K±Ð#=Ò>Ü�DÒÜ�D fÒ-Ü�D tÒ,Ü�DÒÜ�D qÒ)Ü�D˜qÒ!Ü�D  1˜vÒ&ä‰{™KÐ(Ô)Ü™¡kÐ2Ò3Ü„LÜ˜6Ò"Ü˜DÒ!Ü„LÜ˜AÒÜ�AÒÜ�Q˜�FÓr   c                 ó>  • U R                  SSSS9nUR                  S5        UR                  S5        UR                  5       nUR	                  5       nUR                  SSSS9nUR                  X4S9  UR                  SS/US5        UR                  USS/S5        g )Néz   ÚlogÚsymlog)ÚyscaleÚxscalegš™™™™8@)ÚxlimÚylimÚb)Úadd_subplotÚaxvlineÚaxhlineÚget_xlimÚget_ylimÚsetÚplot)Úfig_testÚfig_refÚax_testr@   rA   Úax_refs         r   Útest_log_scalesrN   B   sš   € à×"Ñ" 3¨u¸XÐ"ÐF€GØ‡O�O�DÔØ‡O�O�DÔØ×ÑÓ€DØ×ÑÓ€DØ× Ñ  ¨U¸8Ð ÐD€FØ
‡J�J�D€JÑ$Ø
‡K�K��t�˜d CÔ(Ø
‡K�K��t˜T�l CÕ(r   c                  ó,  • [        SSS5      n U R                  5       n[        R                  " SSS5      nUR	                  U R	                  U5      5      n[        X25        [        U5      [        U5      L d   e[        R                  US'   UR	                  U R	                  U5      5      n[        X25        [        U5      [        U5      L d   e[        R                  R                  U5      nUR	                  U R	                  U5      5      n[        X25        [        U5      [        U5      L d   e[        R                  R                  US'   UR	                  U R	                  U5      5      n[        X25        [        U5      [        U5      L d   eg )	Né
   r'   é   g      ø¿é   ç      à?é   r)   )r	   ÚinvertedÚnpÚarangeÚtransform_non_affiner   ÚtypeÚnanÚmaÚarrayÚmasked)ÚsltÚsltir   Úouts       r   Útest_symlog_mask_nanra   O   sB  € ô " " a¨Ó
+€CØ�<‰<‹>€Dä
�	Š	�$˜˜3Ó€AØ
×
#Ñ
# C×$<Ñ$<¸QÓ$?Ó
@€CÜ�CÔÜ�‹9œ˜Q›ÒÐÐä�6‰6€A€a�DØ
×
#Ñ
# C×$<Ñ$<¸QÓ$?Ó
@€CÜ�CÔÜ�‹9œ˜Q›ÒÐÐä
�‰�‰�A‹€AØ
×
#Ñ
# C×$<Ñ$<¸QÓ$?Ó
@€CÜ�CÔÜ�‹9œ˜Q›ÒÐÐä�5‰5�<‰<€A€a�DØ
×
#Ñ
# C×$<Ñ$<¸QÓ$?Ó
@€CÜ�CÔÜ�‹9œ˜Q›ÒÐÑr   zlogit_scales.pngTÚ_classic_test)Úremove_textÚstylec                  óÀ  • [         R                  " 5       u  p[        R                  " / SQ5      nSU-  nUR	                  X#5        UR                  S5        UR                  S5        UR                  U R                  R                  5       5      n[        R                  " UR                  5      (       d   e[        R                  " UR                  5      (       d   eg )N)gü©ñÒMbP?gú~j¼t“h?ç{®Gáz„?g¸…ëQ¸ž?gš™™™™™¹?çš™™™™™É?g333333Ó?gš™™™™™Ù?rS   g333333ã?gffffffæ?gš™™™™™é?gÍÌÌÌÌÌì?g
×£p=
ï?g®Gáz®ï?g�•C‹lçï?g+‡ÙÎ÷ï?ç      ð?ÚlogitT)ÚpltÚsubplotsrV   r\   rI   Ú
set_xscaleÚgridÚget_tightbboxÚcanvasÚget_rendererÚisfiniteÚx0Úy0)ÚfigÚaxr   ÚyÚbboxs        r   Útest_logit_scalesrx   j   s    € ä�lŠl‹n�G€Cô 	�Šò @ó 	A€Aàˆa‰€Aà‡G�GˆA„MØ‡M�M�'ÔØ‡G�GˆD„MØ×Ñ˜CŸJ™J×3Ñ3Ó5Ó6€DÜ�;Š;�t—w‘w×ÑÐÐÜ�;Š;�t—w‘w×ÑÐÑr   c                  ó’  • [         R                  " S5      u  p[        R                  " S5      n[        R                  " S5      S-
  nUR	                  X#5        [
        R                  " 5       nU R                  USS9  [
        R                  " 5       nU R                  USS9  [
        R                  " 5       nU R                  USS9  g)zIssue #1799rQ   rP   Úpdf)ÚformatÚepsÚsvgN)rj   rk   rV   rW   ÚscatterÚioÚBytesIOÚsavefig)rt   ru   r   rv   Úbufs        r   Útest_log_scatterrƒ   {   s�   € ä�lŠl˜1‹o�G€Cä
�	Š	�"‹€AÜ
�	Š	�"‹˜Ñ€Aà‡J�JˆqÔä
�*Š*‹,€CØ‡K�K�˜E€KÑ"ä
�*Š*‹,€CØ‡K�K�˜E€KÑ"ä
�*Š*‹,€CØ‡K�K�˜E€KÒ"r   c                  ó²   • [         R                  " 5       u  pUR                  S[        R                  " / SQ5      S9  U R
                  R                  5         g )Nr<   )r'   r)   rT   r-   )rj   rk   Ú
set_yscalerV   r\   ro   Údraw©rt   ru   s     r   Útest_logscale_subsrˆ   Ž   s6   € Ü�lŠl‹n�G€CØ‡M�M�%œbŸhšh¢yÓ1€MÑ2à‡J�J‡O�OÕr   zlogscale_mask.pngc            	      ó:  • [         R                  " SSS5      n [        R                  " 5       u  pUR	                  [         R
                  " U S-  * 5      5        UR                  R                  5         UR                  SS[         R                  " SSS5      -  S	9  g )
Nr   é2   ié  r'   r<   ç      $@iÔþÿÿé   )r>   Úyticks)
rV   Úlinspacerj   rk   rI   Úexpro   r†   rH   rW   )Úxsrt   ru   s      r   Útest_logscale_maskr‘   •   ss   € ô 
�Š�Q˜˜DÓ	!€Bä�lŠl‹n�G€CØ‡G�GŒB�FŠF�B˜‘E�6‹NÔØ‡J�J‡O�OÔØ‡F�F�%Ø”r—y’y  q¨"Ó-Ñ-ð ò /r   c                  óÎ   • [         R                  " 5       u  pS H6  n[        R                  " [        5         UR                  USS9  S S S 5        M8     g ! , (       d  f       MJ  = f)N)Úlinearr<   r=   Úmask)Úfoo)rj   rk   ÚpytestÚraisesÚ	TypeErrorr…   ©rt   ru   Úscales      r   Útest_extra_kwargs_raiser›   ¢   sD   € Ü�lŠl‹n�G€Cã,ˆÜ�]Š]œ9Õ%Ø�M‰M˜% VˆMÑ,÷ &Ñ%ò -ß%Ö%ús   ·AÁ
A$	c                  ó>  • [         R                  " 5       u  pUR                  S5        UR                  UR                  R                  5       -   R                  5       n[        SS9R                  5       n[        U[        5      (       d   eUR                  S:X  d   eg )Nr<   r'   r*   )
rj   rk   r…   Ú	transAxesÚ	transDatarU   r   Ú
isinstancer   r+   )rt   ru   ÚtformÚinverted_transforms       r   Útest_logscale_invert_transformr¢   ª   s~   € Ü�lŠl‹n�G€CØ‡M�M�%Ôà�\‰\˜BŸL™L×1Ñ1Ó3Ñ3×=Ñ=Ó?€Eô &¨1Ñ-×6Ñ6Ó8ÐÜÐ(Ô*>×?Ñ?Ð?Ð?Ø×"Ñ" aÓ'Ð'Ñ'r   c                  ó¤   • [         R                  " 5       u  pUR                  S5        [        UR                  5        [        [        SSS95        g )Nr<   rP   r#   r$   )rj   rk   r…   Úreprrž   r   r‡   s     r   Útest_logscale_transform_reprr¥   ¶   s6   € Ü�lŠl‹n�G€CØ‡M�M�%ÔÜˆ�‰ÔÜŒ�b fÑ	-Õ.r   zlogscale_nonpos_values.pngg{®Gáz”?Úmpl20)rc   Útolrd   c                  óD  • [         R                  R                  S5        [         R                  R                  [	        S5      S9n [
        R                  " SS5      u  nu  u  p#u  pEUR                  U SSS9  UR                  S5        UR                  U SSS9  UR                  SS	S
9  [         R                  " SSS5      n[         R                  " U* 5      nSSU-
  -  [         R                  " SU-  5      -  [         R                  " U* 5      -  nUR                  XgU-
  Xx-   5        UR                  S5        [         R                  " SS5      n	U	S-  n
U	S-  nUR                  XšUS9  UR                  S5        UR                  S5        UR!                  / SQ5        g )Ni!N,g     @�@)Úsizer'   )éûÿÿÿrR   rP   )ÚrangeÚbinsr<   r”   r$   r   rf   rg   rR   éÿÿÿÿrQ   r)   )Úyerr)rf   rQ   g      Y@)rV   ÚrandomÚseedÚnormalÚintrj   rk   Úhistr…   rW   r�   ÚcosÚfill_betweenÚlogspaceÚerrorbarrl   Ú
set_yticks)r�   rt   Úax1Úax2Úax3Úax4ÚxdataÚydataÚedatar   rv   r®   s               r   Útest_logscale_nonpos_valuesrÀ   ½   sS  € ô ‡I�I‡N�N�8ÔÜ	�‰×	Ñ	œs 3›xÐ	Ð	(€BÜ$'§L¢L°°AÓ$6Ñ!€CÑ	!‰*ˆ3‘j�sØ‡H�HˆR�w R€HÑ(Ø‡N�N�5ÔØ‡H�HˆR�w R€HÑ(Ø‡N�N�5 f€NÑ-ä�IŠI�a˜˜TÓ"€EÜ�FŠF�E�6‹N€EØ��E‘‰Nœ2Ÿ6š6 ! E¡'›?Ñ*¬2¯6ª6°5°&«>Ñ9€Eà×Ñ�U E™M¨5©=Ô9Ø‡N�N�5Ôä
�Š�B˜Ó€AØ	ˆQ‰€AØˆa‰4€DØ‡L�L�˜D€LÑ!à‡N�N�5ÔØ‡N�N�5ÔØ‡N�N’?Õ#r   c                  óÌ  • [         R                  " 5       u  pUR                  [        SS5      [        SS5      5        UR	                  S5        UR                  5       n[        R                  " [        5         UR                  SS9  S S S 5        UR                  5       U:X  d   e[        R                  " [        5         UR                  SS9  S S S 5        UR                  5       U:X  d   eUR                  S5        UR                  5       n[        R                  " [        5         UR                  SS9  S S S 5        UR                  5       U:X  d   e[        R                  " [        5         UR                  SS9  S S S 5        UR                  5       U:X  d   eg ! , (       d  f       GN= f! , (       d  f       Nè= f! , (       d  f       N�= f! , (       d  f       NY= f)	Nr   rT   r<   )Úleftr­   )Úright)Úbottom)Útop)rj   rk   r~   r«   rl   rF   r–   ÚwarnsÚUserWarningÚset_xlimr…   rG   Úset_ylim)rt   ru   Úoriginal_xlimÚoriginal_ylims       r   Útest_invalid_log_limsrÌ   Ù   sG  € ä�lŠl‹n�G€CØ‡J�JŒu�Q˜‹{œE ! Q›KÔ(à‡M�M�%ÔØ—K‘K“M€MÜ	�Š”kÕ	"Ø
�‰˜ˆÑ÷ 
#à�;‰;‹=˜MÓ)Ð)Ð)Ü	�Š”kÕ	"Ø
�‰˜"ˆÑ÷ 
#à�;‰;‹=˜MÓ)Ð)Ð)à‡M�M�%ÔØ—K‘K“M€MÜ	�Š”kÕ	"Ø
�‰˜1ˆÑ÷ 
#à�;‰;‹=˜MÓ)Ð)Ð)Ü	�Š”kÕ	"Ø
�‰˜ˆÑ÷ 
#à�;‰;‹=˜MÓ)Ð)Ñ)÷ 
#Ö	"ú÷ 
#Õ	"ú÷ 
#Õ	"ú÷ 
#Õ	"ús0   Á9F!ÃF3Ä*GÅ2GÆ!
F0Æ3
GÇ
GÇ
G#zfunction_scales.pngc                  óÔ   • S n S n[         R                  " 5       u  p#[        R                  " SS5      nUR	                  XD5        UR                  SX4S9  UR                  SS5        g )Nc                 ó   • U S-  $ )Nr'   r   r   s    r   ÚinverseÚ$test_function_scale.<locals>.inverseó   s   € Ø�!‰tˆr   c                 ó   • U S-  $ )NrS   r   r   s    r   ÚforwardÚ$test_function_scale.<locals>.forwardö   s   € Ø�3‰xˆr   rQ   iè  Úfunctionr!   )rj   rk   rV   rW   rI   rl   rÈ   )rÏ   rÒ   rt   ru   r   s        r   Útest_function_scalerÕ   ñ   sW   € òòô �lŠl‹n�G€Cä
�	Š	�!�TÓ€Aà‡G�GˆA„MØ‡M�M�*¨Ð(:€MÑ;Ø‡K�K��4Õr   c                  óF  • [         R                  " 5       u  p[        R                  " S S9nUR	                  U5        [        R                  " S S9nUR                  U5        UR                  R                  5       S:X  d   eUR                  R                  5       S:X  d   eg )Nr2   r<   )	rj   rk   ÚmscaleÚLogScalerl   r…   ÚxaxisÚ	get_scaleÚyaxisr™   s      r   Útest_pass_scalerÜ     sy   € ä�lŠl‹n�G€CÜ�OŠO Ñ&€EØ‡M�M�%ÔÜ�OŠO Ñ&€EØ‡M�M�%ÔØ�8‰8×ÑÓ 5Ó(Ð(Ð(Ø�8‰8×ÑÓ 5Ó(Ð(Ñ(r   c                  óü   • [         R                  " SSS9n [        R                  " U 5      n[	        U R                  5       5      [	        UR                  5       5      :X  d   eU R                  UR                  Ld   eg )Nr   rP   r4   )r×   rØ   ÚcopyÚdeepcopyÚstrÚget_transformÚ
_transform)ÚscÚsc2s     r   Útest_scale_deepcopyrå     s`   € Ü	�Š˜c¨Ñ	+€BÜ
�-Š-˜Ó
€CÜˆr×ÑÓ!Ó"¤c¨#×*;Ñ*;Ó*=Ó&>Ó>Ð>Ð>Ø�=‰= §¡Ò.Ð.Ñ.r   c                   ó2   • \ rS rSrS rS rS rS rS rSr	g)	ÚTestAsinhScalei  c                 óR  • Sn[         R                  " SSS5      n[        U5      nUR                  5       nUR                  5       nUR	                  U5      nUR	                  U5      n[        Xr5        UR	                  U5      n[        X�[         R                  " X!-  5      -  5        g )Ng      1@iÎÿÿÿrŠ   éd   )rV   rŽ   r   rU   rX   r   Úarcsinh)	ÚselfÚa0ÚarÒ   rÏ   ÚinvinvÚ	a_forwardÚ
a_invertedÚa_invinvs	            r   Útest_transformsÚTestAsinhScale.test_transforms  s�   € ØˆÜ�KŠK˜˜R Ó%ˆä  Ó$ˆØ×"Ñ"Ó$ˆØ×!Ñ!Ó#ˆà×0Ñ0°Ó3ˆ	Ø×1Ñ1°)Ó<ˆ
Ü˜
Ô&à×.Ñ.¨qÓ1ˆÜ˜¤r§z¢z°!±&Ó'9Ñ"9Õ:r   c                 ó8  • [         R                  " 5       u  p[        S SS9nUR                  S:X  d   eUR                  S:X  d   eUR
                  S:X  d   eUR                  5       n[        U[        5      (       d   eUR                  UR                  :X  d   eg )Ng      7@r3   é   rP   )r'   rR   )	rj   rk   r   r(   Ú_baseÚ_subsrá   rŸ   r   )rë   rt   ru   ÚsÚtxs        r   Ú	test_initÚTestAsinhScale.test_init$  s„   € Ü—,’,“.‰ˆä˜D¨tÑ4ˆØ�~‰~ Ó#Ð#Ð#Ø�w‰w˜"‹}Ðˆ}Ø�w‰w˜&Ó Ð Ð à�_‰_ÓˆÜ˜"œn×-Ñ-Ð-Ð-Ø�‰ !§.¡.Ó0Ð0Ñ0r   c                 óì   • [         R                  " 5       u  p[        S SS9nUR                  S:X  d   eUR                  S:X  d   e[        S SSS9nUR                  S:X  d   eUR                  S:X  d   eg )Nr)   r4   )r'   é   )r'   rT   )r1   r+   r.   )rj   rk   r   rö   r÷   )rë   rt   ru   Ús3Ús7s        r   Útest_base_initÚTestAsinhScale.test_base_init0  sm   € Ü—,’,“.‰ˆä˜T¨Ñ*ˆØ�x‰x˜1‹}Ðˆ}Ø�x‰x˜4ÓÐÐä˜T¨°Ñ7ˆØ�x‰x˜1‹}Ðˆ}Ø�x‰x˜6Ó!Ð!Ñ!r   c                 óÀ  •  " S S5      nU" 5       n[        USS9nUR                  U5        [        UR                  S   [        5      (       d   e[        UR                  S   [
        5      (       d   eU" 5       n[        USS9nUR                  U5        [        UR                  S   [        5      (       d   e[        UR                  S   [        5      (       d   eg )Nc                   ó&   • \ rS rSrS rS rS rSrg)Ú-TestAsinhScale.test_fmtloc.<locals>.DummyAxisi<  c                 ó   • 0 U l         g r   ©Úfields©rë   s    r   Ú__init__Ú6TestAsinhScale.test_fmtloc.<locals>.DummyAxis.__init__=  s	   € Ø �•r   c                 ó<   • U R                   R                  " S0 UD6  g )Nr   )r  Úupdate)rë   Úkwargss     r   rH   Ú1TestAsinhScale.test_fmtloc.<locals>.DummyAxis.set?  s   € Ø—‘×"Ò"Ñ, VÓ,r   c                 ó    • XR                   S'   g )NÚmajor_formatterr  )rë   Úfs     r   Úset_major_formatterÚATestAsinhScale.test_fmtloc.<locals>.DummyAxis.set_major_formatterA  s   € Ø12—‘Ð-Ò.r   r  N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r	  rH   r  Ú__static_attributes__r   r   r   Ú	DummyAxisr  <  s   † ò!ò-õ3r   r  r   r4   Úmajor_locatorr  rR   )r   Ú#set_default_locators_and_formattersrŸ   r  r
   rà   r   )rë   r  Úax0Ús0Úax5rÿ   s         r   Útest_fmtlocÚTestAsinhScale.test_fmtloc;  sË   € ÷	3ñ 	3ñ ‹kˆÜ˜S qÑ)ˆØ
×.Ñ.¨sÔ3Ü˜#Ÿ*™* _Ñ5´|×DÑDÐDÐDÜ˜#Ÿ*™*Ð%6Ñ7¼×=Ñ=Ð=Ð=á‹kˆÜ˜S qÑ)ˆØ
×.Ñ.¨sÔ3Ü˜#Ÿ*™* _Ñ5´|×DÑDÐDÐDÜ˜#Ÿ*™*Ð%6Ñ7Ü1÷3ñ 3ð 	3ñ 3r   c                 óP  • [         R                  " 5       u  p[        R                  " [        5         [        S SS9  S S S 5        [        R                  " [        5         [        S SS9  S S S 5        [        S S9n[        S SS9ng ! , (       d  f       NO= f! , (       d  f       N3= f)Nr   r3   r­   r2   g      @)rj   rk   r–   r—   Ú
ValueErrorr   )rë   rt   ru   r  Ús1s        r   Útest_bad_scaleÚTestAsinhScale.test_bad_scaleQ  sk   € Ü—,’,“.‰ˆä�]Š]œ:Õ&Ü˜D¨qÒ1÷ 'ä�]Š]œ:Õ&Ü˜D¨rÒ2÷ 'ä˜TÑ$ˆÜ˜T°Ñ4‰÷ 'Õ&úç&Õ&ús   ²BÁBÂ
BÂ
B%r   N)
r  r  r  r  rò   rú   r   r  r$  r  r   r   r   rç   rç     s   † ò;ò
1ò	"ò3õ,5r   rç   c                  óÄ  ^•  " S S[         5      m " U4S jS[        R                  5      n  [        R                  " U 5        [        R
                  " 5       u  pUR                  S5        [        UR                  R                  5       T5      (       d   e [        R                  S	 [        R                  S	 g! [        R                  S	 [        R                  S	 f = f)zS
Test that one can register and use custom scales that don't take an *axis* param.
c                   ó   • \ rS rSrSrg)Ú7test_custom_scale_without_axis.<locals>.CustomTransformi`  r   N©r  r  r  r  r  r   r   r   ÚCustomTransformr(  `  ó   † Úr   r*  c                   ó2   >• \ rS rSrSrU 4S jrS rS rSrg)Ú3test_custom_scale_without_axis.<locals>.CustomScaleic  Úcustomc                 ó   >• T" 5       U l         g r   ©râ   )rë   r*  s    €r   r	  Ú<test_custom_scale_without_axis.<locals>.CustomScale.__init__g  ó   ø€ Ù-Ó/ˆD�Or   c                 ó   • U R                   $ r   r0  r  s    r   rá   ÚAtest_custom_scale_without_axis.<locals>.CustomScale.get_transformj  ó   € Ø—?‘?Ð"r   c                 óÌ   • UR                  [        5       5        UR                  [        5       5        UR	                  [        5       5        UR                  [        5       5        g r   ©Úset_major_locatorr   r  r   Úset_minor_locatorr   Úset_minor_formatterr   ©rë   r1   s     r   r  ÚWtest_custom_scale_without_axis.<locals>.CustomScale.set_default_locators_and_formattersm  óC   € Ø×"Ñ"¤;£=Ô1Ø×$Ñ$¤_Ó%6Ô7Ø×"Ñ"¤;£=Ô1Ø×$Ñ$¤]£_Õ5r   r0  N©	r  r  r  r  Únamer	  rá   r  r  ©r*  s   €r   ÚCustomScaler-  c  ó   ø† Øˆõ	0ò	#õ	6r   rA  r.  N)r   r×   Ú	ScaleBaseÚregister_scalerj   rk   rl   rŸ   rÙ   rá   Ú_scale_mappingÚ_scale_has_axis_parameter©rA  rt   ru   r*  s      @r   Útest_custom_scale_without_axisrH  \  s¬   ø€ ôÔ+ô ÷6”f×&Ñ&ô 6ð 7Ü×Ò˜kÔ*Ü—,’,“.‰ˆØ
�‰�hÔÜ˜"Ÿ(™(×0Ñ0Ó2°O×DÑDÐDÑDô ×!Ñ! (Ð+Ü×,Ñ,¨XÑ6øô ×!Ñ! (Ð+Ü×,Ñ,¨XÑ6ús   ®A)B; Â;$Cc                  ó*  ^•  " S S[         5      m " U4S jS[        R                  5      n  [        R                  " [
        SS9   [        R                  " U 5        SSS5        [        R                  " 5       u  pUR                  S5        [        UR                  R                  5       T5      (       d   e [        R                  S	 [        R                  S	 g! , (       d  f       N…= f! [        R                  S	 [        R                  S	 f = f)	z�
Test that one can still register and use custom scales with an *axis*
parameter, but that registering issues a pending-deprecation warning.
c                   ó   • \ rS rSrSrg)Ú4test_custom_scale_with_axis.<locals>.CustomTransformiƒ  r   Nr)  r   r   r   r*  rK  ƒ  r+  r   r*  c                   ó2   >• \ rS rSrSrU 4S jrS rS rSrg)Ú0test_custom_scale_with_axis.<locals>.CustomScalei†  r.  c                 ó   >• T" 5       U l         g r   r0  )rë   r1   r*  s     €r   r	  Ú9test_custom_scale_with_axis.<locals>.CustomScale.__init__Š  r2  r   c                 ó   • U R                   $ r   r0  r  s    r   rá   Ú>test_custom_scale_with_axis.<locals>.CustomScale.get_transform�  r5  r   c                 óÌ   • UR                  [        5       5        UR                  [        5       5        UR	                  [        5       5        UR                  [        5       5        g r   r7  r;  s     r   r  ÚTtest_custom_scale_with_axis.<locals>.CustomScale.set_default_locators_and_formatters�  r=  r   r0  Nr>  r@  s   €r   rA  rM  †  rB  r   rA  z)'axis' parameter .* is pending-deprecated)ÚmatchNr.  )r   r×   rC  r–   rÆ   ÚPendingDeprecationWarningrD  rj   rk   rl   rŸ   rÙ   rá   rE  rF  rG  s      @r   Útest_custom_scale_with_axisrV  ~  sÕ   ø€ ô
Ô+ô ÷6”f×&Ñ&ô 6ð 7Ü�\Š\Ü)ØBóDô ×!Ò! +Ô.÷Dô —,’,“.‰ˆØ
�‰�hÔÜ˜"Ÿ(™(×0Ñ0Ó2°O×DÑDÐDÑDô ×!Ñ! (Ð+Ü×,Ñ,¨XÑ6÷Dõ Dûô ×!Ñ! (Ð+Ü×,Ñ,¨XÑ6ús$   ®C. ÁCÁAC. Ã
C+Ã'C. Ã.$Dc                  óà  • SSSS[         R                  S4S[         R                  S4SSSS	S
[         R                  S4S
[         R                  S4SSSSSS[         R                  S4S[         R                  S4SSSS[         R                  S4S[         R                  S4/n U  HG  u  pn[        R                  U   nU" S S9nUR                  U5      nXcL a  M6   SU SU SU SU 35       e   g )N)r“   r‹   T)r“   ç      $ÀT)r“   ç        Tr“   F)r<   rh   T)r<   gYóøÂn¥T)r<   rY  F)r<   ç      ð¿Fr<   )ri   rS   T)ri   rY  F)ri   rh   F)ri   gš™™™™™¹¿F)ri   gš™™™™™ñ?Fri   )r=   r‹   T)r=   rX  T)r=   rY  Tr=   r2   zFailed z.val_in_range(z).Expected z, got )rV   ÚinfrZ   r×   rE  Úval_in_range)Ú
test_casesr?  ÚvalÚexpectedÚ	scale_clsrø   Úresults          r   Útest_val_in_rangerb  ¤  s  € ð 	ØØØ	”2—6‘6˜5Ð!Ø	”2—6‘6˜5Ð!ð 	ØØØØ	”—‘˜ÐØ	”—‘˜Ðð 	ØØØØØ	”"—&‘&˜%Ð Ø	”"—&‘&˜%Ð ð 	ØØØ	”2—6‘6˜5Ð!Ø	”2—6‘6˜5Ð!ð? €JóD  *Ñˆ�8Ü×)Ñ)¨$Ñ/ˆ	Ù˜4Ñ ˆà—‘ Ó$ˆØÔ!ð 	
Ø�d�V˜>¨#¨ð /Ø �z ¨ xð1ó	
Ð!ò  *r   c                  ó^  • [         R                  " S S9n U R                  S5      SL d   eU R                  S5      SL d   eU R                  [        R                  5      SL d   eU R                  [        R
                  5      SL d   eU R                  [        R
                  * 5      SL d   eg )Nr2   rh   Tg      ÀF)r×   rC  r\  rV   rZ   r[  )rø   s    r   Útest_val_in_range_base_fallbackrd  Ó  s™   € ô 	×Ò˜dÑ#€Að �>‰>˜#Ó $Ò&Ð&Ð&Ø�>‰>˜$Ó 4Ò'Ð'Ð'ð �>‰>œ"Ÿ&™&Ó! UÒ*Ð*Ð*Ø�>‰>œ"Ÿ&™&Ó! UÒ*Ð*Ð*Ø�>‰>œ2Ÿ6™6˜'Ó" eÒ+Ð+Ñ+r   c                  ó>  • [         R                  " SSS[         R                  [         R                  S/5      n / SQ/ SQ/ SQ/ SQ/ SQS.nUR	                  5        HK  u  p#[
        R                  U   " S S9n[         R                  R                  UR                  U 5      U5        MM     [
        R                  S	   " S S9R                  [         R                  " S
S/S[         R                  //5      5      n[         R                  R                  USS/SS//5        g )NrS   rZ  rY  g      Ð?)TTTFFT)TFFFFT)r“   r<   r=   Úasinhri   r2   r<   rh   TF)
rV   r\   rZ   r[  Úitemsr×   rE  ÚtestingÚassert_array_equalr\  )ÚarrÚcasesr?  r_  rø   r`   s         r   Útest_val_in_range_arrayrl  â  sá   € ä
�(Š(�C˜˜s¤B§F¡F¬B¯F©F°DÐ9Ó
:€Câ8Ú:Ú8Ú8Ú:ñ€Eð  Ÿ+™+ž-‰ˆÜ×!Ñ! $Ò'¨TÑ2ˆÜ
�
‰
×%Ñ% a§n¡n°SÓ&9¸8ÖDñ (ô
 ×
Ñ
 Ò
&¨DÑ
1×
>Ñ
>Ü
�Š�3˜�+ ¤R§V¡V˜}Ð-Ó.ó0€Cä‡J�J×!Ñ! #¨¨u¨¸¸e°}Ð'EÕFr   )5rÞ   Úmatplotlib.pyplotÚpyplotrj   Úmatplotlib.scaler   r   r   r   r   r   r	   rš   r×   Úmatplotlib.tickerr
   r   r   r   r   r   Úmatplotlib.testing.decoratorsr   r   Úmatplotlib.transformsr   ÚnumpyrV   Únumpy.testingr   r   r–   r9   rN   ra   rx   rƒ   rˆ   r‘   r›   r¢   r¥   rÀ   rÌ   rÕ   rÜ   rå   rç   rH  rV  rb  rd  rl  r   r   r   Ú<module>ru     s>  ðÛ å ÷÷ ñ õ
 "÷÷ ÷ PÝ 3ã Ý )Û 	Û ò(ñV Óñ	)ó ð	)ò ñ6 Ð%Ð&°DÀÑPñ ó Qð ò #ò&ñ Ð&Ð'°TÀÑQñ	/ó Rð	/ò-ò	(ò/ñ Ð/Ð0Ø"¨°Gñ=ñ$ó=ð$ò4*ñ0 Ð(Ð)°tÀ7ÑKñó Lðò )ò/÷E5ñ E5òP7òD#7òL,
ò^,óGr   