§
    ‚Øj¹<  ã                   ó  — d dl Z d dlmZ d dlmZmZmZmZm	Z	m
Z
mZ d dlmZ d dlmZmZmZmZmZmZ d dlmZmZ d dlmZ d dlZd dlmZ d dlZd dlZd„ Z  e¦   «         d„ ¦   «         Z!d	„ Z" ed
gdd¬¦  «        d„ ¦   «         Z#d„ Z$d„ Z% edgdd¬¦  «        d„ ¦   «         Z&d„ Z'd„ Z(d„ Z) edgddd¬¦  «        d„ ¦   «         Z*d„ Z+ edgdd¬¦  «        d„ ¦   «         Z,d„ Z-d„ Z. G d „ d!¦  «        Z/d"„ Z0d#„ Z1d$„ Z2d%„ Z3d&„ Z4dS )'é    N)Ú
AsinhScaleÚAsinhTransformÚ	FuncScaleÚ
LogitScaleÚLogTransformÚInvertedLogTransformÚSymmetricalLogTransform)ÚAsinhLocatorÚAutoLocatorÚLogFormatterSciNotationÚNullFormatterÚNullLocatorÚScalarFormatter)Úcheck_figures_equalÚimage_comparison)ÚIdentityTransform)Úassert_allclosec                  ó¨  — d } t          | d„ d„ f¦  «         t          | d„ d„ f¬¦  «         t          | ¦  «         t          | d¦  «         t          | d¬¦  «         t          | d¬	¦  «         t          | ¦  «         t          | d
¬¦  «         t          | d¬¦  «         t          | d
dg¬¦  «         t          | d„ d„ f¬¦  «         t          | ¬¦  «         t          | d¬¦  «         t          | d¬¦  «         t          | ¬¦  «         t          | d
¬¦  «         t          | d¬¦  «         t          | d
dg¬¦  «         t          d„ d„ f¦  «         t          d„ d„ f¬¦  «         t          ¦   «          t          d¬¦  «         t          d¬	¦  «         t          ¦   «          t          d
¬¦  «         t          d¬¦  «         t          d
dg¬¦  «         d S )Nc                 ó   — | S ©N© ©Úxs    ú�/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/matplotlib/tests/test_scale.pyú<lambda>z.test_optional_axis_signature.<locals>.<lambda>#   s   € ˜q€ ó    c                 ó   — | S r   r   r   s    r   r   z.test_optional_axis_signature.<locals>.<lambda>#   s   € ¨A€ r   c                 ó   — | S r   r   r   s    r   r   z.test_optional_axis_signature.<locals>.<lambda>$   s   € ¨€ r   c                 ó   — | S r   r   r   s    r   r   z.test_optional_axis_signature.<locals>.<lambda>$   s   € °a€ r   ©Ú	functionsÚclip©ÚnonpositiveT)Úuse_overlineé   )Úlinear_widthé   ©Úbaseé   ©Úsubsc                 ó   — | S r   r   r   s    r   r   z.test_optional_axis_signature.<locals>.<lambda>.   s   € ¨a€ r   c                 ó   — | S r   r   r   s    r   r   z.test_optional_axis_signature.<locals>.<lambda>.   s   € ¸1€ r   )Úaxisr!   ©r0   )r0   r$   )r0   r%   ©r0   r'   ©r0   r*   )r0   r-   c                 ó   — | S r   r   r   s    r   r   z.test_optional_axis_signature.<locals>.<lambda>7   s   € ˜€ r   c                 ó   — | S r   r   r   s    r   r   z.test_optional_axis_signature.<locals>.<lambda>7   s   €  a€ r   c                 ó   — | S r   r   r   s    r   r   z.test_optional_axis_signature.<locals>.<lambda>8   s   €  1€ r   c                 ó   — | S r   r   r   s    r   r   z.test_optional_axis_signature.<locals>.<lambda>8   s   € °€ r   )r   r   r   r1   s    r   Útest_optional_axis_signaturer8      s  € ð €Dõ ˆd�[�[ + +Ð.Ñ/Ô/Ð/Ýˆd˜{˜{¨K¨KÐ8Ð9Ñ9Ô9Ð9ÝˆtÑÔÐÝˆt�VÑÔÐÝˆt Ð(Ñ(Ô(Ð(Ýˆt $Ð'Ñ'Ô'Ð'ÝˆtÑÔÐÝˆt !Ð$Ñ$Ô$Ð$Ýˆt˜!ÐÑÔÐÝˆt˜1˜a˜&Ð!Ñ!Ô!Ð!å�4 K K°°Ð#=Ð>Ñ>Ô>Ð>Ý�DÐÑÔÐÝ�D fÐ-Ñ-Ô-Ð-Ý�D tÐ,Ñ,Ô,Ð,Ý�DÐÑÔÐÝ�D qÐ)Ñ)Ô)Ð)Ý�D˜qÐ!Ñ!Ô!Ð!Ý�D  1˜vÐ&Ñ&Ô&Ð&åˆ{ˆ{˜K˜KÐ(Ñ)Ô)Ð)Ý˜˜ k kÐ2Ð3Ñ3Ô3Ð3Ý�L„L€LÝ˜6Ð"Ñ"Ô"Ð"Ý˜DÐ!Ñ!Ô!Ð!Ý�L„L€LÝ˜AÐÑÔÐÝ�AÐÑÔÐÝ�Q˜�FÐÑÔÐÐÐr   c                 óœ  — |                       ddd¬¦  «        }|                     d¦  «         |                     d¦  «         |                     ¦   «         }|                     ¦   «         }|                      ddd¬¦  «        }|                     ||¬¦  «         |                     ddg|d¦  «         |                     |ddgd¦  «         d S )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?   r@   Úax_refs         r   Útest_log_scalesrM   B   sÌ   € à×"Ò" 3¨u¸XÐ"ÑFÔF€GØ‡O‚O�DÑÔÐØ‡O‚O�DÑÔÐØ×ÒÑÔ€DØ×ÒÑÔ€DØ× Ò  ¨U¸8Ð ÑDÔD€FØ
‡J‚J�D˜t€JÑ$Ô$Ð$Ø
‡K‚K��t�˜d CÑ(Ô(Ð(Ø
‡K‚K��t˜T�l CÑ(Ô(Ð(Ð(Ð(r   c                  óÀ  — t          ddd¦  «        } |                      ¦   «         }t          j        ddd¦  «        }|                     |                      |¦  «        ¦  «        }t          ||¦  «         t          |¦  «        t          |¦  «        u sJ ‚t          j        |d<   |                     |                      |¦  «        ¦  «        }t          ||¦  «         t          |¦  «        t          |¦  «        u sJ ‚t          j         	                    |¦  «        }|                     |                      |¦  «        ¦  «        }t          ||¦  «         t          |¦  «        t          |¦  «        u sJ ‚t          j        j
        |d<   |                     |                      |¦  «        ¦  «        }t          ||¦  «         t          |¦  «        t          |¦  «        u sJ ‚d S )	Né
   r&   é   g      ø¿é   ç      à?é   r(   )r	   ÚinvertedÚnpÚarangeÚtransform_non_affiner   ÚtypeÚnanÚmaÚarrayÚmasked)ÚsltÚsltir   Úouts       r   Útest_symlog_mask_nanr`   O   sœ  € õ " " a¨Ñ
+Ô
+€CØ�<Š<‰>Œ>€Då
Œ	�$˜˜3ÑÔ€AØ
×
#Ò
# C×$<Ò$<¸QÑ$?Ô$?Ñ
@Ô
@€CÝ�C˜ÑÔÐÝ�‰9Œ9�˜Q™œÐÐÐÐåŒ6€A€a�DØ
×
#Ò
# C×$<Ò$<¸QÑ$?Ô$?Ñ
@Ô
@€CÝ�C˜ÑÔÐÝ�‰9Œ9�˜Q™œÐÐÐÐå
Œ�Š�A‰Œ€AØ
×
#Ò
# C×$<Ò$<¸QÑ$?Ô$?Ñ
@Ô
@€CÝ�C˜ÑÔÐÝ�‰9Œ9�˜Q™œÐÐÐÐåŒ5Œ<€A€a�DØ
×
#Ò
# C×$<Ò$<¸QÑ$?Ô$?Ñ
@Ô
@€CÝ�C˜ÑÔÐÝ�‰9Œ9�˜Q™œÐÐÐÐÐÐr   zlogit_scales.pngTÚ_classic_test)Úremove_textÚstylec                  ó¬  — t          j        ¦   «         \  } }t          j        g d¢¦  «        }d|z  }|                     ||¦  «         |                     d¦  «         |                     d¦  «         |                     | j         	                    ¦   «         ¦  «        }t          j
        |j        ¦  «        sJ ‚t          j
        |j        ¦  «        sJ ‚d S )N)gü©ñÒMbP?gú~j¼t“h?ç{®Gáz„?g¸…ëQ¸ž?gš™™™™™¹?çš™™™™™É?g333333Ó?gš™™™™™Ù?rR   g333333ã?gffffffæ?gš™™™™™é?gÍÌÌÌÌÌì?g
×£p=
ï?g®Gáz®ï?g�•C‹lçï?g+‡ÙÎ÷ï?ç      ð?ÚlogitT)ÚpltÚsubplotsrU   r[   rH   Ú
set_xscaleÚgridÚget_tightbboxÚcanvasÚget_rendererÚisfiniteÚx0Úy0)ÚfigÚaxr   ÚyÚbboxs        r   Útest_logit_scalesrw   j   sÊ   € åŒl‰nŒn�G€Cˆõ 	Œð @ð @ð @ñ 	Aô 	A€Aàˆa‰€Aà‡G‚GˆAˆq�M„M€MØ‡M‚M�'ÑÔÐØ‡G‚GˆD�M„M€MØ×Ò˜CœJ×3Ò3Ñ5Ô5Ñ6Ô6€DÝŒ;�t”wÑÔÐÐÐÝŒ;�t”wÑÔÐÐÐÐÐr   c                  ó²  — t          j        d¦  «        \  } }t          j        d¦  «        }t          j        d¦  «        dz
  }|                     ||¦  «         t          j        ¦   «         }|                      |d¬¦  «         t          j        ¦   «         }|                      |d¬¦  «         t          j        ¦   «         }|                      |d¬¦  «         dS )zIssue #1799rP   rO   Úpdf)ÚformatÚepsÚsvgN)ri   rj   rU   rV   ÚscatterÚioÚBytesIOÚsavefig)rs   rt   r   ru   Úbufs        r   Útest_log_scatterr‚   {   s¯   € åŒl˜1‰oŒ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                  óº   — t          j        ¦   «         \  } }|                     dt          j        g d¢¦  «        ¬¦  «         | j                             ¦   «          d S )Nr;   )r&   r(   rS   r,   )ri   rj   Ú
set_yscalerU   r[   rn   Údraw©rs   rt   s     r   Útest_logscale_subsr‡   Ž   sM   € ÝŒl‰nŒn�G€CˆØ‡M‚M�%�bœh y y yÑ1Ô1€MÑ2Ô2Ð2à„J‡O‚OÑÔÐÐÐr   zlogscale_mask.pngc            	      óB  — t          j        ddd¦  «        } t          j        ¦   «         \  }}|                     t          j        | dz   ¦  «        ¦  «         |j                             ¦   «          |                     ddt          j	        ddd¦  «        z  ¬	¦  «         d S )
Nr   é2   ié  r&   r;   ç      $@iÔþÿÿé   )r=   Úyticks)
rU   Úlinspaceri   rj   rH   Úexprn   r…   rG   rV   )Úxsrs   rt   s      r   Útest_logscale_maskr�   •   s•   € õ 
Œ�Q˜˜DÑ	!Ô	!€BåŒl‰nŒn�G€CˆØ‡G‚G�BŒF�B˜‘E�6‰NŒNÑÔÐØ„J‡O‚OÑÔÐØ‡F‚F�%Ø•r”y  q¨"Ñ-Ô-Ñ-ð ñ /ô /ð /ð /ð /r   c                  óÌ   — t          j        ¦   «         \  } }dD ]J}t          j        t          ¦  «        5  |                     |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   ŒKd S )N)Úlinearr;   r<   Úmask)Úfoo)ri   rj   ÚpytestÚraisesÚ	TypeErrorr„   ©rs   rt   Úscales      r   Útest_extra_kwargs_raiserš   ¢   s¦   € ÝŒl‰nŒn�G€Cˆà,ð -ð -ˆÝŒ]�9Ñ%Ô%ð 	-ð 	-Ø�MŠM˜% VˆMÑ,Ô,Ð,ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-øð-ð -s   ´AÁA	ÁA	c                  óN  — t          j        ¦   «         \  } }|                     d¦  «         |j        |j                             ¦   «         z                        ¦   «         }t          d¬¦  «                             ¦   «         }t          |t          ¦  «        sJ ‚|j	        dk    sJ ‚d S )Nr;   r&   r)   )
ri   rj   r„   Ú	transAxesÚ	transDatarT   r   Ú
isinstancer   r*   )rs   rt   ÚtformÚinverted_transforms       r   Útest_logscale_invert_transformr¡   ª   sš   € ÝŒl‰nŒn�G€CˆØ‡M‚M�%ÑÔÐàŒ\˜BœL×1Ò1Ñ3Ô3Ñ3×=Ò=Ñ?Ô?€Eõ &¨1Ð-Ñ-Ô-×6Ò6Ñ8Ô8ÐÝÐ(Õ*>Ñ?Ô?Ð?Ð?Ð?ØÔ" aÒ'Ð'Ð'Ð'Ð'Ð'r   c                  óÀ   — t          j        ¦   «         \  } }|                     d¦  «         t          |j        ¦  «         t          t          dd¬¦  «        ¦  «         d S )Nr;   rO   r"   r#   )ri   rj   r„   Úreprr�   r   r†   s     r   Útest_logscale_transform_reprr¤   ¶   sT   € ÝŒl‰nŒn�G€CˆØ‡M‚M�%ÑÔÐÝˆŒÑÔÐÝ��b fÐ	-Ñ	-Ô	-Ñ.Ô.Ð.Ð.Ð.r   zlogscale_nonpos_values.pngg{®Gáz”?Úmpl20)rb   Útolrc   c                  ó®  — t           j                             d¦  «         t           j                             t	          d¦  «        ¬¦  «        } t          j        dd¦  «        \  }\  \  }}\  }}|                     | dd¬¦  «         |                     d¦  «         |                     | dd¬¦  «         |                     dd	¬
¦  «         t          j	        ddd¦  «        }t          j
        | ¦  «        }dd|z
  z  t          j        d|z  ¦  «        z  t          j
        | ¦  «        z  }|                     |||z
  ||z   ¦  «         |                     d¦  «         t          j        dd¦  «        }	|	dz  }
|	dz  }|                     |	|
|¬¦  «         |                     d¦  «         |                     d¦  «         |                     g d¢¦  «         d S )Ni!N,g     @�@)Úsizer&   )éûÿÿÿrQ   rO   )ÚrangeÚbinsr;   r“   r#   r   re   rf   rQ   éÿÿÿÿrP   r(   )Úyerr)re   rP   g      Y@)rU   ÚrandomÚseedÚnormalÚintri   rj   Úhistr„   rV   rŽ   ÚcosÚfill_betweenÚlogspaceÚerrorbarrk   Ú
set_yticks)r�   rs   Úax1Úax2Úax3Úax4ÚxdataÚydataÚedatar   ru   r­   s               r   Útest_logscale_nonpos_valuesr¿   ½   s­  € õ „I‡N‚N�8ÑÔÐÝ	Œ×	Ò	�s 3™xœxÐ	Ñ	(Ô	(€BÝ$'¤L°°AÑ$6Ô$6Ñ!€CÑ	!‰*ˆ3�‘j�s˜CØ‡H‚HˆR�w R€HÑ(Ô(Ð(Ø‡N‚N�5ÑÔÐØ‡H‚HˆR�w R€HÑ(Ô(Ð(Ø‡N‚N�5 f€NÑ-Ô-Ð-åŒI�a˜˜TÑ"Ô"€EÝŒF�E�6‰NŒN€EØ��E‘‰N�2œ6 ! E¡'™?œ?Ñ*­2¬6°5°&©>¬>Ñ9€Eà×Ò�U˜E E™M¨5°5©=Ñ9Ô9Ð9Ø‡N‚N�5ÑÔÐå
Œ�B˜ÑÔ€AØ	ˆQ‰€AØˆa‰4€DØ‡L‚L��A˜D€LÑ!Ô!Ð!à‡N‚N�5ÑÔÐØ‡N‚N�5ÑÔÐØ‡N‚N�?�?�?Ñ#Ô#Ð#Ð#Ð#r   c                  óB  — t          j        ¦   «         \  } }|                     t          dd¦  «        t          dd¦  «        ¦  «         |                     d¦  «         |                     ¦   «         }t          j        t          ¦  «        5  | 	                    d¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         |k    sJ ‚t          j        t          ¦  «        5  | 	                    d¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         |k    sJ ‚| 
                    d¦  «         |                     ¦   «         }t          j        t          ¦  «        5  |                     d¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         |k    sJ ‚t          j        t          ¦  «        5  |                     d¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         |k    sJ ‚d S )	Nr   rS   r;   )Úleftr¬   )Úright)Úbottom)Útop)ri   rj   r}   rª   rk   rE   r•   ÚwarnsÚUserWarningÚset_xlimr„   rF   Úset_ylim)rs   rt   Úoriginal_xlimÚoriginal_ylims       r   Útest_invalid_log_limsrË   Ù   sÁ  € åŒl‰nŒn�G€CˆØ‡J‚J�u�Q˜‰{Œ{�E ! Q™KœKÑ(Ô(Ð(à‡M‚M�%ÑÔÐØ—K’K‘M”M€MÝ	Œ•kÑ	"Ô	"ð ð Ø
�Š˜ˆÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à�;Š;‰=Œ=˜MÒ)Ð)Ð)Ð)Ý	Œ•kÑ	"Ô	"ð ð Ø
�Š˜"ˆÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à�;Š;‰=Œ=˜MÒ)Ð)Ð)Ð)à‡M‚M�%ÑÔÐØ—K’K‘M”M€MÝ	Œ•kÑ	"Ô	"ð ð Ø
�Š˜1ˆÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à�;Š;‰=Œ=˜MÒ)Ð)Ð)Ð)Ý	Œ•kÑ	"Ô	"ð ð Ø
�Š˜ˆÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à�;Š;‰=Œ=˜MÒ)Ð)Ð)Ð)Ð)Ð)sH   ÂB.Â.B2Â5B2Ã,DÄDÄDÅ6FÆFÆ FÇG:Ç:G>ÈG>zfunction_scales.pngc                  óò   — d„ } d„ }t          j        ¦   «         \  }}t          j        dd¦  «        }|                     ||¦  «         |                     d|| f¬¦  «         |                     dd¦  «         d S )Nc                 ó   — | dz  S )Nr&   r   r   s    r   Úinversez$test_function_scale.<locals>.inverseó   s   € Ø�!‰tˆr   c                 ó   — | dz  S )NrR   r   r   s    r   Úforwardz$test_function_scale.<locals>.forwardö   s   € Ø�3‰xˆr   rP   iè  Úfunctionr    )ri   rj   rU   rV   rH   rk   rÇ   )rÎ   rÐ   rs   rt   r   s        r   Útest_function_scalerÒ   ñ   sˆ   € ðð ð ðð ð õ Œl‰nŒn�G€Cˆå
Œ	�!�TÑÔ€Aà‡G‚GˆAˆq�M„M€MØ‡M‚M�*¨°'Ð(:€MÑ;Ô;Ð;Ø‡K‚K��4ÑÔÐÐÐr   c                  óV  — t          j        ¦   «         \  } }t          j        d ¬¦  «        }|                     |¦  «         t          j        d ¬¦  «        }|                     |¦  «         |j                             ¦   «         dk    sJ ‚|j                             ¦   «         dk    sJ ‚d S )Nr1   r;   )	ri   rj   ÚmscaleÚLogScalerk   r„   ÚxaxisÚ	get_scaleÚyaxisr˜   s      r   Útest_pass_scalerÙ     s�   € åŒl‰nŒn�G€CˆÝŒO Ð&Ñ&Ô&€EØ‡M‚M�%ÑÔÐÝŒO Ð&Ñ&Ô&€EØ‡M‚M�%ÑÔÐØŒ8×ÒÑÔ 5Ò(Ð(Ð(Ð(ØŒ8×ÒÑÔ 5Ò(Ð(Ð(Ð(Ð(Ð(r   c                  ó  — t          j        dd¬¦  «        } t          j        | ¦  «        }t	          |                      ¦   «         ¦  «        t	          |                     ¦   «         ¦  «        k    sJ ‚| j        |j        usJ ‚d S )Nr   rO   r3   )rÔ   rÕ   ÚcopyÚdeepcopyÚstrÚget_transformÚ
_transform)ÚscÚsc2s     r   Útest_scale_deepcopyrâ     sy   € Ý	Œ˜c¨Ð	+Ñ	+Ô	+€BÝ
Œ-˜Ñ
Ô
€CÝˆr×ÒÑ!Ô!Ñ"Ô"¥c¨#×*;Ò*;Ñ*=Ô*=Ñ&>Ô&>Ò>Ð>Ð>Ð>ØŒ= ¤Ð.Ð.Ð.Ð.Ð.Ð.r   c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestAsinhScalec                 ó’  — d}t          j        ddd¦  «        }t          |¦  «        }|                     ¦   «         }|                     ¦   «         }|                     |¦  «        }|                     |¦  «        }t          ||¦  «         |                     |¦  «        }t          ||t          j        ||z  ¦  «        z  ¦  «         d S )Ng      1@iÎÿÿÿr‰   éd   )rU   r�   r   rT   rW   r   Úarcsinh)	ÚselfÚa0ÚarÐ   rÎ   ÚinvinvÚ	a_forwardÚ
a_invertedÚa_invinvs	            r   Útest_transformszTestAsinhScale.test_transforms  s»   € ØˆÝŒK˜˜R Ñ%Ô%ˆå  Ñ$Ô$ˆØ×"Ò"Ñ$Ô$ˆØ×!Ò!Ñ#Ô#ˆà×0Ò0°Ñ3Ô3ˆ	Ø×1Ò1°)Ñ<Ô<ˆ
Ý˜
 AÑ&Ô&Ð&à×.Ò.¨qÑ1Ô1ˆÝ˜ "¥r¤z°!°b±&Ñ'9Ô'9Ñ"9Ñ:Ô:Ð:Ð:Ð:r   c                 ó  — t          j        ¦   «         \  }}t          d d¬¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚|j        dk    sJ ‚|                     ¦   «         }t          |t          ¦  «        sJ ‚|j        |j        k    sJ ‚d S )Ng      7@r2   é   rO   )r&   rQ   )	ri   rj   r   r'   Ú_baseÚ_subsrÞ   rž   r   )rè   rs   rt   ÚsÚtxs        r   Ú	test_initzTestAsinhScale.test_init$  s˜   € Ý”,‘.”.‰ˆˆRå˜D¨tÐ4Ñ4Ô4ˆØŒ~ Ò#Ð#Ð#Ð#ØŒw˜"Š}ˆ}ˆ}ˆ}ØŒw˜&Ò Ð Ð Ð à�_Š_ÑÔˆÝ˜"�nÑ-Ô-Ð-Ð-Ð-ØŒ !¤.Ò0Ð0Ð0Ð0Ð0Ð0r   c                 óà   — t          j        ¦   «         \  }}t          d d¬¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚t          d dd¬¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚d S )Nr(   r3   )r&   é   )r&   rS   )r0   r*   r-   )ri   rj   r   rò   ró   )rè   rs   rt   Ús3Ús7s        r   Útest_base_initzTestAsinhScale.test_base_init0  s�   € Ý”,‘.”.‰ˆˆRå˜T¨Ð*Ñ*Ô*ˆØŒx˜1Š}ˆ}ˆ}ˆ}ØŒx˜4ÒÐÐÐå˜T¨°Ð7Ñ7Ô7ˆØŒx˜1Š}ˆ}ˆ}ˆ}ØŒx˜6Ò!Ð!Ð!Ð!Ð!Ð!r   c                 óð  —  G d„ d¦  «        } |¦   «         }t          |d¬¦  «        }|                     |¦  «         t          |j        d         t          ¦  «        sJ ‚t          |j        d         t
          ¦  «        sJ ‚ |¦   «         }t          |d¬¦  «        }|                     |¦  «         t          |j        d         t          ¦  «        sJ ‚t          |j        d         t          ¦  «        sJ ‚d S )Nc                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ú-TestAsinhScale.test_fmtloc.<locals>.DummyAxisc                 ó   — i | _         d S r   ©Úfields©rè   s    r   Ú__init__z6TestAsinhScale.test_fmtloc.<locals>.DummyAxis.__init__=  s   € Ø �”��r   c                 ó*   —  | j         j        di |¤Ž d S )Nr   )r  Úupdate)rè   Úkwargss     r   rG   z1TestAsinhScale.test_fmtloc.<locals>.DummyAxis.set?  s#   € Ø"�”Ô"Ð,Ð, VÐ,Ð,Ð,Ð,Ð,r   c                 ó   — || j         d<   d S )NÚmajor_formatterr   )rè   Úfs     r   Úset_major_formatterzATestAsinhScale.test_fmtloc.<locals>.DummyAxis.set_major_formatterA  s   € Ø12�”Ð-Ñ.Ð.Ð.r   N)Ú__name__Ú
__module__Ú__qualname__r  rG   r
  r   r   r   Ú	DummyAxisrþ   <  sA   € € € € € ð!ð !ð !ð-ð -ð -ð3ð 3ð 3ð 3ð 3r   r  r   r3   Úmajor_locatorr  rQ   )r   Ú#set_default_locators_and_formattersrž   r  r
   rÝ   r   )rè   r  Úax0Ús0Úax5rú   s         r   Útest_fmtloczTestAsinhScale.test_fmtloc;  s  € ð	3ð 	3ð 	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð ˆi‰kŒkˆÝ˜S qÐ)Ñ)Ô)ˆØ
×.Ò.¨sÑ3Ô3Ð3Ý˜#œ* _Ô5µ|ÑDÔDÐDÐDÐDÝ˜#œ*Ð%6Ô7½Ñ=Ô=Ð=Ð=Ð=àˆi‰kŒkˆÝ˜S qÐ)Ñ)Ô)ˆØ
×.Ò.¨sÑ3Ô3Ð3Ý˜#œ* _Ô5µ|ÑDÔDÐDÐDÐDÝ˜#œ*Ð%6Ô7Ý1ñ3ô 3ð 	3ð 	3ð 3ð 	3ð 	3r   c                 ó|  — t          j        ¦   «         \  }}t          j        t          ¦  «        5  t          d d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          d d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          d ¬¦  «        }t          d d¬¦  «        }d S )Nr   r2   r¬   r1   g      @)ri   rj   r•   r–   Ú
ValueErrorr   )rè   rs   rt   r  Ús1s        r   Útest_bad_scalezTestAsinhScale.test_bad_scaleQ  s'  € Ý”,‘.”.‰ˆˆRåŒ]�:Ñ&Ô&ð 	2ð 	2Ý˜D¨qÐ1Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2åŒ]�:Ñ&Ô&ð 	3ð 	3Ý˜D¨rÐ2Ñ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3å˜TÐ$Ñ$Ô$ˆÝ˜T°Ð4Ñ4Ô4ˆˆˆs#   °AÁAÁAÁ2BÂBÂBN)r  r  r  rï   rö   rû   r  r  r   r   r   rä   rä     s_   € € € € € ð;ð ;ð ;ð
1ð 
1ð 
1ð	"ð 	"ð 	"ð3ð 3ð 3ð,5ð 5ð 5ð 5ð 5r   rä   c                  ó¨  ‡—  G d„ dt           ¦  «        Š G ˆfd„dt          j        ¦  «        } 	 t          j        | ¦  «         t	          j        ¦   «         \  }}|                     d¦  «         t          |j         	                    ¦   «         ‰¦  «        sJ ‚	 t          j
        d= t          j        d= dS # t          j
        d= t          j        d= w xY w)z[
    Test that one can register and use custom scales that don't take an *axis* param.
    c                   ó   — e Zd ZdS )ú7test_custom_scale_without_axis.<locals>.CustomTransformN©r  r  r  r   r   r   ÚCustomTransformr  `  ó   € € € € € Øˆr   r  c                   ó*   •— e Zd ZdZˆ fd„Zd„ Zd„ ZdS )ú3test_custom_scale_without_axis.<locals>.CustomScaleÚcustomc                 ó&   •—  ‰¦   «         | _         d S r   ©rß   )rè   r  s    €r   r  z<test_custom_scale_without_axis.<locals>.CustomScale.__init__g  ó   ø€ Ø-˜oÑ/Ô/ˆDŒOˆOˆOr   c                 ó   — | j         S r   r#  r  s    r   rÞ   zAtest_custom_scale_without_axis.<locals>.CustomScale.get_transformj  ó
   € Ø”?Ð"r   c                 ó  — |                      t          ¦   «         ¦  «         |                     t          ¦   «         ¦  «         |                     t          ¦   «         ¦  «         |                     t          ¦   «         ¦  «         d S r   ©Úset_major_locatorr   r
  r   Úset_minor_locatorr   Úset_minor_formatterr   ©rè   r0   s     r   r  zWtest_custom_scale_without_axis.<locals>.CustomScale.set_default_locators_and_formattersm  ój   € Ø×"Ò"¥;¡=¤=Ñ1Ô1Ð1Ø×$Ò$¥_Ñ%6Ô%6Ñ7Ô7Ð7Ø×"Ò"¥;¡=¤=Ñ1Ô1Ð1Ø×$Ò$¥]¡_¤_Ñ5Ô5Ð5Ð5Ð5r   N©r  r  r  Únamer  rÞ   r  ©r  s   €r   ÚCustomScaler   c  óQ   ø€ € € € € Øˆð	0ð 	0ð 	0ð 	0ð 	0ð	#ð 	#ð 	#ð	6ð 	6ð 	6ð 	6ð 	6r   r1  r!  N)r   rÔ   Ú	ScaleBaseÚregister_scaleri   rj   rk   rž   rÖ   rÞ   Ú_scale_mappingÚ_scale_has_axis_parameter©r1  rs   rt   r  s      @r   Útest_custom_scale_without_axisr8  \  s  ø€ ðð ð ð ð Õ+ñ ô ð ð6ð 6ð 6ð 6ð 6ð 6ð 6•fÔ&ñ 6ô 6ð 6ð 7ÝÔ˜kÑ*Ô*Ð*Ý”,‘.”.‰ˆˆRØ
