403Webshell
Server IP : 35.80.110.71  /  Your IP : 216.73.216.170
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/matplotlib/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/matplotlib/tests/__pycache__/test_ticker.cpython-312.pyc
�

G8�c�����ddlmZddlZddlZddlZddlZddlmZm	Z	ddl
Z
ddlZddl
mZddlmZGd�d�ZGd�d�ZGd�d	�ZGd
�d�ZGd�d
�ZGd�d�ZGd�d�ZGd�d�ZGd�d�ZGd�d�ZGd�d�ZGd�d�ZGd�d�ZGd�d�Z Gd �d!�Z!Gd"�d#�Z"Gd$�d%�Z#Gd&�d'�Z$Gd(�d)�Z%Gd*�d+�Z&Gd,�d-�Z'Gd.�d/�Z(d0�Z)Gd1�d2�Z*d3�Z+d4�Z,d5�Z-d6�Z.d7�Z/e
j`jcd8d9�d:��Z2e
j`jcd;d<d=gejfd>�g�d?��Z4e
j`jcd@gdA��ejjjmdB�dC���Z7dD�Z8e
j`jcdEejrdF��ejtdG�f�dH��Z;y)I�)�nullcontextN)�assert_almost_equal�assert_array_equalc
��eZdZddejgd��fddejgd��fddejgd	��fd
dej
d�d
zfdd
ej
dd�d
zfgZdddejgd��fdddejgd��fddgd�ejgd��fgZejjde�d��Zejjde�d��Zy)�TestMaxNLocator��d)�4@gD@gN@gT@�Y@���MbP?�-C��6?)�g-C��6*?g-C��6:?ga2U0*�C?g-C��6J?r�4&�k��4&�kC)rg4&�k��rg4&�k�Brrg��&q�5�gL�o��g5g��&q������皙������皙�����?N)���rr��ffffff�?)gпr��?��?��?��?�7)r��?�r�
)r���-�<zvmin, vmax, expectedc�h�tjd��}t|j||�|�y)Nr��nbins��mticker�MaxNLocatorr�tick_values)�self�vmin�vmax�expected�locs     �>/usr/lib/python3/dist-packages/matplotlib/tests/test_ticker.py�
test_basiczTestMaxNLocator.test_basics'���!�!��*���C�O�O�D�$�7��B�zvmin, vmax, steps, expectedc�l�tjdd|��}t|j||�|�y)NrT)r'�integer�stepsr()r,r-r.r6r/r0s      r1�test_integerzTestMaxNLocator.test_integer#s+���!�!��4�u�E���C�O�O�D�$�7��Br3)
�__name__�
__module__�__qualname__�np�array�arange�
basic_data�integer_data�pytest�mark�parametrizer2r7�r3r1rrs#��	�S�(�"�(�(�5�6�7�	������!L�M�N�	��h�b�h�h�J�K�L�	
�H�i�b�i�i��l�U�*�+�	�A�y�r�y�y��Q�'�%�/�0��J�
�s�D�(�"�(�(�=�1�2�	
�t�T�8�2�8�8�$D�E�F�	
�B�"�H�B�H�H�-@�$A�B��L��[�[���3�Z�@�C�A�C��[�[���:�L�I�C�J�Cr3rc��eZdZd�Zd�Zy)�TestLinearLocatorc��tjd��}tjgd��}t	|jdd�|�y)N���numticks)皙������333333ӿ皙�����?rJrL)r)�
LinearLocatorr;r<rr+�r,r0�
test_values   r1r2zTestLinearLocator.test_basic*s6���#�#�Q�/���X�X�/�0�
��C�O�O�D�#�6�
�Cr3c��tjd��}|jddgi��|jdk(sJ�|jdgik(sJ�y)z�
        Create linear locator with presets={}, numticks=2 and change it to
        something else. See if change was successful. Should not exception.
        rrH�)rr)rI�presetsN)r)rM�
set_paramsrIrR�r,r0s  r1�test_set_paramsz!TestLinearLocator.test_set_params/sP��
�#�#�Q�/������F�B�<��8��|�|�q� � � ��{�{�v�r�l�*�*�*r3N)r8r9r:r2rUrCr3r1rErE)s
��D�
+r3rEc�$�eZdZd�Zd�Zd�Zd�Zy)�TestMultipleLocatorc��tjd��}tjgd��}t	|jdd�|�y)N�V-	@��base)go����"��V-�g�V-	�rrY�V-@go����"@g�V-)@���r )r)�MultipleLocatorr;r<rr+rNs   r1r2zTestMultipleLocator.test_basic;s:���%�%�5�1���X�X�.�/�
��C�O�O�B��3�Z�@r3c��tjddi�5tjd��}t	|jdd�d�ddd�y#1swYyxYw)	z5
        Test basic behavior of view limits.
        �axes.autolimit_mode�datarYrZrr)rrN��mpl�
rc_contextr)r_r�view_limitsrTs  r1�test_view_limitsz$TestMultipleLocator.test_view_limitsAsT���^�^�2�F�;�
<�	A��)�)�u�5�C������A� 6��@�	A�	A�	A���3A�Ac��tjddi�5tjd��}t	|jdd�d�ddd�y#1swYyxYw)	zb
        Test that everything works properly with 'round_numbers' for auto
        limit.
        ra�
round_numbersrYrZ����)r\r]NrcrTs  r1�test_view_limits_round_numbersz2TestMultipleLocator.test_view_limits_round_numbersIsT��
�^�^�2�O�D�
E�	I��)�)�u�5�C������A� 6��H�	I�	I�	I�rhc��tjd��}|jd��|jjdk(sJ�y)z
        Create multiple locator with 0.7 base, and change it to something else.
        See if change was successful.
        �ffffff�?rZg333333�?N)r)r_rS�_edge�step)r,�mults  r1rUz#TestMultipleLocator.test_set_paramsRs8��
�&�&�C�0�����S��!��z�z���#�%�%�%r3N)r8r9r:r2rgrmrUrCr3r1rWrW:s��A�A�I�&r3rWc	�N�eZdZd�ZddgZejjde�d��Zgd�Z	d�Z
ejjde	�d	��Zgd
�Zgd�gd�gd
�gd�gd�gd�gd�gd�gZ
eeee
��Zejjde�d��Zy)�TestAutoMinorLocatorc���tj�\}}|jdd�|j�t	j
gd��}t
|jjd��|�y)Nr�=
ףp=�?�皙�����?皙�����?g333333�?r�333333�?gffffff�?��������?r皙�����?g�������?rorg333333�?��������?r��������?rgffffff�?g�?g�������?g�������?T��minor)	�plt�subplots�set_xlim�
minorticks_onr;r<r�xaxis�get_ticklocs)r,�fig�axrOs    r1r2zTestAutoMinorLocator.test_basic]s^���,�,�.���R�
���A�t��
�����X�X�G�H�
�	�B�H�H�1�1��1�=�z�Jr3�rr)rrz%nb_majorticks, expected_nb_minorticksc�v�tj�\}}d}|j|�|jt	j
|d|d|��|j
�|jjtj��t|jj��|k(sJ�y)N)rrrr)
r�r�r��
set_xticksr;�linspacer�r��set_minor_locatorr)�AutoMinorLocator�len�get_minorticklocs)r,�
nb_majorticks�expected_nb_minorticksr�r��xlimss      r1�test_low_number_of_majorticksz2TestAutoMinorLocator.test_low_number_of_majorticksls����,�,�.���R�������U��
�
�
�b�k�k�%��(�E�!�H�m�D�E�
����
���"�"�7�#;�#;�#=�>��2�8�8�-�-�/�0�4J�J�J�Jr3))rr)rrl)�@r)rr)r rc��tjddi�5|jD�cgc]}|d��	}}tjj|t
j�j�ddd�ycc}w#1swYyxYw)Nz_internal.classic_modeFr)	rdre�majorstep_minordivisionsr;�testing�assert_allcloser)�AutoLocator�_steps)r,�x�
majorstepss   r1�"test_using_all_default_major_stepsz7TestAutoMinorLocator.test_using_all_default_major_steps�sz��
�^�^�5�u�=�
>�	E�(,�(E�(E�F�1�!�A�$�F�J�F��J�J�&�&�z�'.�':�':�'<�'C�'C�
E�	E�	E��F�	E�	E�s�A?�A:�>A?�:A?�?Bz&major_step, expected_nb_minordivisionsc�N�tj�\}}d|f}|j|�|j|�|j	�|j
j
tj��t|j
j��dz}||k(sJ�y�Nrr)r�r�r�r�r�r�r�r)r�r�r�)r,�
major_step�expected_nb_minordivisionsr�r�r��nb_minor_divisionss       r1�test_number_of_minor_ticksz/TestAutoMinorLocator.test_number_of_minor_ticks�s����,�,�.���R��J�������U��
�
�
�e��
����
���"�"�7�#;�#;�#=�>� ����!;�!;�!=�>��B��!�%?�?�?�?r3))rrv)rg�n���?)r�ԍ��;)rg��Vs�?=)gH����׊�gI
hG|�a�)gv�
�!�>����ҷ>)���ʔA{���v��(��)g"s2_�d��glEՎfU��rw)�{�G�zt?�{�G�z�?���Q��?g�������?g���Q��?g�Q���?g
ףp=
�?rxg)\��(�?g�p=
ף�?g�Q���?g333333�?g�(\�µ?g
ףp=
�?gR���Q�?g�z�G�?�)\��(�?gq=
ףp�?��?g�p=
ף�?gH�z�G�?)gO�
��;gO�
��;g���U�;g#B����;g���U�;g��̈=��;g�nP�*@�;g#B����;g�ԍ��;ga�W���;g��̈=��;g��m�x��;g��J��;g�nP�*@�;gnX��en�;g�+3M���;r�)g�+�����<g�+����=g��t�=g�vIh�%=g��t� =g(��#=gQu�.U)=g�vIh�%,=g���U�.=gn�b]�K2=g(��3=g�7�Q5=gU>?��7=gQu�.U9=g�c߯x�:=g;�� �==g���U�>=)g�*�#&,��g����Y���g#"�5�Ԉ�g_eG�|��g��S�'ц�g�BY[%��g�k�̈́�gv�
�!��g��|)v��gQ�؎���g�q��r��g���ƀ�g��%e��~�g�w$�}�g�߈�/|�g����Y�y�g��v��(x�g��S�'�v�gv�
�!t�g�z�]�r�g�q��rq�g�w$�m�gH�����j�g��v��(h�g�z�]�b�)g����L�>g�E�/�w�>g��ZMϢ�>g�k�ʹ>g	ʧ��#�>g!+lěN�>g:�0�y�>gR���>g��};h��>g�BY[%�>g�qwNP�>g��ʔA{�>g��S�'Ѷ>g����>g.W�'�>gG��)R�>gxz)e秷>r�)g5m�/G��g�<�����g�T跾g��`���gxz)e秷�g�IG�m���g�肸zg��gG��)R��g�����<��g�&�|���g�����g��5_�涾gqdqA����g�3��4���gY�#����)g#"�5�Ը�g�_���~��r�g����ҷ�g.W�'��g��S�'Ѷ�r�g�BY[%��g:�0�y��g	ʧ��#��g�k�ʹ�g�E�/�w��gE���̳�g��|)v��g�<sAC ��g�z�]ʲ�gQ�؎���g 4PS�ȱ�g�q��r��g��>����g\+-eq��g+i�)+��g�M7܉���g��%e�ޮ�g�w$���zlim, refc��tj�\}}|j�|jdddd��|jdddd��|j	|�t|jjd�	�|�y)
NTr��yr)�	linewidth�major�k)�colorr�r)r�r�r��grid�set_ylimr�yaxisr�)r,�lim�refr�r�s     r1�test_additionalz$TestAutoMinorLocator.test_additional�sm���,�,�.���R�
����
����g�s�a��0�
����g�S�A��6�
���C���B�H�H�1�1��1�=�s�Cr3N)r8r9r:r2�paramsr@rArBr�r�r�r��limits�	reference�list�zip�additional_datar�rCr3r1rtrt\s���K�	���F�
�[�[���D�f�M�	K�N�	K� )��E��[�[���E�5�7�	@�7�	@�>�F�	B�	�	'�	'�	�
	1�	E�	�/�I�:�3�v�y�1�2�O��[�[���Z��9�D�:�Dr3rtc��eZdZd�Zd�Zd�Zy)�TestLogLocatorc��tjd��}tjt�5|jdd�ddd�t
jgd��}t|jdd�|�tjd�	�}t
jgd
��}t|jdd�|�y#1swY��xYw)
NrrHr��)��h㈵��>rry�$@�@�@�j�@g�cA�e��Arg�@rrZ)
rr�@�@g @g0@g@@gP@g`@gp@rr	)	r)�
LogLocatorr@�raises�
ValueErrorr+r;r<rrNs   r1r2zTestLogLocator.test_basic�s���� � �!�,��
�]�]�:�
&�	%��O�O�A�t�$�	%��X�X�@�A�
�	�C�O�O�E�5�9�:�F�� � �a�(���X�X�N�O�
��C�O�O�A�s�3�Z�@�	%�	%�s�C�Cc��tjd��}t|jdd�gd��tjt	j
dd���}d|jd	d
�vsJ�d|jd	d
�vsJ�y)N�all��subsr{r|)g)\��(�?gq=
ףp�?g���Q��?rg�p=
ף�?gH�z�G�?g�Q����?rr rr}r
r�)r)r�rr+r;r=rTs  r1�test_switch_to_autolocatorz)TestLogLocator.test_switch_to_autolocator�sz��� � �e�,���3�?�?�4��6�D�	F�� � �b�i�i��2�&6�7���#�/�/�#�s�3�3�3�3��3�?�?�3��4�4�4�4r3c���tj�}|jdddgd��|jdk(sJ�|jdk(sJ�|j
dk(sJ�t
|j�dgk(sJ�y)z�
        Create log locator with default value, base=10.0, subs=[1.0],
        numdecs=4, numticks=15 and change it to something else.
        See if change was successful. Should not raise exception.
        �rQr�rl)rI�numdecsr�r[N)r)r�rSrIr��_baser��_subsrTs  r1rUzTestLogLocator.test_set_params�st��� � �"������1�C�5�q��A��|�|�q� � � ��{�{�a�����y�y�A�~��~��C�I�I��3�%�'�'�'r3N)r8r9r:r2r�rUrCr3r1r�r��s��A�5�(r3r�c��eZdZd�Zy)�TestNullLocatorc��tj�}tjt�5|j�ddd�y#1swYyxYw)z�
        Create null locator, and attempt to call set_params() on it.
        Should not exception, and should raise a warning.
        N)r)�NullLocatorr@�warns�UserWarningrSrTs  r1rUzTestNullLocator.test_set_params�s=��
�!�!�#��
�\�\�+�
&�	��N�N��	�	�	�s�A�AN�r8r9r:rUrCr3r1r�r��s��r3r�c�,�eZdZed��Zed��Zy)�_LogitHelperc���d|cxkrdkr[nnXd|cxkrdkrMnnJtjtjd|zdz
�tjd|zdz
��SdS)NrrF)r;�isclose�log)r�r�s  r1r�z_LogitHelper.isclose�sZ���q�9�1�9��Q�����
�
�B�F�F�1�Q�3�q�5�M�>�B�F�F�1�Q�3�q�5�M�>�:�	7�05�	7r3c��tj|�}tj|�}tj|dkD�rtj|dk�sJ�tj|dkD�rtj|dk�sJ�tjd|zdz
�}tjd|zdz
�}t	||�yr�)r;r<r�r�r)r�r�r��ay�lx�lys      r1rz _LogitHelper.assert_almost_equal�s���
�X�X�a�[��
�X�X�a�[���v�v�b�1�f�~�"�&�&��a��.�0�0��v�v�b�1�f�~�"�&�&��a��.�0�0��f�f�Q�r�T�!�V�n�_���f�f�Q�r�T�!�V�n�_���B��#r3N)r8r9r:�staticmethodr�rrCr3r1r�r��s(���7��7��$��$r3r�c
�,�eZdZgd�Zddej
dd�zzddej
dd�zzddej
dd�zzddej
dd�zzddej
dd�zzddej
dd	�zzddej
dd
�zzddej
dd�zzgZgd�Zejjdeee��d
��Zejjde�d��Z
ejjdeez�d��Zejjdeee��d��Zd�Zgdej
dd�z�ddej
dd�zz
�Zejjdej&ed��D���cgc]\}}||k7r||f��c}}}�d��Zejjde�d��Zycc}}}w)�TestLogitLocator)�rxr)r�gףp=
��?)g����Mb@?g�C�l��?��-C��6
?g�St$���?)g�h㈵��>g�;�����?)g���Ơ>g�����?�gH�����j>ge
(��?)g:�0�y5>g$�P����?rr rGrlrrr�rQ�	))皙�����?g333333�?)rxrL)g�������?rzlims, expected_low_ticksc��tg|�d�d|z
��}tjd��}tj	|j
|�|�y)zR
        Create logit locator with huge number of major, and tests ticks.
        rrr	r&N)�sortedr)�LogitLocatorr�rr+)r,�lims�expected_low_ticks�expected_ticksr0s     r1�test_basic_majorz!TestLogitLocator.test_basic_majorsX�� �A� �A�#�A��-?�)?�A�
���"�"��-���(�(��C�O�O�T�"��	
r3r�c�T�tjd��}tjdgd���}dD]t}|j|��|j|��|j|�}|j|�}|j
|j
k(sJ�||k(j
�r�tJ�y)zj
        When the axis is zoomed, the locator must have the same behavior as
        MaxNLocator.
        r	r&)rrrr )r'r6)rlrQ�N)r)r�r*rSr+�shaper�)r,r�r0�maxn_locr'�ticks�
maxn_tickss       r1�test_maxn_majorz TestLogitLocator.test_maxn_major/s����"�"��-���&�&�S�
�F���	/�E��N�N��N�'����e��,�#�C�O�O�T�*�E�-��-�-�t�4�J��;�;�*�"2�"2�2�2�2��Z�'�,�,�.�.�.�
	/r3c�.�ttjtj|d���dzdz}t	j
d��}t
|dd�D]4}|j|��t|j|��|dzkr�4J�y)zB
        Assert logit locator for respecting nbins param.
        rrrr	r&rN)
�intr;�floor�log10r)r��rangerSr�r+)r,r��basic_neededr0r's     r1�test_nbins_majorz!TestLogitLocator.test_nbins_major?s����B�H�H�R�X�X�d�1�g�%6�7�7�8�1�<�q�@���"�"��-���<��B�/�	<�E��N�N��N�'���s����-�.�%�!�)�;�;�;�	<r3c��tg|�d�d|z
��}t|�}tjd��}tjdd��}t	|dd�D]�}|j|��|j|��|j|�}|j|�}	t|�t|�k\r t|�dz
d	zt|	�kr�zJ�tjtg|�|	��|���y
)zt
        In large scale, test the presence of minor,
        and assert no minor when major are subsampled.
        rrr	r&T)r'r�rrrN)	r�r�r)r�rrSr+r�r)
r,r�r�r�rr0�	minor_locr'�major_ticks�minor_tickss
          r1�
test_minorzTestLogitLocator.test_minorKs
�� �A� �A�#�A��-?�)?�A�
���>�*���"�"��-���(�(�s�$�?�	��<��B�/�	J�E��N�N��N�'�� � �u� �-�)�#�/�/�4�0�K�/�)�/�/��6�K��;��3�~�#6�6��K�(�1�,��1�C��4D�D�D�D��0�0��7�[�7�;�7�8�.�J�	Jr3c��tjd��}|jrJ�d|_|jsJ�|jd��|jrJ�y)Nr	r&TFr)r)r�r�rSrTs  r1�test_minor_attrz TestLogitLocator.test_minor_attrhsM���"�"��-���9�9��}���	��y�y��y����U��#��9�9��}�9r3r����rr)�repeatc�|�tj�}|j|�}t|�t|�k(sJ�y)zd
        Create logit locator, and test the nonsingular method for acceptable
        value
        N)r)r��nonsingularr�)r,r�r0�lims2s    r1�test_nonsingular_okz$TestLogitLocator.test_nonsingular_okus8���"�"�$�������&���d�|�v�e�}�,�,�,r3�okvalc���tj�}d|}}|j||�\}}||k(sJ�d|cxkr|ksJ�J�|d}}|j||�\}}||k(sJ�||cxkrdksJ�J�y)zh
        Create logit locator, and test the nonsingular method for non
        acceptable value
        rrrrN)r)r�r)r,rr0r-r.�vmin2�vmax2s       r1�test_nonsingular_nokz%TestLogitLocator.test_nonsingular_nok�s����"�"�$���%�d�����t�T�2���u���}��}��5� �5� � � � � ��Q�d�����t�T�2���u���}��}��u� �q� � � � � r3N)r8r9r:�ref_basic_limitsr;r=�ref_basic_major_ticks�ref_maxn_limitsr@rArBr�r�r�rr
r�acceptable_vmin_vmax�	itertools�productrr)�.0�a�bs000r1r�r�sm��	��	
�R�9�2�9�9�Q��?�
"�#�	�R�9�2�9�9�Q��?�
"�#�	�R�9�2�9�9�Q��?�
"�#�	�R�9�2�9�9�Q��?�
"�#�	�R�9�2�9�9�Q��?�
"�#�	�R�9�2�9�9�Q��?�
"�#�	�R�9�2�9�9�Q��?�
"�#�	�R�9�2�9�9�Q��#�
#�$�	��G�O��[�[���"���3�4��
�	�
��[�[���V�_�5�
/�6�
/��[�[���V�%5��%G�H�	<�I�	<��[�[���"���3�4��J�	�J�2��

�����2�q�!�
!��
�c�Y�R�Y�Y�r�1�%�%�
%���
�[�[����,�)�+�+�,@��K�	
�	
���A��A�v���F�	
��-��-��[�[���W�&:�;�
!�<�
!��!	
s�
Hr�c��eZdZd�Zy)�TestFixedLocatorc��tjtdd�d��}|jd��|jdk(sJ�y)z�
        Create fixed locator with 5 nbins, and change it to something else.
        See if change was successful.
        Should not exception.
        r�rr&r�N)r)�FixedLocatorrrSr')r,�fixeds  r1rUz TestFixedLocator.test_set_params�s?���$�$�U�1�b�\��;��
���q��!��{�{�a���r3Nr�rCr3r1r"r"�s�� r3r"c��eZdZd�Zy)�TestIndexLocatorc��tjdd��}|jdd��|jdk(sJ�|jdk(sJ�y)z�
        Create index locator with 3 base, 4 offset. and change it to something
        else. See if change was successful.
        Should not exception.
        rGrl)r[�offsetr�N)r)�IndexLocatorrSr�r*)r,�indexs  r1rUz TestIndexLocator.test_set_params�sM���$�$�!�A�6��
���a���*��{�{�a�����|�|�q� � � r3Nr�rCr3r1r(r(�s��	!r3r(c��eZdZd�Zy)�TestSymmetricalLogLocatorc��tjdd��}|jdgd��|jdgk(sJ�|jdk(sJ�y)z�
        Create symmetrical log locator with default subs =[1.0] numticks = 15,
        and change it to something else.
        See if change was successful.
        Should not exception.
        r r)r[�	linthreshr�rQ)r�rIN)r)�SymmetricalLogLocatorrSr�rI)r,�syms  r1rUz)TestSymmetricalLogLocator.test_set_params�sN���+�+��q�A�����S�E�A��.��y�y�S�E�!�!�!��|�|�q� � � r3Nr�rCr3r1r.r.�s��
!r3r.c�<�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
y	)
�TestAsinhLocatorc��tjdd��}|jdk(sJ�|jdk(sJ�|jdk(sJ�y)NgX9��v�@�)�linear_widthrIr )r)�AsinhLocatorr7rIr[�r,�lctrs  r1�	test_initzTestAsinhLocator.test_init�sJ���#�#���D��� � �E�)�)�)��}�}��"�"�"��y�y�B���r3c�.�tjddddd��}|jdk(sJ�|jdk(sJ�|jdk(sJ�|j
dk(sJ�|j
d��|jdk(sJ�|j
d�|jdk(sJ�|j
d	�
�|jd	k(sJ�|j
d�
�|jd	k(sJ�|j
d��|jdk(sJ�|j
d��|jdk(sJ�|j
d
��|j
d
k(sJ�|j
d��|j
d
k(sJ�|j
g��|j
�J�y)Nr�r�rl)r�g
@)r7rI�	symthreshr[r��rHr)r>r�rZ)rg�@r�)r)r8rIr>r[r�rSr9s  r1rUz TestAsinhLocator.test_set_params�s~���#�#��-/�5�)*��>���}�}��"�"�"��~�~��&�&�&��y�y�A�~��~��y�y�K�'�'�'������$��}�}��"�"�"�������}�}��"�"�"����#��&��~�~��$�$�$����$��'��~�~��$�$�$����Q����y�y�A�~��~����T��"��y�y�A�~��~����Z��(��y�y�J�&�&�&����T��"��y�y�J�&�&�&����R�� ��y�y� � � r3c�Z�tjddd��}t|jdd�t	j
ddd��t|jd	d
�t	j
d	dd��t|jd
d�t	j
d
dd��y)Nr	�r�r7rIr[rr�)\��(�?rLrrygB`��"۹?g{�G�z�?g{�G�z��r�gM�
O��?���Mb`?�r)r8rr+r;r=r9s  r1�test_linear_valuesz#TestAsinhLocator.test_linear_values�s����#�#��r��J���D�,�,�R��3��I�I�b�$��4�	6��D�,�,�T�3�7��I�I�d�E�4�8�	:��D�,�,�U�D�9��I�I�e�V�U�;�	=r3c��tjddd��}t|jdd�gd��t|jdd	�gd
��y)NryrArrB���r	)rH���rr皙����ɿrrLrrrr	����r�)rKrHrIr
g������ٿrr�rGrr	r��r)r8rr+r9s  r1�test_wide_valuesz!TestAsinhLocator.test_wide_values�sP���#�#��r��J���D�,�,�T�3�7�4�	5�	�D�,�,�U�D�9�7�	8r3c�p�tjddd��}t|jdd�gd��y)	z<Check that manually injected zero will supersede nearby tickr	rGrrBg�������r})g�rr}NrLr9s  r1�test_near_zerozTestAsinhLocator.test_near_zero�s.���#�#��q�q�I���D�,�,�T�3�7�9I�Jr3c��tjdd��}t|jdd�t	j
ddd��y)NrrArH�e�fgq=
ף�Y@ryrEr9s  r1�
test_fallbackzTestAsinhLocator.test_fallback�s;���#�#�C�"�5���D�,�,�S�#�6��I�I�c�6�3�7�	9r3c�(�Gd�d�}tjdddd��}||_d|_t	|�gd	��d
|_t	|�gd��d|_t	|�gd��d
|_t	|�gd��y)Nc� �eZdZdZed��Zy)�5TestAsinhLocator.test_symmetrizing.<locals>.DummyAxis)rrc��|jS�N)�bounds)�clss r1�get_view_intervalzGTestAsinhLocator.test_symmetrizing.<locals>.DummyAxis.get_view_intervals��/2�z�z�(9r3N)r8r9r:rY�classmethodr[rCr3r1�	DummyAxisrVs���F�
�9��9r3r]rrGrr)r7rIr>r[)rr)rrr)rr}�rrr)g333333�r~)rr)rr~r)r)r8�axisrYr)r,r]r:s   r1�test_symmetrizingz"TestAsinhLocator.test_symmetrizings~��	:�	:�
�#�#��Q�.2��<����	�"�	���D�F�J�/�$�	���D�F�J�/�(�	���D�F�J�/�#�	���D�F�N�3r3c���tjdddd��}t|jdd�gd��tjdd	d
��}t|jdd
�gd��y)NrrQr )rrGr)r7rIr[r�����n)i���i���rHi���i�����rr
r��rKrrryrzrrrGrr r"�2r	i,��rrrBi��i)
i����i����i��rrrJrrLrr��}iqrL)r,�lctr10�lctr5s   r1�test_base_roundingz#TestAsinhLocator.test_base_roundingsk���%�%�1�q�+-�I�?���F�.�.�t�S�9�A�	B�
�$�$�!�b�q�I���E�-�-�e�T�:�6�	7r3N)r8r9r:r;rUrFrMrOrSr`rlrCr3r1r4r4�s+���!�>=�8�K�9�4�,7r3r4c��eZdZgd�ZddgZddgZgd�Zddgddgd	d
gddgd
dggZgd�Ze	jjdddg�d��Ze	jjde�d��Z
e	jjde�d��Ze	jjde�d��Zd�Zd�Ze	jjde�d��Ze	jjde�d��Ze	jjd e�d!��Ze	jjd e�d"��Zd#�Zd$�Zy%)&�TestScalarFormatter))�{�r)iC���i����r)i50i=0i40)i���i���i���)g�i�@g�j�@順)g�j��g�i���`y��)ghi�@gj�@rq)gj��ghi��rr)iO�iQ�iP�)i�+�i�+�i�+�)rrr)roror)g�/�'�?g��_�L�?r{)g
ףp=��@g33333��@i�)g������@g�`�@iȯ)g1е/�G?g��g޻G?g�9̗G?)g\��h��@g�p=
���@i.1)g"@g(@r)g �@���@r)g��@rsr)�G�z��?rCr)g{�G�#@g��Q�$@r )g��(\�X@gq=
ףY@r	)g�(\��@g
ףp=
@r)g{�G�/@g�(\�0@r�)g!�rh��ܿ�rh��|�?r)g�rh��|߿rur)g3333��@g@�@i0)gffff��gffff��@rTF)	)Fr�)r�r
rF)T����r)rdrrF)Trv)rIr rF)Trv)rb�xrF)Trv)i����rcrF)Trv)g����MbP�rDr
F)T)r^r�)g�t��Ag0�Ar�T)Tr��gj��r�rF)T)rrryrFrz0.000g�(�
�0�?z0.012g�rh��|�?z0.123g�G�z��?z1.230g������(@z12.300))ry�1e-1)r�z1.1e-1)g�חA�1e8)g�9�Az1.1e8zunicode_minus, result)T�−1)F�-1c���|tjd<tj�jj�j
d�j�|k(sJ�y)N�axes.unicode_minusr)rd�rcParamsr��gcar��get_major_formatter�format_data_short�strip)r,�
unicode_minus�results   r1�test_unicode_minusz&TestScalarFormatter.test_unicode_minusjsO��.;����)�*��G�G�I�O�O�/�/�1�C�C�B�G�M�M�O��
�	�
r3zleft, right, offsetc�V�tj�\}}|jj�}||k(rt	j
td��n	t�5|j||�ddd�|jj�|j|k(sJ�||k(rt	j
td��n	t�5|j||�ddd�|jj�|j|k(sJ�y#1swY��xYw#1swY�AxYw)NzAttempting to set identical��match)r�r�r�r�r@r�r�rr��
_update_ticksr*)r,�left�rightr*r�r��	formatters       r1�test_offset_valuez%TestScalarFormatter.test_offset_valuers����,�,�.���R��H�H�0�0�2�	�����l�l�;�.K�L�$/�M�	%��K�K��e�$�	%�	����� ����6�)�)�)�����l�l�;�.K�L�$/�M�	%��K�K��t�$�	%�	����� ����6�)�)�)�	%�	%��	%�	%�s�D�D�D�D(�
use_offsetc���tjd|i�5tj�}||j	�k(sJ�|j
dk(sJ�	ddd�y#1swYyxYw)Nzaxes.formatter.useoffsetr)rdrer)�ScalarFormatter�
get_useOffsetr*)r,r��tmp_forms   r1�test_use_offsetz#TestScalarFormatter.test_use_offset�s`��
�^�^�7��D�
E�	(��.�.�0�H���!7�!7�!9�9�9�9��?�?�a�'�'�'�	(�	(�	(�s�;A�A&�
use_math_textc��tjd|i�5tj�}||j	�k(sJ�	ddd�y#1swYyxYw)N�axes.formatter.use_mathtext)rdrer)r��get_useMathText)r,r�r�s   r1�test_useMathTextz$TestScalarFormatter.test_useMathText�sN��
�^�^�:�M�J�
K�	?��.�.�0�H� �H�$<�$<�$>�>�>�>�	?�	?�	?�s�*A�Ac��tj�}|jd�|j�rJ�|jdk(sJ�y)Nr)r)r��
set_useOffsetr�r*�r,r�s  r1�test_set_use_offset_floatz-TestScalarFormatter.test_set_use_offset_float�sB���*�*�,�����s�#��)�)�+�+�+����#�%�%�%r3c���tj�}|d}|r|dddgtjgfvrtjd�tjddi�5tj�}|j�sJ�|j�|jjdd�|jgd	��||d
�vsJ�	ddd�y#1swYyxYw)N�
thousands_sep�groupingrzLocale does not apply groupingzaxes.formatter.use_localeTrr )rrrGr�)�locale�
localeconv�CHAR_MAXr@�skiprdrer)r��
get_useLocale�create_dummy_axisr_�set_data_interval�set_locs)r,�conv�sepr�s    r1�test_use_localez#TestScalarFormatter.test_use_locale�s���� � �"���?�#���d�:�&�r�s�+��V�_�_�4E�/F�F��K�K�8�9�
�^�^�8�$�?�
@�	(��.�.�0�H��)�)�+�+�+��&�&�(��M�M�+�+�A�r�2����i�(��(�3�-�'�'�'�	(�	(�	(�s
�#A2C�C(z.sci_type, scilimits, lim, orderOfMag, fewticksc���tj�}|j|�|j|�t	j
�\}}|jj|�|j|�|r.|jjtjd��|j|jj��||jk(sJ�y)Nrl)r)r��set_scientific�set_powerlimitsr�r�r��set_major_formatterr��set_major_locatorr*r��get_majorticklocs�orderOfMagnitude)	r,�sci_type�	scilimitsr��
orderOfMag�fewticksr�r�r�s	         r1�test_scilimitsz"TestScalarFormatter.test_scilimits�s����*�*�,������)�� � ��+��,�,�.���R�
���$�$�X�.�����S����H�H�&�&�w�':�':�1�'=�>����"�(�(�4�4�6�7��X�6�6�6�6�6r3zvalue, expectedc�~�dtjd<tj�}|j	|�|k(sJ�y)NFr)rdr�r)r��format_data)r,�valuer/�sfs    r1�test_format_dataz$TestScalarFormatter.test_format_data�s6��-2����)�*�
�
$�
$�
&���~�~�e�$��0�0�0r3zdata, expectedc��tj�\}}|jdd�|jj	�j
}||�|k(sJ�y)Nrr)r�r�r�r�r�r�)r,rbr/r�r��fmts      r1�test_cursor_precisionz)TestScalarFormatter.test_cursor_precision�sI���,�,�.���R�
���B����h�h�*�*�,�>�>���4�y�H�$�$�$r3c�2�tj�}|j�|jj	dd�|j
}||�|k(sJ�|jj
�dk(sJ�|jj�dk(sJ�y)Nrr r�)r)r�r�r_�set_view_intervalr��get_tick_space�
get_minpos)r,rbr/r�r�s     r1�test_cursor_dummy_axisz*TestScalarFormatter.test_cursor_dummy_axis�s����
$�
$�
&��
����
���!�!�!�R�(��"�"���4�y�H�$�$�$��w�w�%�%�'�1�,�,�,��w�w�!�!�#�q�(�(�(r3c�2�tjjdddd��tjt
d��5t
j�\}}|jgd��|jj�ddd�y#1swYyxYw)N�serif�cmr10F)zfont.familyz
font.serifr�zcmr10 font should ideallyr�r^)rdr��updater@r�r�r�r�r��canvas�draw)r,r�r�s   r1�test_mathtext_ticksz'TestScalarFormatter.test_mathtext_ticks�sq�������"�!�+0�
�	��\�\�+�-H�
I�	��l�l�n�G�C���M�M�*�%��J�J�O�O��	�	�	�s�AB
�
Bc�h�tj�}|jg�|d�dk(sJ�y)Nr�)r)r�r�)r,r�s  r1�test_empty_locsz#TestScalarFormatter.test_empty_locs�s+��
�
$�
$�
&��
���B���#�w�"�}��}r3N)r8r9r:�offset_data�use_offset_data�useMathText_data�scilimits_data�cursor_datar�r@rArBr�r�r�r�r�r�r�r�r�r�r�r�rCr3r1rnrn(s����K�B�U�m�O��e�}��
�N�
�W�
�	���	���	
���	
�x���K��K��[�[���4�7��G�I��I���[�[���2�K�@�*�A�*� �[�[���\�?�;�(�<�(��[�[���_�.>�?�?�@�?�
&�
(��[�[���8�.�J�7�J�7��[�[���.��<�1�=�1�
�[�[���-�{�;�%�<�%��[�[���-�{�;�)�<�)�
�r3rnc��eZdZdZdd�Zd�Zy)�FakeAxiszAAllow Formatter to be called without having a "full" plot set up.c� �||_||_yrX�r-r.)r,r-r.s   r1�__init__zFakeAxis.__init__�s����	���	r3c�2�|j|jfSrXr�)r,s r1r[zFakeAxis.get_view_interval�s���y�y�$�)�)�#�#r3N)rr )r8r9r:�__doc__r�r[rCr3r1r�r��s��K��$r3r�c���eZdZddejdd�ejdd�gd�fddej
dd	ejd
ddg�ed
�gd�fddej
gd�e��ed
�gd�fgZ	dddejejgZejjde	�ejjde�d���Zd�Zy)�TestLogFormatterExponentTrlr
r�)z-3z-2r}�0�1�2�3Fr ryr�rLrJg�h㈵��r)�0.1z1e-05�3.14z0.2z-0.2z-1e-05rf)rGr��*��dtype)r��5�12�42r�g@r�z2labelOnlyBase, exponent, locs, positions, expectedr[c��tj||��}td||z�|_||z}t	||�D�	�
cgc]\}	}
||	|
���}}	}
|D�cgc]}|jdd���}}||k(sJ�ycc}
}	wcc}w)N�r[�
labelOnlyBaser�-u−)r)�LogFormatterExponentr�r_r��replace)
r,r�r[�exponent�locs�	positionsr/r��valsr��pos�labels�labels
             r1r2z#TestLogFormatterExponent.test_basic�s���
�0�0�d�?L�N�	�!�!�T�8�^�4�	���T�z��47��i�4H�I���C�)�A�s�#�I��I�FN�O�U�E�M�M�#�'7�8�O��O���!�!�!��J��Os�A=�Bc�j�tjdd��}t�|_|d�dk(sJ�y)Nr Tr�g&���$�?r�)r)r�r�r_)r,r�s  r1�
test_blankz#TestLogFormatterExponent.test_blanks0���0�0�b��M�	�!��	����!�R�'�'�'r3N)r8r9r:r;r=r<�pir�float�
param_data�e�	base_datar@rArBr2r�rCr3r1r�r��s���	
�q�)�"�)�)�B��$�i�b�i�i��C�&8�	/�	1�
��H�B�H�H�c�7�B�E�E�3��h�G�H�	�q��D�	F�	��H�B�H�H�^�5�9�5��8�	�	!�	�J��c�4�������-�I��[�[���@�*�N��[�[���V�Y�/�"�0�N�"�(r3r�c�z�eZdZej�Zgd�Zejjde�d��Z
y)�TestLogFormatterMathtext))rr�$\mathdefault{10^{0}}$)rr�z$\mathdefault{10^{-2}}$)rrz$\mathdefault{10^{2}}$)rGrz$\mathdefault{1}$)rGr�z$\mathdefault{0.01}$)rGrz$\mathdefault{100}$)rGrz$\mathdefault{10^{-3}}$)rGr�z$\mathdefault{10^{3}}$zmin_exponent, value, expectedc��tjd|i�5|j|�|k(sJ�	ddd�y#1swYyxYw)Nzaxes.formatter.min_exponent)rdrer�)r,�min_exponentr�r/s    r1�test_min_exponentz*TestLogFormatterMathtext.test_min_exponents?��
�^�^�:�L�I�
J�	/��8�8�E�?�h�.�.�.�	/�	/�	/�s	�9�AN)r8r9r:r)�LogFormatterMathtextr��	test_datar@rArBrrCr3r1rr
s@��
&�'�
&�
&�
(�C�	�I��[�[���<�i�H�/�I�/r3rc��eZdZgd�Zej
j
d�ejjde�d���Z
y)�TestLogFormatterSciNotation))rg�?z$\mathdefault{2^{-5}}$)rrz$\mathdefault{2^{0}}$)r� z$\mathdefault{2^{5}}$)rg333333�?z$\mathdefault{1.2\times2^{-5}}$)r�333333�?z$\mathdefault{1.2\times2^{0}}$)rg333333C@z$\mathdefault{1.2\times2^{5}}$)r rz$\mathdefault{-10^{0}}$)r r�z$\mathdefault{10^{-5}}$)r rr)r rqz$\mathdefault{10^{5}}$)r g�h㈵��>z$\mathdefault{2\times10^{-5}}$)r rz$\mathdefault{2\times10^{0}}$)r i@
z$\mathdefault{2\times10^{5}}$)r r�z$\mathdefault{5\times10^{-5}}$)r rz$\mathdefault{5\times10^{0}}$)r i �z$\mathdefault{5\times10^{5}}$�defaultzbase, value, expectedc��tj|��}hd�|_tjddi�5||�|k(sJ�	ddd�y#1swYyxYw)NrZ>r
rrr�text.usetexF)r)�LogFormatterSciNotation�sublabelrdre)r,r[r�r/r�s     r1r2z&TestLogFormatterSciNotation.test_basic1sU���3�3��>�	�+�	��
�^�^�]�E�2�
3�	0��U�#�x�/�/�/�	0�	0�	0�s�A�AN)r8r9r:rrd�style�contextr@rArBr2rCr3r1rrsG���I�&	�Y�Y���y�!��[�[���4�i�@�0�A�"�0r3rc�2�eZdZgd�Zej
j
de�d��Zd
d�Ze	jjd�d��Zej
j
dgd��d	��Z
ej
j
dgd
��d��Zy)�TestLogFormatter)�)�}�9�x?rz3.142e-5)���Gŷ�4?rz3.142e-4)��e�i?rz3.142e-3)�\, ���?rz3.142e-2)�s7�v/�?rz3.142e-1)�PERT�!	@r�3.142)��f)zj?@rz3.142e1)�&F�Y��s@rz3.142e2)�WXp/��@rz3.142e3)�mnL���@rz3.142e4)���,Arz3.142e5)r�r�1e-5)r
r�1e-4)rr�1e-3)r�r�1e-2)ryrrz)rrr�)r r�10)r	r�100)r�r�1000)�'r�1e4)rqr�1e5)rr�r�)rr�r�)rr��0.003)rr��0.031)rr��0.314)rr�r)rr��31.416)rr��314.159)rr��3141.593)rr��	31415.927)rr��
314159.265)r�r�r�)r
r�r�)rr��0.001)r�r��0.01)ryr�r�)rr�r�)r r�r$)r	r�r%)r�r�r&)r'r��10000)rqr��100000)rrr�)rrr�)rrr*)rrr+)rrr,)rrr)rrr-)rrr.)rrr/)rrr0)rrr1)r�rr�)r
rr�)rrr2)r�rr3)ryrr�)rrr�)r rr$)r	rr%)r�rr&)r'rr4)rqrr5)rrr�)rrr�)rrr�)rrz0.03)rrz0.31)rrr�)rrz31.42)rrz314.16)rrz3141.59)rrz31415.93)rrz	314159.27)r�rr�)r
rr�)rrr�)r�rr3)ryrr�)rrr�)r rr$)r	rr%)r�rr&)r'rr4)rqrr5)rr	r�)rr	r�)rr	r�)rr	r�)rr	z0.3)rr	�3.1)rr	z31.4)rr	z314.2)rr	z3141.6)rr	z31415.9)rr	z314159.3)r�r	r�)r
r	r�)rr	r�)r�r	r�)ryr	r�)rr	r�)r r	r$)r	r	r%)r�r	r&)r'r	r4)rqr	r5)r���.Az3.1e-5)rr7z3.1e-4)rr7z3.1e-3)rr7z3.1e-2)rr7z3.1e-1)rr7r6)rr7z3.1e1)rr7z3.1e2)rr7z3.1e3)rr7z3.1e4)rr7z3.1e5)r�r7r )r
r7r!)rr7r")r�r7r#)ryr7rz)rr7r�)r r7r$)r	r7r%)r�r7r&)r'r7r()rqr7r)zvalue, domain, expectedc�^�tj�}|j||�}||k(sJ�yrX)r)�LogFormatter�_pprint_val)r,r��domainr/r�r�s      r1�test_pprintzTestLogFormatter.test_pprint�s.���"�"�$������v�.���� � � r3c�H�|j�}|j�}|j|�|dtjtj
|��zz}|D�cgc]}t
|�|v��}}|D�cgc]
}||�dk7��}	}|	|k(sJ�ycc}wcc}w)z.Test whether locator marks subs to be labeled.r r�N)�get_minor_formatterr�r�r;rr�round)
r,r_r�r��minor_tlocs�coefs�c�label_expectedr��
label_tests
          r1�_sub_labelszTestLogFormatter._sub_labels�s����&�&�(���,�,�.�����[�!��b�2�8�8�B�H�H�[�,A�#B�C�C��49�:�q�%��(�d�*�:��:�,7�8�q�c�!�f��l�8�
�8��^�+�+�+��;��8s�$B�>Brc	�$�tj�\}}|jd�|jj	tjdg���|jjtjdtjdd����|jjtjd���|jjtjd���|jdd	�|jj�}|j|jj!��|jj!�D�cgc]
}||�d
k7��}}tj"|�sJ�|j%|jg��|jdd�|j%|jg��|jdd
�|j%|jg��|jdd�|j%|jgd���|jdd�|j%|jtjddt&����ycc}w)Nr�r )r[r�rT)r�Frg��@r�r�i �PrQ)rrGrlrrr}r�)r�r��
set_xscaler�r�r)r�r�r;r=r�r9�set_minor_formatterr�r�r�r�r�rEr)r,r�r�r�r��show_major_labelss      r1�
test_sublabelzTestLogFormatter.test_sublabel�s����,�,�.���R�
�
�
�e��
���"�"�7�#5�#5�2�B�#G�H�
���"�"�7�#5�#5�2�;=�9�9�Q��;K�$M�	N�
���$�$�W�%9�%9��%M�N�
���$�$�W�%9�%9��%N�O�
���A�s���h�h�*�*�,�����R�X�X�/�/�1�2�&(�h�h�&@�&@�&B�D�!"�!��V�r�\�D��D��v�v�'�(�(�(���������+�	���A�s����������+�	���A�r����������+�	���A�q����������5�	���C����������	�	�!�R�s�(C��D��-Ds�,J
�val)rr r	r�c�v�tj�}t�|_||�t	|�k(sJ�yrX)r)r9r�r_�str�r,rL�temp_lfs   r1�test_LogFormatter_callz'TestLogFormatter.test_LogFormatter_call�s1���&�&�(���z����s�|�s�3�x�'�'�'r3)ggggc�Z�tj�}t�|_||�yrX)r)r9r�r_rOs   r1�test_LogFormatter_call_tinyz,TestLogFormatter.test_LogFormatter_call_tiny�s"���&�&�(���z�����r3N)rC)r8r9r:�pprint_datar@rArBr<rErdrrrKrQrSrCr3r1rr:s���E�K�N�[�[���6��D�!�E�!�
,�	�Y�Y���y�!�#E�"�#E�J�[�[���U�$6�7�(�8�(��[�[���U�$F�G��H�r3rc���eZdZed��Zejjdgd��d��Ze	e
dd�D��cgc]}d|z��
c}}e
dd�D��cgc]}dd|zz
��
c}}zdgz�Zejjde�d	��Zejjdd
�d��Z
ejjdddejej dd
d��zz�d��Zgd�Zejjde�d��Zd�Zd�Zd�Zejjdd�d��Zycc}}wcc}}w)�TestLogitFormatterc�R�tjd|�}|rL|ddu}|drt|d�nd}|d�t|d�nd}|d|zz}|ds|d�	|rd|z
S|Stjd	|�}|r!t|d
�t|d�}}||zSt	d��)
z�
        Parser to convert string as r'$\mathdefault{1.41\cdot10^{-4}}$' in
        float 1.41e-4, as '0.5' or as r'$\mathdefault{\frac{1}{2}}$' in float
        0.5,
        zT[^\d]*(?P<comp>1-)?(?P<mant>\d*\.?\d*)?(?:\\cdot)?(?:10\^\{(?P<expo>-?\d*)})?[^\d]*$�compN�mantr�exporr z4[^\d]*\\frac\{(?P<num>\d+)\}\{(?P<deno>\d+)\}[^\d]*$�num�denozNot formatted by LogitFormatter)�rer�r�rr�)�stringr�rX�mantissarZr�r[r\s        r1�logit_deformatterz$TestLogitFormatter.logit_deformatters������
�
�
�����=��,�D�/4�V�}�u�U�6�]�+�!�H�).�v��)B�3�u�V�}�%��D��r�T�z�)�E��V�}��f�
� 9���u�9�$������C�V�
����e�E�l�+�U�5��=�-A��C���:���:�;�;r3zfx, x))zSTUFF0.41OTHERSTUFFg=
ףp=�?)zSTUFF1.41\cdot10^{-2}OTHERSTUFFg�!��u�?)zSTUFF1-0.41OTHERSTUFFg�z�G��?)z!STUFF1-1.41\cdot10^{-2}OTHERSTUFFgx$(~��?)�STUFFN)zSTUFF12.4e-3OTHERSTUFFNc���|�8tjt�5tj	|�ddd�ytj	|�}t
j
||�sJ�y#1swYyxYwrX)r@r�r�rVr`r�r�)r,�fxr�r�s    r1�test_logit_deformaterz(TestLogitFormatter.test_logit_deformater)se��
�9����z�*�
9�"�4�4�R�8�
9�
9�#�4�4�R�8�A��'�'��1�-�-�-�	
9�
9�s�A)�)A2rr rr�c���tjd��}|j|j�||�}tj|�}tj||�sJ�y)zj
        Test the formatted value correspond to the value for ideal ticks in
        logit space.
        F��use_overlineN)r)�LogitFormatterr��decade_testrVr`r�r�)r,r�r��s�x2s     r1r2zTestLogitFormatter.test_basicBsW���*�*��>�	����4�+�+�,��a�L��
�
1�
1�!�
4���#�#�A�r�*�*�*r3)rrerrrrc��tjd��}|j|j�||�}|dk(sJ�y)zl
        Test that invalid value are formatted with empty string without
        raising exception.
        Frfr�N)r)rhr�ri)r,r�r�rjs    r1�test_invalidzTestLogitFormatter.test_invalidNs<���*�*��>�	����4�+�+�,��a�L���B�w��wr3r^r�c�>�tjd��}dD]�}|d|zzdks�|j|d|zz
||d|zzg�||�}||d|zz�}tj	|�tj	|�z
}d|cxkr
d|zkr�J�J�y)zS
        The format length should change depending on the neighbor labels.
        Frf)	r rrfr	��r�i�i�r'rrrN)r)rhr�rVr`)r,r�r��N�sx�sx1�ds       r1�test_variablelengthz&TestLogitFormatter.test_variablelengthYs���
�*�*��>�	�@�		%�A��1�q�5�y�1�}��"�"�A��A��I�q�!�a�!�e�)�#<�=��q�\����A��E�	�*��&�8�8��=�(�:�:�2�>�?���1�}�q�1�u�}�$�}�$�}�		%r3))Tr�)�rhF)�KF)Tr�)ru�rvT)Tr�)�rhTrw)F)rgR���Q�?g�p=
ף�?))r�Trxrwzmethod, lims, casesc��|r&tjd��}|j|�}ntj|�}tj
d��}|D]v\}}|j
|�|j|�}	|	D�
cgc]}
t|
�dkDs�|
��}}
|rt|�dkDr�WJ||f��t|�dk(r�oJ||f��ycc}
w)z,
        Test minor/major displays.
        TrrN)	r)r�r+r;r<rh�set_minor_threshold�format_ticksr�)r,�methodr��cases�min_locr��min_form�	threshold�	has_minor�	formatted�f�labelleds            r1�test_minor_vs_majorz&TestLogitFormatter.test_minor_vs_majorqs�����*�*��6�G�'�G�'�'��.�E��H�H�T�N�E��)�)��5��$)�	B� �I�y��(�(��3� �-�-�e�4�I�#,�;�a��A���
��;�H�;���8�}�q�(�@�9�i�*@�@�(��8�}��)�A�I�y�+A�A�)�	B��<s�C�Cc�8�tjd��}tjd��}|jdd�}dD]R}|j	|�|j|�}|D�cgc]}t
|�dkDs�|��}}t
|�|k(r�RJ�ycc}w)z1
        Test the parameter minor_number
        Trrxr)rrlrQr�rN)r)r�rhr+�set_minor_numberr{r�)r,r~rr��minor_numberr�r�r�s        r1�test_minor_numberz$TestLogitFormatter.test_minor_number�s����&�&�T�2���)�)��5���#�#�D�(�3��)�	1�L��%�%�l�3� �-�-�e�4�I�#,�;�a��A���
��;�H�;��x�=�L�0�0�0�		1��<s�*B�>Bc���d}d}d}tjd��}||�|k(sJ�|jd�||�|k(sJ�|jd�||�|k(sJ�y)z1
        Test the parameter use_overline
        rtz$\mathdefault{1-10^{-2}}$z"$\mathdefault{\overline{10^{-2}}}$FrfTN)r)rhrg)r,r��fx1�fx2�forms     r1�test_use_overlinez$TestLogitFormatter.test_use_overline�so��
��*��3���%�%�5�9���A�w�#�~��~����$���A�w�#�~��~����%� ��A�w�#�~��~r3c��tj�}d|d�vsJ�|jd�d|d�vsJ�|jd�d|d�vsJ�y)z-
        Test the parameter one_half
        z\frac{1}{2}rz1/2zone halfN)r)rh�set_one_half)r,r�s  r1�
test_one_halfz TestLogitFormatter.test_one_half�sd���%�%�'����c��*�*�*����%� ���S�	�!�!�!����*�%��T�#�Y�&�&�&r3rp)r	�i�c��tjdd|�dd}tj�}|D]W}|j	|�}|jd�rdt
|dd�z
}nt
|�}t||z
�d|zkr�WJ�y)Nrrrz1-r)r;r�r)rhr��
startswithr��abs)r,rpr�r�r�rcrks       r1�test_format_data_shortz)TestLogitFormatter.test_format_data_short�s����{�{�1�a��#�A�b�)���%�%�'���	'�A��'�'��*�B��}�}�T�"���r�!�"�v��&���2�Y���q�2�v�;��Q��&�&�&�
	'r3N)r8r9r:r�r`r@rArBrdr�rrir2rmr;�expr�rt�lims_minor_majorr�r�r�r�r�)r�is00r1rVrVs����<��<�@�[�[����	
�
�.�
�.��"�1�b�\�*������*�#(��B�<�
0�a�1�r�q�b�z�>�
0�	1��'�	��K��[�[���S�+�.�	+�/�	+��[�[���S�"?�@��A���[�[���S�!�q�6�2�6�6�;�2�;�;�r�1�b�3I�2I�+J�'J�"K�L�%�M�%� ���[�[���2�4D�E�B�F�B�(1��	'��[�[���S�/�2�	'�3�	'��a	+��
0s�
E
�E rVc��eZdZd�Zy)�TestFormatStrFormatterc�H�tjd�}d|d�k(sJ�y)Nz%05d�00002r)r)�FormatStrFormatterr�s  r1r2z!TestFormatStrFormatter.test_basic�s$���-�-�f�5���(�1�+�%�%�%r3N)r8r9r:r2rCr3r1r�r��s��&r3r�c�X�eZdZddgZej
j
de�d��Zy)�TestStrMethodFormatter)z{x:05d})rr�)z{x:03d}-{pos:02d})rrz002-01zformat, input, expectedc�B�tj|�}||�|k(sJ�yrX)r)�StrMethodFormatter)r,�format�inputr/r�s     r1r2z!TestStrMethodFormatter.test_basic�s$���(�(��0���E�{�h�&�&�&r3N)r8r9r:rr@rArBr2rCr3r1r�r��s6��"�/��I�
�[�[���6�	�B�'�C�'r3r�c�X�eZdZgd�Zej
j
de�d��Zy)�TestEngFormatter))F����EJ��)z
-1.23457 k�-1 kz-1.23 k)Tr�)u−1.23457 k�−1 ku	−1.23 k)F�ރB��)z-1.23457r}z-1.23)Tr�)u
−1.23457r|u−1.23)F�_c97ݚ��)z
-123.457 mz-123 mz	-123.46 m)Tr�)u−123.457 mu−123 mu−123.46 m)F�Q^�-':T�)z
-1.23457 mz-1 mz-1.23 m)Tr�)u−1.23457 mu−1 mu	−1.23 m)Tg��r�r�z0.00�Trr�r�)Tg���m��>)u
1.23457 µu1 µu1.23 µ)Tg_c97ݚ�?)z	123.457 mz123 mz123.46 m)Try)�100 mr�z100.00 m)Tr)r�r�z1.00)TgރB��?)z1.23457r�z1.23)Tg33333?�@)z999.9�1 kz999.90)Tg*:��?�@�r�r��1.00 k)F�*:��?��)r�r�z-1.00 k)Tr�)r�r�u	−1.00 k)Tr�r�)Ti�)z1.001 kr�r�)Ti��)z	100.001 kz100 kz100.00 k)Tg�Z�$.A)z	987.654 kz988 kz987.65 k)Tg���uˏE)�1230 Yr�z	1230.00 Yzunicode_minus, input, expectedc���	�
�|tjd<d�	d�|}tj�tjd��tjd��f}t	||�D]\}}||�|k(r�J���	fd�|D�}tj�	��tj�	d�	�tj�	d�	�f}t	||�D]\}}||�|k(r�J�d
D]��
��	�
fd�|D�}tj�	�
��tj�	d�
�
�tj�	d�
�
�f}t	||�D]\}}||�|k(r�J��
fd�|D�}tj�
��tjd�
��tjd�
��f}t	||�D]\}}||�|k(r�J���y)a�
        Test the formatting of EngFormatter for various values of the 'places'
        argument, in several cases:

        0. without a unit symbol but with a (default) space separator;
        1. with both a unit symbol and a (default) space separator;
        2. with both a unit symbol and some non default separators;
        3. without a unit symbol but with some non default separators.

        Note that cases 2. and 3. are looped over several separator strings.
        rrj�
0123456789r)�placesrc3�F�K�|]}|d�vr|dz�zn|�z���y�w�r� NrC)r�_s�DIGITS�UNITs  ��r1�	<genexpr>z/TestEngFormatter.test_params.<locals>.<genexpr>s8�����:�*,�+-�R�&�F�*:�r�C�x�$����I�&�:�s�!)�unit)r�r�)r�u z@_@c3�f�K�|](}|d�vr|�z�zn|jd���z���*y�wr��r�)rr�r�r��_seps  ���r1r�z/TestEngFormatter.test_params.<locals>.<genexpr>%sE�����/�!�02�"�v��/?�2��9�t�+� "�
�
�3�� 5�� <�=�/�s�.1)r�r�)r�r�r�c3�B�K�|]}|jd�����y�w)r�Nr�)rr�r�s  �r1r�z/TestEngFormatter.test_params.<locals>.<genexpr>3s�����D�R�2�:�:�c�4�0�D�s�)r�)r�r�N)r�r�r)�EngFormatterr�)r,r�r�r/�exp_outputs�
formatters�
_formatter�_exp_outputr�r�r�s        @@@r1�test_paramszTestEngFormatter.test_params�s����.;����)�*�������� � �"�� � ��*�� � ��*�
�
�
(+�:�{�'C�	4�#�J���e�$��3�3�3�	4�:�08�:��
� � �d�+�� � �d�1�5�� � �d�1�5�
�
�
(+�:�{�'C�	4�#�J���e�$��3�3�3�	4�
=�	8�D�/�%-�/�K��$�$�$�D�9��$�$�$�q�d�C��$�$�$�q�d�C��J�
,/�z�;�+G�
8�'�
�K�!�%�(�K�7�7�7�
8�E�8�D�K��$�$��.��$�$�A�4�8��$�$�A�4�8��J�
,/�z�;�+G�
8�'�
�K�!�%�(�K�7�7�7�
8�1	8r3N)r8r9r:�raw_format_datar@rArBr�rCr3r1r�r��s3��#�O�J�[�[���=��O�D8�P�D8r3r�c���tj�\}}|jgd�gd��|jgd��t	j
d��t	j
d��fD]k}|jj|�|jj�|j�D�cgc]}|j���}}|gd�k(r�kJ�ycc}w)N)rrgr�T)�usetex)�useMathText)z$0$z$500$z$1$ k)r�r��plotr�r)r�r�r�r�r��get_xticklabels�get_text)r�r�r��labl�x_tick_label_texts     r1�$test_engformatter_usetex_useMathTextr�=s����l�l�n�G�C���G�G�N�N�+��M�M�.�!��*�*�$�7��*�*�t�<�>�>�	�
���$�$�Y�/��
�
����9;�9K�9K�9M�N��T�]�]�_�N��N�!�$=�=�=�=�>��Os�7Cc��eZdZgd�Zgd�Zgd�Zejjdee��d��Z	ejjde�d��Z
y	)
�TestPercentFormatter))r	r�%rxr	z120%)r	rr�r	�Zz100%)r	rr�r�rfz90%)r	rr�g333333���(z-2%)r	rr�g�V@r	z90.0%)r	rr�gfffffT@r�z80.1%)r	rr�g��Q��Q@rfz70.2%)r	rr�g��x�FN�r�z-60.6%)r	Nr��_rz95.00%)rNr�rGrz300%)�1@Nr�rg!@z6%)r�Nr�rg������ @z5.9%)rNr�rHg���ư>z-2000.00000%)rrNr
r	z120.00)rvrGr�rfr	z66.667)r�Nz
^^Foobar$$�r�z50.0^^Foobar$$)zdecimals=0, x>100%zdecimals=0, x=100%zdecimals=0, x<100%zdecimals=0, x<0%zdecimals=1, x>100%zdecimals=1, x=100%zdecimals=1, x<100%zdecimals=1, x<0%z$autodecimal, x<100%, display_range=1z7autodecimal, x>100%, display_range=6 (custom xmax test)z;autodecimal, x<100%, display_range=8.5 (autodecimal test 1)z;autodecimal, x<100%, display_range=8.4 (autodecimal test 2)z=autodecimal, x<-100%, display_range=1e-6 (tiny display range)zNone as percent symbolzEmpty percent symbolzCustom percent symbol))FF�50\{t}%)FTz50\\\{t\}\%)TFr�)TTr�z2xmax, decimals, symbol, x, display_range, expected)�idsc��tj|||�}tjddi��5|j	||�|k(sJ�	ddd�y#1swYyxYw)Nr
F��rc�r)�PercentFormatterrdre�
format_pct)r,�xmax�decimals�symbolr��
display_ranger/r�s        r1r2zTestPercentFormatter.test_basic�s]��
�,�,�T�8�V�D�	�
�^�^�
�u�5�
6�	F��'�'��=�9�X�E�E�E�	F�	F�	F���A�Azis_latex, usetex, expectedc��tjd|��}tjd|i��5|j	dd�|k(sJ�	ddd�y#1swYyxYw)Nz\{t}%)r��is_latexr
r�rfr	r�)r,r�r�r/r�s     r1�
test_latexzTestPercentFormatter.test_latex�sS���&�&�h��J��
�^�^�
�v�6�
7�	7��>�>�"�c�*�h�6�6�6�	7�	7�	7�r�N)r8r9r:�percent_data�percent_ids�
latex_datar@rArBr2r�rCr3r1r�r�Ksp���L�.�K�,�J��[�[���@��k��+�F�+�F��[�[���9�:�F�7�G�7r3r�c���tj�\}}tjt�5|j
j
tj��ddd�y#1swYyxYwrX)	r�r�r@r��	TypeErrorr�r�r)r��r�r�s  r1�test_majformatter_typer���M���l�l�n�G�C��	���y�	!�;�
���$�$�W�%7�%7�%9�:�;�;�;���.A(�(A1c���tj�\}}tjt�5|j
j
tj��ddd�y#1swYyxYwrX)	r�r�r@r�r�r�rIr)r�r�s  r1�test_minformatter_typer��r�r�c���tj�\}}tjt�5|j
j
tj��ddd�y#1swYyxYwrX)	r�r�r@r�r�r�r�r)r9r�s  r1�test_majlocator_typer���M���l�l�n�G�C��	���y�	!�;�
���"�"�7�#7�#7�#9�:�;�;�;�r�c���tj�\}}tjt�5|j
j
tj��ddd�y#1swYyxYwrX)	r�r�r@r�r�r�r�r)r9r�s  r1�test_minlocator_typer��r�r�c���tj���fd�}|ddd�|ddd�|ddd�|ddd�y)Nc�8��||d�}tj|��5�jdd|�}ddd�tjj��dkD|k(sJ�t|jj��dkD|k(sJ�y#1swY�`xYw)N)zxtick.minor.visiblezytick.minor.visibler�rr)r�re�add_subplotr�r��get_minor_ticksr�)�xminor�yminorr�r�r�r�s     �r1�minorticksubplotz,test_minorticks_rc.<locals>.minorticksubplot�s����%+�%+�-��
�^�^�r�
"�	*�����A�q�)�B�	*��B�H�H�,�,�.�/�!�3��>�>�>��B�H�H�,�,�.�/�!�3��>�>�>�		*�	*�s�B�BFrTrrGrl)r��figure)rr�s @r1�test_minorticks_rcr�sE���

�*�*�,�C�?��U�E�1�%��T�5�!�$��U�D�!�$��T�4��#r3z%remove_overlapping_locs, expected_num))Tr)Nr)Fr�c�0�tjddd��}tjt|��}t	j
�\}}|j
||�|jjtjj��|jjtjjd��|jjtjjd��|jj!tjjd��|jj#d�|�||j_|jj$}||jj'�k(sJ�t	j(|j|�	�|jj$}||jj$k(sJ�t|jj+��|k(sJ�t|jj#��|k(sJ�t|jj-��|k(sJ�t|jj/��|d
zk(sJ�y)Nz
2018-11-03z
2018-11-06�
datetime64r�z
%a)rrr��z%H:%Mr!)�remove_overlapping_locsr)r;r=�onesr�r�r�r�r�r�rd�dates�
DayLocatorr��
DateFormatterr��HourLocatorrIr�r�get_remove_overlapping_locs�setpr��get_minorticklabels�get_minorticklines)r�expected_num�tr�r�r��current�news        r1�test_remove_overlapr�s���
	�	�	�,��L�A�A�
����A���A��l�l�n�G�C���G�G�A�q�M��H�H���s�y�y�3�3�5�6��H�H� � ����!8�!8��!@�A��H�H���s�y�y�4�4�^�D�E��H�H� � ����!8�!8��!A�B��H�H���R� ��*�+B����(��h�h�.�.�G��r�x�x�;�;�=�=�>�=��H�H�R�X�X�w�7�
�(�(�
*�
*�C��2�8�8�3�3�3�4�3��r�x�x�)�)�+�,��<�<�<��r�x�x�'�'�)�*�l�:�:�:��r�x�x�+�+�-�.�,�>�>�>��r�x�x�*�*�,�-��a��?�?�?r3�sub�hi�aardvark)rrc��tj�}tjt�5|j|��ddd�y#1swYyxYw)Nr�)r)r�r@r�r�rS)r�lls  r1�test_bad_locator_subsr�sA��
�	�	�	�B�	���z�	"� �
�
�
�3�
�� � � �s�A
�
ArI)rrrGr�rc	��tj�}|j|��dD]_}|jd|�}t	j
t	j|jdd���dk(j�r�_J�y)NrH)rr�r�rAr!rfr	r�rr�r)r)r�rSr+r;�diffrr�)rIr�topr�s    r1�test_small_range_loglocatorr!�su��
�	�	�	�B��M�M�8�M�$�/�F�����r�3�'������������3�!7�8�9�Q�>�C�C�E�E�E�Fr3c��tj�}|d�dk(sJ�|jd�dk(sJ�|jd�dk(sJ�y)Nrr�)r)�
NullFormatterr�r��r�s r1�test_NullFormatterr%�sT���%�%�'�I��S�>�R����� � ��%��+�+�+��&�&�s�+�r�1�1�1r3r�c��d|��S)Nzval: rC)rs r1�<lambda>r'�s��e�A�3�K�r3)�foo�barc�z�|j�dk(sJ�|jd�|j�dk(sJ�y)Nr�rd)�
get_offset�set_offset_stringr$s r1�test_set_offset_stringr-�s@�����!�R�'�'�'�
����&����!�U�*�*�*r3)<�
contextlibrrr�r]�numpyr;�
numpy.testingrrr@�
matplotlibrd�matplotlib.pyplot�pyplotr��matplotlib.ticker�tickerr)rrErWrtr�r�r�r�r"r(r.r4rnr�r�rrrrVr�r�r�r�r�r�r�r�r�rrArBr�zerosrrrr!r%�
FuncFormatter�FixedFormatterr-rCr3r1�<module>r9sB��"��
�	��A�
���#�C�C�4+�+�"&�&�DdD�dD�N#(�#(�L��$�$�"O!�O!�d	 �	 �
!�
!�!�!�g7�g7�Ts�s�l$�$�(�(�D/�/�&0�0�:J�J�Zo'�o'�d&�&�	'�	'�n8�n8�b>�B7�B7�J;�;�;�;�$�$�����@�&�'�@�	'�@�B������	�:���B�H�H�V��!�� �� �������\�2������9��F��3�F�2��������G���/�0��G���>�*�',�-�+�-�+r3

Youez - 2016 - github.com/yon3zu
LinuXploit