�Š�hÑÔÐÝ˜"œ(×0Ò0Ñ2Ô2°OÑDÔDÐDÐDÐDÐDõ Ô! (Ð+ÝÔ,¨XÐ6Ð6Ð6øõ Ô! (Ð+ÝÔ,¨XÐ6Ð6Ð6Ð6Ð6s   °A(B5 Â5Cc                  ó  ‡—  G d„ dt           ¦  «        Š G ˆfd„dt          j        ¦  «        } 	 t          j        t
          d¬¦  «        5  t          j        | ¦  «         ddd¦  «         n# 1 swxY w Y   t          j        ¦   «         \  }}| 	                    d¦  «         t          |j                             ¦   «         ‰¦  «        sJ ‚	 t          j        d= t          j        d= dS # t          j        d= t          j        d= w xY w)	z™
    Test that one can still register and use custom scales with an *axis*
    parameter, but that registering issues a pending-deprecation warning.
    c                   ó   — e Zd ZdS )ú4test_custom_scale_with_axis.<locals>.CustomTransformNr  r   r   r   r  r;  ƒ  r  r   r  c                   ó*   •— e Zd ZdZˆ fd„Zd„ Zd„ ZdS )ú0test_custom_scale_with_axis.<locals>.CustomScaler!  c                 ó&   •—  ‰¦   «         | _         d S r   r#  )rè   r0   r  s     €r   r  z9test_custom_scale_with_axis.<locals>.CustomScale.__init__Š  r$  r   c                 ó   — | j         S r   r#  r  s    r   rÞ   z>test_custom_scale_with_axis.<locals>.CustomScale.get_transform�  r&  r   c                 ó  — |                      t          ¦   «         ¦  «         |                     t          ¦   «         ¦  «         |                     t          ¦   «         ¦  «         |                     t          ¦   «         ¦  «         d S r   r(  r,  s     r   r  zTtest_custom_scale_with_axis.<locals>.CustomScale.set_default_locators_and_formatters�  r-  r   Nr.  r0  s   €r   r1  r=  †  r2  r   r1  z)'axis' parameter .* is pending-deprecated)ÚmatchNr!  )r   rÔ   r3  r•   rÅ   ÚPendingDeprecationWarningr4  ri   rj   rk   rž   rÖ   rÞ   r5  r6  r7  s      @r   Útest_custom_scale_with_axisrC  ~  s  ø€ ð
ð ð ð ð Õ+ñ ô ð ð6ð 6ð 6ð 6ð 6ð 6ð 6•fÔ&ñ 6ô 6ð 6ð 7ÝŒ\Ý)ØBðDñ Dô Dð 	/ð 	/õ Ô! +Ñ.Ô.Ð.ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/õ ”,‘.”.‰ˆˆRØ
�Š�hÑÔÐÝ˜"œ(×0Ò0Ñ2Ô2°OÑDÔDÐDÐDÐDÐDõ Ô! (Ð+ÝÔ,¨XÐ6Ð6Ð6øõ Ô! (Ð+ÝÔ,¨XÐ6Ð6Ð6Ð6Ð6s0   °C( ÁA,Á C( Á,A0Á0C( Á3A0Á4AC( Ã(Dc                  ó´  — ddddt           j        dfdt           j        dfdddd	d
t           j        dfd
t           j        dfddddddt           j        dfdt           j        dfddddt           j        dfdt           j        dfg} | D ]S\  }}}t          j        |         } |d ¬¦  «        }|                     |¦  «        }||u sJ d|› d|› d|› d|› �¦   «         ‚ŒTd S )N)r’   rŠ   T)r’   ç      $ÀT)r’   ç        Tr’   F)r;   rg   T)r;   gYóøÂn¥T)r;   rF  F)r;   ç      ð¿Fr;   )rh   rR   T)rh   rF  F)rh   rg   F)rh   gš™™™™™¹¿F)rh   gš™™™™™ñ?Frh   )r<   rŠ   T)r<   rE  T)r<   rF  Tr<   r1   zFailed z.val_in_range(z).Expected z, got )rU   ÚinfrY   rÔ   r5  Úval_in_range)Ú
test_casesr/  ÚvalÚexpectedÚ	scale_clsrô   Úresults          r   Útest_val_in_rangerO  ¤  sD  € ð 	ØØØ	•2”6˜5Ð!Ø	•2”6˜5Ð!ð 	ØØØØ	•”˜ÐØ	•”˜Ðð 	ØØØØØ	•"”&˜%Ð Ø	•"”&˜%Ð ð 	ØØØ	•2”6˜5Ð!Ø	•2”6˜5Ð!ð? €JðD  *ð 
ð 
Ñˆˆc�8ÝÔ)¨$Ô/ˆ	ØˆI˜4Ð Ñ Ô ˆà—’ Ñ$Ô$ˆØ˜Ð!Ð!Ð!ð1�dð 1ð 1¨#ð 1ð 1Ø ð1ð 1Ø(.ð1ð 1ñ "Ô!Ð!Ð!ð
ð 
r   c                  óh  — t          j        d ¬¦  «        } |                      d¦  «        du sJ ‚|                      d¦  «        du sJ ‚|                      t          j        ¦  «        du sJ ‚|                      t          j        ¦  «        du sJ ‚|                      t          j         ¦  «        du sJ ‚d S )Nr1   rg   Tg      ÀF)rÔ   r3  rI  rU   rY   rH  )rô   s    r   Útest_val_in_range_base_fallbackrQ  Ó  sº   € õ 	Ô˜dÐ#Ñ#Ô#€Að �>Š>˜#ÑÔ $Ð&Ð&Ð&Ð&Ø�>Š>˜$ÑÔ 4Ð'Ð'Ð'Ð'ð �>Š>�"œ&Ñ!Ô! UÐ*Ð*Ð*Ð*Ø�>Š>�"œ&Ñ!Ô! UÐ*Ð*Ð*Ð*Ø�>Š>�2œ6˜'Ñ"Ô" eÐ+Ð+Ð+Ð+Ð+Ð+r   c                  óB  — t          j        dddt           j        t           j        dg¦  «        } g d¢g d¢g d¢g d¢g d¢dœ}|                     ¦   «         D ]S\  }}t          j        |         d ¬¦  «        }t           j                             | 	                    | ¦  «        |¦  «         ŒTt          j        d	         d ¬¦  «         	                    t          j        d
dgdt           j        gg¦  «        ¦  «        }t           j                             |ddgddgg¦  «         d S )NrR   rG  rF  g      Ð?)TTTFFT)TFFFFT)r’   r;   r<   Úasinhrh   r1   r;   rg   TF)
rU   r[   rY   rH  ÚitemsrÔ   r5  ÚtestingÚassert_array_equalrI  )ÚarrÚcasesr/  rL  rô   r_   s         r   Útest_val_in_range_arrayrY  â  s*  € å
Œ(�C˜˜s¥B¤F­B¬F°DÐ9Ñ
:Ô
:€Cà8Ð8Ð8Ø:Ð:Ð:Ø8Ð8Ð8Ø8Ð8Ð8Ø:Ð:Ð:ðð €Eð  Ÿ+š+™-œ-ð Eð E‰ˆˆhÝÔ! $Ô'¨TÐ2Ñ2Ô2ˆÝ
Œ
×%Ò% a§n¢n°SÑ&9Ô&9¸8ÑDÔDÐDÐDõ Ô
 Ô
&¨DÐ
1Ñ
1Ô
1×
>Ò
>Ý
Œ�3˜�+ ¥R¤V˜}Ð-Ñ.Ô.ñ0ô 0€Cå„J×!Ò! #¨¨u¨¸¸e°}Ð'EÑFÔFÐFÐFÐFr   )5rÛ   Úmatplotlib.pyplotÚpyplotri   Úmatplotlib.scaler   r   r   r   r   r   r	   r™   rÔ   Úmatplotlib.tickerr
   r   r   r   r   r   Úmatplotlib.testing.decoratorsr   r   Úmatplotlib.transformsr   ÚnumpyrU   Únumpy.testingr   r~   r•   r8   rM   r`   rw   r‚   r‡   r�   rš   r¡   r¤   r¿   rË   rÒ   rÙ   râ   rä   r8  rC  rO  rQ  rY  r   r   r   ú<module>rb     s[  ðØ €€€à Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð
 "Ð !Ð !Ð !Ð !Ð !ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð PÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ 3Ð 3Ð 3Ð 3Ð 3Ð 3à Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )Ø 	€	€	€	Ø €€€ð(ð (ð (ðV ÐÑÔð	)ð 	)ñ Ôð	)ð ð  ð  ð6 ÐÐ%Ð&°DÀÐPÑPÔPð ð  ñ QÔPð ð #ð #ð #ð&ð ð ð ÐÐ&Ð'°TÀÐQÑQÔQð	/ð 	/ñ RÔQð	/ð-ð -ð -ð	(ð 	(ð 	(ð/ð /ð /ð ÐÐ/Ð0Ø"¨°Gð=ñ =ô =ð$ð $ñ=ô =ð$ð4*ð *ð *ð0 ÐÐ(Ð)°tÀ7ÐKÑKÔKðð ñ LÔKðð )ð )ð )ð/ð /ð /ðE5ð E5ð E5ð E5ð E5ñ E5ô E5ð E5ðP7ð 7ð 7ðD#7ð #7ð #7ðL,
ð ,
ð ,
ð^,ð ,ð ,ðGð Gð Gð Gð Gr   