ó
    {ñ:i$ ã                   ó|  • S SK Jr  S SKrS SKrS SKrS SKrS SKJr  S SK	r
S SKJrJr  S SKrS SKrS SKJr  S SKJr   " S S5      r " S S5      r " S	 S
5      r " S S5      r " S S5      r " S S5      r " S S5      r " S S5      r " S S5      r " S S5      r  " S S5      r! " S S5      r" " S S5      r# " S S 5      r$ " S! S"5      r% " S# S$5      r& " S% S&5      r' " S' S(5      r( " S) S*5      r) " S+ S,5      r* " S- S.5      r+S/ r,\RZ                  R]                  S0/ S1Q5      S2 5       r/ " S3 S45      r0S5 r1S6 r2S7 r3S8 r4S9 r5S: r6S; r7S< r8\RZ                  R]                  S=S>5      S? 5       r9\RZ                  R]                  S@SASB/\
Rt                  " SC5      /5      SD 5       r;\RZ                  R]                  SE/ SFQ5      \Rx                  R{                  SG5      SH 5       5       r>SI r?\RZ                  R]                  SJ\R€                  " SK 5      \R‚                  " SL5      45      SM 5       rBSN rCg)Oé    )ÚnullcontextN)Úparse)Úassert_almost_equalÚassert_array_equalc            
       ó*  • \ rS rSrSS\R
                  " / SQ5      4SS\R
                  " / SQ5      4SS	\R
                  " / S
Q5      4SS\R                  " S5      S-  4SS\R                  " SS5      S-  4/rSSS\R
                  " / SQ5      4SSS\R
                  " / SQ5      4SS/ SQ\R
                  " / SQ5      4/r\	R                  R                  S\5      S 5       r\	R                  R                  S\5      S 5       r\	R                  R                  SS S0\\R                   " S!5      4S"S#S/0\S$4S"S#0\S$4S"S#S%/0\S$4/5      S& 5       r\	R                  R                  S'/ S(Q/ S(Q4S#S)// S(Q4SS#// S(Q4S#// S(Q4/5      S* 5       rS+rg),ÚTestMaxNLocatoré   é   éd   )ç      4@g      D@g      N@g      T@ç      Y@çü©ñÒMbP?ç-Cëâ6?)ç        g-Cëâ6*?g-Cëâ6:?ga2U0*©C?g-Cëâ6J?r   ç  4&õkÃç  4&õkC)r   g  4&õküÂr   g  4&õküBr   r   g�œ&q‰5é   gL“oûñg5g�œ&q‰µéûÿÿÿé   çš™™™™™¹¿çš™™™™™ñ?N)éÿÿÿÿr   r   é   çffffffî?)g      Ð¿r   ç      Ð?ç      à?ç      è?ç      ð?é7   )r   ç      ø?é   r   é
   )r   é   é   é-   é<   úvmin, vmax, expectedc                 ób   • [         R                  " SS9n[        UR                  X5      U5        g )Nr!   ©Únbins©ÚmtickerÚMaxNLocatorr   Útick_values)ÚselfÚvminÚvmaxÚexpectedÚlocs        Ú_/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/matplotlib/tests/test_ticker.pyÚ
test_basicÚTestMaxNLocator.test_basic    s%   € ä×!Ò!¨Ñ*ˆÜ˜CŸO™O¨DÓ7¸ÕBó    zvmin, vmax, steps, expectedc                 óf   • [         R                  " SSUS9n[        UR                  X5      U5        g )Nr!   T)r*   ÚintegerÚstepsr+   )r/   r0   r1   r:   r2   r3   s         r4   Útest_integerÚTestMaxNLocator.test_integer%   s)   € ä×!Ò!¨°4¸uÑEˆÜ˜CŸO™O¨DÓ7¸ÕBr7   zkwargs, errortype, matchÚfooz5set_params() got an unexpected keyword argument 'foo'r:   r   z$steps argument must be an increasingé   c                 óŒ   • [         R                  " X#S9   [        R                  " S0 UD6  S S S 5        g ! , (       d  f       g = f)N©Úmatch© )ÚpytestÚraisesr,   r-   )r/   ÚkwargsÚ	errortyperA   s       r4   Útest_errorsÚTestMaxNLocator.test_errors*   s-   € ô �]Š]˜9Ó2Ü×ÒÑ) &Ò)÷ 3×2Ö2ús	   •5µ
Azsteps, result)r   r   r"   r"   c                 ót   • [         R                  " US9nUR                  U:H  R                  5       (       d   eg )N)r:   )r,   r-   Ú_stepsÚall)r/   r:   Úresultr3   s       r4   Útest_paddingÚTestMaxNLocator.test_padding5   s2   € ô ×!Ò!¨Ñ.ˆØ—
‘
˜fÑ$×)Ñ)×+Ñ+Ð+Ñ+r7   rB   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚnpÚarrayÚarangeÚ
basic_dataÚinteger_datarC   ÚmarkÚparametrizer5   r;   Ú	TypeErrorÚreÚescapeÚ
ValueErrorrG   rM   Ú__static_attributes__rB   r7   r4   r   r      så  † à	ˆS�"—(’(Ò5Ó6Ð7Ø	�˜ŸšÒ!LÓMÐNØ	��b—h’hÒJÓKÐLØ	
ˆH�b—i’i “l UÑ*Ð+Ø	�A�r—y’y  QÓ'¨%Ñ/Ð0ð€Jð 
ˆs�D˜"Ÿ(š(¢=Ó1Ð2Ø	ˆt�T˜2Ÿ8š8Ò$DÓEÐFØ	
ˆBÒ" B§H¢HÒ-@Ó$AÐBð€Lð ‡[�[×ÑÐ3°ZÓ@ñCó AðCð ‡[�[×ÑÐ:¸LÓIñCó JðCð ‡[�[×ÑÐ7Ø
�ˆ�YØ	�ŠÐJÓ	Kð	Mà
�A�q�6Ð	˜JÐ(NÐOØ
�1ˆ�zÐ#IÐJØ
�A�r�7Ð	˜ZÐ)OÐPð:ó ñ*óð*ð ‡[�[×Ñ˜_Ú	’ZÐ Ø
ˆRˆ’*ÐØ
ˆQˆ’ÐØ
ˆŠjÐð	/ó ñ,óó,r7   r   c                   ó,   • \ rS rSrS rS rS rS rSrg)ÚTestLinearLocatoré@   c                 ó”   • [         R                  " SS9n[        R                  " / SQ5      n[	        UR                  SS5      U5        g )Né   ©Únumticks)çš™™™™™é¿ç333333Ó¿çš™™™™™É?rf   rh   )r,   ÚLinearLocatorrS   rT   r   r.   ©r/   r3   Ú
test_values      r4   r5   ÚTestLinearLocator.test_basicA   s6   € Ü×#Ò#¨QÑ/ˆÜ—X’XÒ/Ó0ˆ
Ü˜CŸO™O¨D°#Ó6¸
ÕCr7   c                 óV   • [         R                  " SS9nUR                  SS5      / :H    g )Nr   rd   rf   rh   )r,   ri   r.   ©r/   r3   s     r4   Útest_zero_numticksÚ$TestLinearLocator.test_zero_numticksF   s%   € Ü×#Ò#¨QÑ/ˆØ�‰˜˜cÓ" bÓ(r7   c                 óœ   • [         R                  " SS9nUR                  SS/ 0S9  UR                  S:X  d   eUR                  S/ 0:X  d   eg)zˆ
Create linear locator with presets={}, numticks=2 and change it to
something else. See if change was successful. Should not exception.
r   rd   é   ©r   r   )re   ÚpresetsN)r,   ri   Ú
set_paramsre   rt   rn   s     r4   Útest_set_paramsÚ!TestLinearLocator.test_set_paramsJ   sP   € ô
 ×#Ò#¨QÑ/ˆØ�‰ ¨F°B¨<ˆÑ8Ø�|‰|˜qÓ Ð Ð Ø�{‰{˜v r˜lÓ*Ð*Ñ*r7   c                 óŠ  • [         R                  " / SQSS/S.S9nUR                  SS5      / SQ:X  d   eUR                  SS5      / SQ:X  d   eUR                  SS5      SS/:X  d   eUR                  S	S
5      SS/:X  d   eUR                  SS5      [        R                  " SSS5      :H  R                  5       (       d   eg )N)r   ç      ô?ç      ü?r   r    ))r   r   ©r   r   )rt   r   r   r   r   ç       @r>   )r,   ri   r.   rS   ÚlinspacerK   rn   s     r4   Útest_presetsÚTestLinearLocator.test_presetsT   sÀ   € Ü×#Ò#²_Ø69¸3°Zñ-Añ Bˆà�‰˜q !Ó$ªÓ7Ð7Ð7Ø�‰˜q !Ó$ªÓ7Ð7Ð7Ø�‰˜q !Ó$¨¨c¨
Ó2Ð2Ð2Ø�‰˜s CÓ(¨S°#¨JÓ6Ð6Ð6Ø—‘  1Ó%¬¯ª°Q¸¸2Ó)>Ñ>×CÑC×EÑEÐEÑEr7   rB   N)	rO   rP   rQ   rR   r5   ro   rv   r~   r^   rB   r7   r4   r`   r`   @   s   † òDò
)ò+õFr7   r`   c                   ó>   • \ rS rSrS rS rS rS rS rS r	S r
S	rg
)ÚTestMultipleLocatoré^   c                 ó”   • [         R                  " SS9n[        R                  " / SQ5      n[	        UR                  SS5      U5        g )Nç“V-	@©Úbase)goƒÀÊá"Àç“V-Àg“V-	Àr   r„   ç“V-@goƒÀÊá"@g“V-)@éùÿÿÿr"   ©r,   ÚMultipleLocatorrS   rT   r   r.   rj   s      r4   r5   ÚTestMultipleLocator.test_basic_   s:   € Ü×%Ò%¨5Ñ1ˆÜ—X’Xò .ó /ˆ
ä˜CŸO™O¨B°Ó3°ZÕ@r7   c                 ó–   • [         R                  " SSS9n[        R                  " / SQ5      n[	        UR                  SS5      U5        g )Nr„   ç333333ó?©r†   Úoffset)g¬Zd{ ÀgÇK7‰A`ÀgôýÔxé&ÿ¿rŽ   gÙÎ÷Sc@g`åÐ"Ûù@gÕxé&1H%@r‰   r"   rŠ   rj   s      r4   Útest_basic_with_offsetÚ*TestMultipleLocator.test_basic_with_offsete   s<   € Ü×%Ò%¨5¸Ñ=ˆÜ—X’Xò 'ó (ˆ
ä˜CŸO™O¨B°Ó3°ZÕ@r7   c                 óÈ   • [         R                  " SS05         [        R                  " SS9n[	        UR                  SS5      S5        SSS5        g! , (       d  f       g= f)	z%
Test basic behavior of view limits.
úaxes.autolimit_modeÚdatar„   r…   r   r!   )r   r!   N©ÚmplÚ
rc_contextr,   r‹   r   Úview_limitsrn   s     r4   Útest_view_limitsÚ$TestMultipleLocator.test_view_limitsk   sG   € ô �^Š^Ð2°FÐ;Õ<Ü×)Ò)¨uÑ5ˆCÜ §¡°°AÓ 6¸Ô@÷ =×<Ö<úó   ™1AÁ
A!c                 óÈ   • [         R                  " SS05         [        R                  " SS9n[	        UR                  SS5      S5        SSS5        g! , (       d  f       g= f)	úJ
Test that everything works properly with 'round_numbers' for auto
limit.
r”   Úround_numbersr„   r…   éüÿÿÿé   )r‡   rˆ   Nr–   rn   s     r4   Útest_view_limits_round_numbersÚ2TestMultipleLocator.test_view_limits_round_numberss   sH   € ô
 �^Š^Ð2°OÐDÕEÜ×)Ò)¨uÑ5ˆCÜ §¡°°AÓ 6¸ÔH÷ F×EÖEúrœ   c                 óÊ   • [         R                  " SS05         [        R                  " SSS9n[	        UR                  SS5      S5        S	S	S	5        g	! , (       d  f       g	= f)
rž   r”   rŸ   r„   çÍÌÌÌÌÌô?r�   r    r¡   )g`åÐ"ÛùÀg}?5^ºÉ@Nr–   rn   s     r4   Ú*test_view_limits_round_numbers_with_offsetÚ>TestMultipleLocator.test_view_limits_round_numbers_with_offset|   sJ   € ô
 �^Š^Ð2°OÐDÕEÜ×)Ò)¨u¸SÑAˆCÜ §¡°°AÓ 6¸ÔH÷ F×EÖEús   ™2AÁ
A"c                 óÈ   • [         R                  " SS05         [        R                  " SS9n[	        UR                  SS5      S5        SSS5        g! , (       d  f       g= f)	z=
Test that 'round_numbers' works properly with a single bin.
r”   rŸ   r   r)   gffffffÀgffffff@)r    r¡   N)r—   r˜   r,   r-   r   r™   rn   s     r4   Útest_view_limits_single_binÚ/TestMultipleLocator.test_view_limits_single_bin…   sH   € ô �^Š^Ð2°OÐDÕEÜ×%Ò%¨AÑ.ˆCÜ §¡°°cÓ :¸GÔD÷ F×EÖEúrœ   c                 óÄ   • [         R                  " SS9nUR                  SS9  UR                  R                  S:X  d   eUR                  SS9  UR
                  S:X  d   eg)zg
Create multiple locator with 0.7 base, and change it to something else.
See if change was successful.
çffffffæ?r…   ç333333û?rc   )r�   N)r,   r‹   ru   Ú_edgeÚstepÚ_offset)r/   Úmults     r4   rv   Ú#TestMultipleLocator.test_set_params�   sX   € ô
 ×&Ò&¨CÑ0ˆØ�‰˜SˆÑ!Ø�z‰z�‰ #Ó%Ð%Ð%Ø�‰˜qˆÑ!Ø�|‰|˜qÓ Ð Ñ r7   rB   N)rO   rP   rQ   rR   r5   r‘   rš   r¢   r¦   r©   rv   r^   rB   r7   r4   r�   r�   ^   s+   † òAòAòAòIòIòEõ	!r7   r�   c            
       ó   • \ rS rSrS rSS/rS r\R                  R                  S\5      S 5       r
/ SQrS	 r\R                  R                  S
\5      S 5       r/ SQr/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/r\" \" \\5      5      r\R                  R                  S\5      S 5       r\R                  R                  SSS/5      \R                  R                  SS/ SQ4S/ SQ4/5      S 5       5       r\R                  R                  SSS/5      \R                  R                  SSS/ S Q4S!S"/ S#Q4S$S%/ S&Q4/5      S' 5       5       rS(rg))*ÚTestAutoMinorLocatoré™   c                 óì   • [         R                  " 5       u  pUR                  SS5        UR                  5         [        R
                  " / SQ5      n[        UR                  R                  SS9U5        g )Nr   ç=
×£p=ö?©çš™™™™™©?çš™™™™™¹?g333333Ã?r   ç333333Ó?gffffffÖ?çÍÌÌÌÌÌÜ?r   çš™™™™™á?gÍÌÌÌÌÌä?r¬   r   g333333ë?çÍÌÌÌÌÌì?r   çÍÌÌÌÌÌð?r   gffffffò?ry   r¥   gš™™™™™õ?T©Úminor)	ÚpltÚsubplotsÚset_xlimÚminorticks_onrS   rT   r   ÚxaxisÚget_ticklocs©r/   ÚfigÚaxrk   s       r4   r5   ÚTestAutoMinorLocator.test_basicš   s\   € Ü—,’,“.‰ˆØ
�‰�A�tÔØ
×ÑÔÜ—X’Xò Gó Hˆ
ô 	˜BŸH™H×1Ñ1¸Ð1Ð=¸zÕJr7   ©r   r   )r   r   c                 óÂ  • [         R                  " 5       u  pUR                  SS5        UR                  R	                  [
        R                  " 5       5        [        R                  " / SQ5      n[        UR                  R                  SS9U5        UR                  SS5        [        R                  " / SQ5      n[        UR                  R                  SS9U5        g	)
z9
Test that first and last minor tick appear as expected.
çffffffþ¿çffffffþ?) rÎ   gÍÌÌÌÌÌü¿ç333333û¿gš™™™™™ù¿gffffffö¿gÍÌÌÌÌÌô¿g333333ó¿çš™™™™™ñ¿gÍÌÌÌÌÌì¿rf   gffffffæ¿g333333ã¿çš™™™™™Ù¿rg   çš™™™™™É¿r   rº   rh   r»   çš™™™™™Ù?ç333333ã?r¬   çš™™™™™é?r¾   r   rŽ   r¥   gffffffö?gš™™™™™ù?r­   gÍÌÌÌÌÌü?rÏ   TrÀ   r   r!   )g      Àg      Àg      Àg      Àg      Àg      ø¿ç      ð¿ç      à¿r   r   r    ç      @g      @ç      @g      @ç      @N)rÂ   rÃ   rÄ   rÆ   Úset_minor_locatorr,   ÚAutoMinorLocatorrS   rT   r   rÇ   rÈ   s       r4   Útest_first_and_last_minorticksÚ3TestAutoMinorLocator.test_first_and_last_minorticks©   s¬   € ô
 —,’,“.‰ˆØ
�‰�D˜#ÔØ
�‰×"Ñ"¤7×#;Ò#;Ó#=Ô>Ü—X’Xò Bó Cˆ
ô 	˜BŸH™H×1Ñ1¸Ð1Ð=¸zÔJà
�‰�B˜ÔÜ—X’Xò Gó Hˆ
ä˜BŸH™H×1Ñ1¸Ð1Ð=¸zÕJr7   z%nb_majorticks, expected_nb_minorticksc                 ó|  • [         R                  " 5       u  p4SnUR                  " U6   UR                  [        R
                  " US   US   U5      5        UR                  5         UR                  R                  [        R                  " 5       5        [        UR                  R                  5       5      U:X  d   eg )N)r   r!   r   r   )rÂ   rÃ   rÄ   Ú
set_xticksrS   r}   rÅ   rÆ   rÜ   r,   rÝ   ÚlenÚget_minorticklocs)r/   Únb_majorticksÚexpected_nb_minorticksrÉ   rÊ   Úxlimss         r4   Útest_low_number_of_majorticksÚ2TestAutoMinorLocator.test_low_number_of_majorticks¼   s‹   € ô —,’,“.‰ˆØˆØ
�Š�UÑØ
�‰”b—k’k %¨¡(¨E°!©H°mÓDÔEØ
×ÑÔØ
�‰×"Ñ"¤7×#;Ò#;Ó#=Ô>Ü�2—8‘8×-Ñ-Ó/Ó0Ð4JÓJÐJÑJr7   ))r   r!   )r   r¡   )rÙ   r!   )r!   r!   )r"   r!   c                 ó(  • [         R                  " SS05         U R                   Vs/ s H  oS   PM	     nn[        R                  R                  U[        R                  " 5       R                  5        S S S 5        g s  snf ! , (       d  f       g = f)Nú_internal.classic_modeFr   )	r—   r˜   Úmajorstep_minordivisionsrS   ÚtestingÚassert_allcloser,   ÚAutoLocatorrJ   )r/   ÚxÚ
majorstepss      r4   Ú"test_using_all_default_major_stepsÚ7TestAutoMinorLocator.test_using_all_default_major_stepsÐ   sm   € Ü�^Š^Ð5°uÐ=Õ>Ø(,×(EÒ(EÓFÒ(E 1˜Aœ$Ñ(EˆJÐFÜ�J‰J×&Ñ& zÜ'.×':Ò':Ó'<×'CÑ'CôE÷ ?Ð>ùÚF÷ ?Õ>ús   ™B¨A>¶?BÁ>BÂ
Bz&major_step, expected_nb_minordivisionsc                 óP  • [         R                  " 5       u  p4SU4nUR                  " U6   UR                  U5        UR	                  5         UR
                  R                  [        R                  " 5       5        [        UR
                  R                  5       5      S-   nXb:X  d   eg ©Nr   r   )rÂ   rÃ   rÄ   rá   rÅ   rÆ   rÜ   r,   rÝ   râ   rã   )r/   Ú
major_stepÚexpected_nb_minordivisionsrÉ   rÊ   ræ   Únb_minor_divisionss          r4   Útest_number_of_minor_ticksÚ/TestAutoMinorLocator.test_number_of_minor_ticksÖ   s‚   € ô —,’,“.‰ˆØ�J�ˆØ
�Š�UÑØ
�‰�eÔØ
×ÑÔØ
�‰×"Ñ"¤7×#;Ò#;Ó#=Ô>Ü  §¡×!;Ñ!;Ó!=Ó>ÀÑBÐØ!Ó?Ð?Ñ?r7   )©r   r·   ©r   g˜nƒÀÊÁ?)r   ç�Ô�ùÉ;)r   g¦ÖVs†?=)gH¯¼šò×Š¾gIhG|·a¾)gvƒôõ!´>ç�Ûí‚ÚÒ·>)çÍÒÊ”A{¶¾çÁ�v¾À(¸¾)g"s2_Èd­¾glEÕŽfU¹¾r¸   )ç{®Gázt?ç{®Gáz„?ç¸…ëQ¸Ž?gš™™™™™™?g¸…ëQ¸ž?gìQ¸…ë¡?g
×£p=
§?r¹   g)\�Âõ(¬?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(Í´#=gQu÷.U)=g‚vIhÂ%,=gõ›ÙUö.=gnób]¾K2=g(Í´3=gá7ÎQ5=gU>?åì7=gQu÷.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´qwNP¶>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\+-eq°¾g+i¤)+°¾gõM7Ü‰Š¯¾g“É%e½Þ®¾gÐÀw$‡­¾zlim, refc                 ó  • [         R                  " 5       u  p4UR                  5         UR                  SSSSS9  UR                  SSSSS9  UR	                  U5        [        UR                  R                  SS	9U5        g )
NTrÁ   Úyr   )Ú	linewidthÚmajorÚk)Úcolorr  rÀ   )rÂ   rÃ   rÅ   ÚgridÚset_ylimr   ÚyaxisrÇ   )r/   ÚlimÚrefrÉ   rÊ   s        r4   Útest_additionalÚ$TestAutoMinorLocator.test_additional  sk   € ä—,’,“.‰ˆà
×ÑÔØ
�‰��g˜s¨aˆÑ0Ø
�‰��g S°AˆÑ6Ø
�‰�CÔä˜BŸH™H×1Ñ1¸Ð1Ð=¸sÕCr7   Úuse_rcparamFTrú   rû   c                 ó@  • U(       a  SSS.n0 nO0 nSS0n[         R                  " U5         [        R                  " 5       u  pgUR                  " U6   UR
                  " U6   UR                  R                  [        R                  " S0 UD65        UR                  R                  [        R                  " S0 UD65        [        UR                  R                  SS9U5        [        UR                  R                  SS9U5        S S S 5        g ! , (       d  f       g = f)NÚauto©zxtick.minor.ndivszytick.minor.ndivsÚnTrÀ   rB   )r—   r˜   rÂ   rÃ   rÄ   r  rÆ   rÜ   r,   rÝ   r  r   rÇ   )r/   r  r  r  ÚcontextrE   rÉ   rÊ   s           r4   Útest_number_of_minor_ticks_autoÚ4TestAutoMinorLocator.test_number_of_minor_ticks_auto  sÙ   € ö Ø,2ÈÑPˆGØ‰FàˆGØ˜6�]ˆFä�^Š^˜GÕ$Ü—l’l“n‰GˆCØ�KŠK˜ÑØ�KŠK˜ÑØ�H‰H×&Ñ&¤w×'?Ò'?Ñ'IÀ&Ñ'IÔJØ�H‰H×&Ñ&¤w×'?Ò'?Ñ'IÀ&Ñ'IÔJÜ §¡× 5Ñ 5¸DÐ 5Ð AÀ3ÔGÜ §¡× 5Ñ 5¸DÐ 5Ð AÀ3ÔG÷ %×$Ö$ús   ¬CDÄ
Dzn, lim, refr   )r   r¡   )r   r    rÙ   rÚ   r¡   r{   )r   r   r   ry   r    rz   r"   rs   )	rº   rh   r»   rÔ   r   rÕ   r¬   rÖ   r¾   c                 óú  • U(       a  XS.n0 nO0 nSU0n[         R                  " U5         [        R                  " 5       u  pxUR                  " U6   UR
                  " U6   UR                  R                  [        R                  " S5      5        UR                  R                  [        R                  " S0 UD65        UR                  R                  [        R                  " S5      5        UR                  R                  [        R                  " S0 UD65        [        UR                  R                  SS9U5        [        UR                  R                  SS9U5        S S S 5        g ! , (       d  f       g = f)Nr  r  r   TrÀ   rB   )r—   r˜   rÂ   rÃ   rÄ   r  rÆ   Úset_major_locatorr,   r‹   rÜ   rÝ   r  r   rÇ   )	r/   r  r  r  r  r  rE   rÉ   rÊ   s	            r4   Útest_number_of_minor_ticks_intÚ3TestAutoMinorLocator.test_number_of_minor_ticks_int.  s  € ö Ø,-ÑFˆGØ‰FàˆGØ˜1�XˆFä�^Š^˜GÕ$Ü—l’l“n‰GˆCØ�KŠK˜ÑØ�KŠK˜ÑØ�H‰H×&Ñ&¤w×'>Ò'>¸qÓ'AÔBØ�H‰H×&Ñ&¤w×'?Ò'?Ñ'IÀ&Ñ'IÔJØ�H‰H×&Ñ&¤w×'>Ò'>¸qÓ'AÔBØ�H‰H×&Ñ&¤w×'?Ò'?Ñ'IÀ&Ñ'IÔJÜ §¡× 5Ñ 5¸DÐ 5Ð AÀ3ÔGÜ §¡× 5Ñ 5¸DÐ 5Ð AÀ3ÔG÷ %×$Ö$ús   «D8E,Å,
E:rB   N)rO   rP   rQ   rR   r5   ÚparamsrÞ   rC   rX   rY   rç   rë   rñ   rø   ÚlimitsÚ	referenceÚlistÚzipÚadditional_datar  r  r  r^   rB   r7   r4   r´   r´   ™   sÂ  † òKð 	Øð€Fò
Kð& ‡[�[×ÑÐ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ó :ðDð ‡[�[×Ñ˜]¨U°D¨MÓ:Ø‡[�[×ÑØØòGðHð ò"ð#ð	
ó	ñHó	ó ;ðHð" ‡[�[×Ñ˜]¨U°D¨MÓ:Ø‡[�[×ÑØØ�Ò,Ð-Ø�Ò:Ð;Ø�ÒFÐGð
óñHóó ;óHr7   r´   c                   ó>   • \ rS rSrS rS rS rS rS rS r	S r
S	rg
)ÚTestLogLocatoriI  c                 ó°  • [         R                  " SS9n[        R                  " [        5         UR                  SS5        S S S 5        [        R                  " / SQ5      n[        UR                  SS5      U5        [         R                  " SS	9n[        R                  " / S
Q5      n[        UR                  SS5      U5        g ! , (       d  f       N‹= f)Nr!   rd   r   éè  )çñhãˆµøä>r   rº   ç      $@ç     @�@ç     jø@ç    ÐcAç    eÍÍAr   g     Ûú@r   r…   )
r   r   r|   ç      @g       @g      0@g      @@g      P@g      `@g      p@r   r   )	r,   Ú
LogLocatorrC   rD   r]   r.   rS   rT   r   rj   s      r4   r5   ÚTestLogLocator.test_basicJ  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Ã
Cc                 ó²   • [         R                  " SS0S9u  pUR                  S5        UR                  SS5        [	        UR                  5       / SQ5        g)	z,
Polar Axes have a different ticking logic.
Ú
projectionÚpolar)Ú
subplot_kwÚlogr   r   )r"   r   r'  N)rÂ   rÃ   Ú
set_yscaler  r   Ú
get_yticks©r/   rÉ   rÊ   s      r4   Útest_polar_axesÚTestLogLocator.test_polar_axesX  sC   € ô —,’,¨<¸Ð*AÑB‰ˆØ
�‰�eÔØ
�‰�A�sÔÜ˜2Ÿ=™=›?ªOÕ<r7   c                 ó  • [         R                  " SS9n[        UR                  SS5      / SQ5        [         R                  " [        R
                  " SS5      S9nSUR                  S	S
5      ;  d   eSUR                  S	S
5      ;  d   eg )NrK   ©Úsubsr¼   r½   )g)\�Âõ(Ü?gq=
×£pÝ?g¸…ëQ¸Þ?r   g¤p=
×£à?gHáz®Gá?gìQ¸…ëá?r   r"   r   r¾   r   r)  )r,   r/  r   r.   rS   rU   rn   s     r4   Útest_switch_to_autolocatorÚ)TestLogLocator.test_switch_to_autolocatora  sz   € Ü× Ò  eÑ,ˆÜ˜3Ÿ?™?¨4°Ó6ÚDô	Fô × Ò ¤b§i¢i°°2Ó&6Ñ7ˆØ˜#Ÿ/™/¨#¨sÓ3Ó3Ð3Ð3Ø˜3Ÿ?™?¨3°Ó4Ó4Ð4Ñ4r7   c                 óÒ   • [         R                  " 5       nUR                  SS/SS9  UR                  S:X  d   eUR                  S:X  d   e[        UR                  5      S/:X  d   eg)z¦
Create log locator with default value, base=10.0, subs=[1.0],
numticks=15 and change it to something else.
See if change was successful. Should not raise exception.
é   r|   r¡   )re   r=  r†   N)r,   r/  ru   re   Ú_baser!  Ú_subsrn   s     r4   rv   ÚTestLogLocator.test_set_paramsj  s`   € ô × Ò Ó"ˆØ�‰ ¨¨°AˆÑ6Ø�|‰|˜qÓ Ð Ð Ø�y‰y˜A‹~Ðˆ~Ü�C—I‘I‹ 3 %Ó'Ð'Ñ'r7   c                 ó”   • [         R                  " SS9n[        R                  " / SQ5      n[	        UR                  SS5      U5        g )N©r   r   r!   r<  )rº   rh   r   r   r|   rÛ   r)  r   ç      I@r   ç      i@ç     @@r*  ç     @Ÿ@ç     ˆ³@ç     ˆÃ@ç     ˆÓ@ç     jè@r+  ç     jAç    €„Aç    €„.Aç    €„>Aç    ÐSAr,  ç    ÐsAç    „×‡Aç    „×—Aç    „×§Aç    eÍ½Ar   r,  )r,   r/  rS   rT   r   r.   ©r/   Úllrk   s      r4   Útest_tick_values_correctÚ'TestLogLocator.test_tick_values_correctv  s>   € Ü×Ò YÑ/ˆÜ—X’Xò Oó Pˆ
ô
 	˜BŸN™N¨1¨cÓ2°JÕ?r7   c                 óº   • S[         R                  S'   [        R                  " SS9n[        R
                  " / SQ5      n[        UR                  SS5      U5        g )NFrê   rF  r<  )!rº   rh   r   r   r|   rÛ   r)  r   rG  r   rH  rI  r*  rJ  rK  rL  rM  rN  r+  rO  rP  rQ  rR  rS  r,  rT  rU  rV  rW  rX  r-  g    eÍÝAg    _ òAr   rV  )r—   ÚrcParamsr,   r/  rS   rT   r   r.   rY  s      r4   Útest_tick_values_not_emptyÚ)TestLogLocator.test_tick_values_not_empty  sK   € Ø16Œ�‰Ð-Ñ.Ü×Ò YÑ/ˆÜ—X’Xò 7ó 8ˆ
ô 	˜BŸN™N¨1¨cÓ2°JÕ?r7   c                 ó  • [         R                  R                  S5      nUR                  SS9/ / /n[        R
                  " [        U5      SSS9u  p4[        UR                  5       U5       H%  u  pVUR                  USS9  UR                  SS	S
9  M'     UR                  5        H^  n[        UR                  5       US   R                  5       :H  5      (       d   eUR                  5       US   R                  5       :X  a  M^   e   g )Ni!N,r   )ÚsizeT)ÚsharexÚshareyr"   )Úbinsr5  Úclip)Únonpositiver   )rS   ÚrandomÚdefault_rngÚnormalrÂ   rÃ   râ   r"  ÚflattenÚhistr6  rK   r7  Úget_ylim)r/   ÚrngÚ
dummy_datarÉ   ÚaxesrÊ   r•   s          r4   Útest_multiple_shared_axesÚ(TestLogLocator.test_multiple_shared_axesŠ  sÚ   € Ü�i‰i×#Ñ# HÓ-ˆØ—j‘j c�jÐ*¨B°Ð3ˆ
Ü—L’L¤ Z£¸ÀdÑK‰	ˆä˜DŸL™L›N¨JÖ7‰HˆBØ�G‰G�D˜rˆGÑ"Ø�M‰M˜%¨VˆMÓ4ñ 8ð —,‘,–.ˆBÜ�r—}‘}“¨$¨q©'×*<Ñ*<Ó*>Ñ>×?Ñ?Ð?Ð?Ø—;‘;“= D¨¡G×$4Ñ$4Ó$6Õ6Ð6Ð6ò !r7   rB   N)rO   rP   rQ   rR   r5   r9  r>  rv   r[  r_  rq  r^   rB   r7   r4   r%  r%  I  s(   † òAò=ò5ò
(ò@ò	@õ7r7   r%  c                   ó   • \ rS rSrS rSrg)ÚTestNullLocatori˜  c                 ó¶   • [         R                  " 5       n[        R                  " [        5         UR                  5         SSS5        g! , (       d  f       g= f)zp
Create null locator, and attempt to call set_params() on it.
Should not exception, and should raise a warning.
N)r,   ÚNullLocatorrC   ÚwarnsÚUserWarningru   rn   s     r4   rv   ÚTestNullLocator.test_set_params™  s4   € ô
 ×!Ò!Ó#ˆÜ�\Š\œ+Õ&Ø�N‰NÔ÷ '×&Ö&ús   °A
Á

ArB   N©rO   rP   rQ   rR   rv   r^   rB   r7   r4   rt  rt  ˜  s   † õr7   rt  c                   ó4   • \ rS rSr\S 5       r\S 5       rSrg)Ú_LogitHelperi£  c                 óà   • SU s=:  a  S:  a`  O  O]SUs=:  a  S:  aP  O  OM[         R                  " [         R                  " SU -  S-
  5      * [         R                  " SU-  S-
  5      * 5      $ S$ )Nr   r   F)rS   Úiscloser5  )rï   r  s     r4   r~  Ú_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ð	7r7   c                 óÞ  • [         R                  " U 5      n[         R                  " U5      n[         R                  " US:„  5      (       a  [         R                  " US:  5      (       d   e[         R                  " US:„  5      (       a  [         R                  " US:  5      (       d   e[         R                  " SU-  S-
  5      * n[         R                  " SU-  S-
  5      * n[	        XE5        g rô   )rS   rT   rK   r5  r   )rï   r  rÊ   ÚayÚlxÚlys         r4   r   Ú _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Õ#r7   rB   N)rO   rP   rQ   rR   Ústaticmethodr~  r   r^   rB   r7   r4   r|  r|  £  s(   † Øñ7ó ð7ð ñ$ó ó$r7   r|  c                   ó4  • \ rS rSr/ SQrSS\R                  " SS5      -  -  SS\R                  " SS5      -  -  SS\R                  " SS5      -  -  SS\R                  " SS5      -  -  SS\R                  " SS	5      -  -  SS\R                  " SS
5      -  -  SS\R                  " SS5      -  -  SS\R                  " SS5      -  -  /r/ SQr\	R                  R                  S\" \\5      5      S 5       r\	R                  R                  S\5      S 5       r\	R                  R                  S\\-   5      S 5       r\	R                  R                  S\" \\5      5      S 5       rS r/ S\R                  " SS5      -  QSS\R                  " SS5      -  -
  Qr\	R                  R                  S\R(                  " \SS9 V VVs/ s H  u  pX:w  d  M  X4PM     snnn 5      S 5       r\	R                  R                  S\5      S 5       rSrgs  snnn f )ÚTestLogitLocatori´  )©r¹   r   )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ýÿÿï?r   r"   rc   r¡   r!   r   rA  rr   é	   ))rÔ   rÕ   )r¹   rh   )rÖ   r   zlims, expected_low_ticksc                 óš   • [        / UQSPSU-
  Q5      n[        R                  " SS9n[        R	                  UR
                  " U6 U5        g)zB
Create logit locator with huge number of major, and tests ticks.
r   r   r   r)   N)Úsortedr,   ÚLogitLocatorr|  r   r.   )r/   ÚlimsÚexpected_low_ticksÚexpected_ticksr3   s        r4   Útest_basic_majorÚ!TestLogitLocator.test_basic_majorÍ  sV   € ô  ØAÐ ÐA #ÐA¨Ð-?Ñ)?ÐAó
ˆô ×"Ò"¨Ñ-ˆÜ×(Ñ(Ø�OŠO˜TÐ"Øõ	
r7   r�  c                 óN  • [         R                  " SS9n[         R                  " S/ SQS9nS Ht  nUR                  US9  UR                  US9  UR                  " U6 nUR                  " U6 nUR
                  UR
                  :X  d   eXV:H  R                  5       (       a  Mt   e   g)zR
When the axis is zoomed, the locator must have the same behavior as
MaxNLocator.
r   r)   )r   r   r!   r"   )r*   r:   )r¡   rr   é   N)r,   r�  r-   ru   r.   ÚshaperK   )r/   r�  r3   Úmaxn_locr*   ÚticksÚ
maxn_tickss          r4   Útest_maxn_majorÚ TestLogitLocator.test_maxn_majorÞ  s�   € ô ×"Ò"¨Ñ-ˆÜ×&Ò&¨SºÑFˆÛˆEØ�N‰N ˆNÑ'Ø×Ñ eÐÑ,Ø—O’O TÐ*ˆEØ!×-Ò-¨tÐ4ˆJØ—;‘; *×"2Ñ"2Ó2Ð2Ð2ØÑ'×,Ñ,×.Ó.Ð.Ð.ò  r7   c                 ó.  • [        [        R                  " [        R                  " US   5      5      * 5      S-  S-   n[        R
                  " SS9n[        USS5       H3  nUR                  US9  [        UR                  " U6 5      US-   ::  a  M3   e   g)z2
Assert logit locator for respecting nbins param.
r   r   r   r   r)   r   N)
ÚintrS   ÚfloorÚlog10r,   r�  Úrangeru   râ   r.   )r/   r�  Úbasic_neededr3   r*   s        r4   Útest_nbins_majorÚ!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—’¨Ð-Ó.°%¸!±)Õ;Ð;Ð;ò 0r7   c                 óî  • [        / UQSPSU-
  Q5      n[        U5      n[        R                  " SS9n[        R                  " SSS9n[	        USS5       Hœ  nUR                  US9  UR                  US9  UR                  " U6 nUR                  " U6 n	[        U5      [        U5      :¼  a"  [        U5      S-
  S	-  [        U	5      :  d   eMy  [        R                  [        / UQU	Q5      U5        Mž     g
)z\
In large scale, test the presence of minor,
and assert no minor when major are subsampled.
r   r   r   r)   T)r*   rÁ   r   r   r!   N)	rŽ  râ   r,   r�  r¡  ru   r.   r|  r   )
r/   r�  r‘  r’  r¢  r3   Ú	minor_locr*   Úmajor_ticksÚminor_tickss
             r4   Ú
test_minorÚTestLogitLocator.test_minorú  sÿ   € ô  ØAÐ ÐA #ÐA¨Ð-?Ñ)?ÐAó
ˆô ˜>Ó*ˆÜ×"Ò"¨Ñ-ˆÜ×(Ò(¨s¸$Ñ?ˆ	Ü˜<¨¨BÖ/ˆ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ò 0r7   c                 óÊ   • [         R                  " SS9nUR                  (       a   eSUl        UR                  (       d   eUR                  SS9  UR                  (       a   eg )Nr   r)   TFrÀ   )r,   r�  rÁ   ru   rn   s     r4   Útest_minor_attrÚ TestLogitLocator.test_minor_attr  sM   € Ü×"Ò"¨Ñ-ˆØ—9—9Ðˆ}ØˆŒ	Ø�y�yÐˆyØ�‰˜UˆÑ#Ø—9—9Ðˆ}�9r7   rÙ   éýÿÿÿr   r   )Úrepeatc                 ó€   • [         R                  " 5       nUR                  " U6 n[        U5      [        U5      :X  d   eg)zL
Create logit locator, and test the nonsingular method for acceptable
value
N)r,   r�  ÚnonsingularrŽ  )r/   r�  r3   Úlims2s       r4   Útest_nonsingular_okÚ$TestLogitLocator.test_nonsingular_ok$  s6   € ô ×"Ò"Ó$ˆØ—’ Ð&ˆÜ�d‹|œv e›}Ó,Ð,Ñ,r7   Úokvalc                 óè   • [         R                  " 5       nSUpCUR                  X45      u  pVXd:X  d   eSUs=:  a  U:  d   e   eUSpCUR                  X45      u  pVXS:X  d   eXVs=:  a  S:  d   e   eg)zP
Create logit locator, and test the nonsingular method for non
acceptable value
r   r   r   r   N)r,   r�  r±  )r/   rµ  r3   r0   r1   Úvmin2Úvmax2s          r4   Útest_nonsingular_nokÚ%TestLogitLocator.test_nonsingular_nok5  s„   € ô ×"Ò"Ó$ˆØ˜%ˆdØ—‘ tÓ2‰ˆØ‹}Ðˆ}Ø�5Õ ˜5Ó Ð Ñ Ð Ð Ø˜QˆdØ—‘ tÓ2‰ˆØ‹}Ðˆ}ØÕ ˜qÓ Ð Ñ Ð Ñ r7   rB   N)rO   rP   rQ   rR   Úref_basic_limitsrS   rU   Úref_basic_major_ticksÚref_maxn_limitsrC   rX   rY   r"  r“  r›  r£  r©  r¬  Úacceptable_vmin_vmaxÚ	itertoolsÚproductr³  r¹  r^   )Ú.0ÚaÚbs   000r4   r‡  r‡  ´  sS  † ò	Ðð 	
ˆR�2—9’9˜Q “?Ñ"Ñ#Ø	ˆR�2—9’9˜Q “?Ñ"Ñ#Ø	ˆR�2—9’9˜Q “?Ñ"Ñ#Ø	ˆR�2—9’9˜Q “?Ñ"Ñ#Ø	ˆR�2—9’9˜Q “?Ñ"Ñ#Ø	ˆR�2—9’9˜Q “?Ñ"Ñ#Ø	ˆR�2—9’9˜Q “?Ñ"Ñ#Ø	ˆR�2—9’9˜Q Ó#Ñ#Ñ$ð	Ðò G€Oà‡[�[×ÑØ"ÙÐÐ3Ó4óñ
ó	ð
ð ‡[�[×Ñ˜V _Ó5ñ/ó 6ð/ð ‡[�[×Ñ˜VÐ%5¸Ñ%GÓHñ	<ó Ið	<ð ‡[�[×ÑØ"ÙÐÐ3Ó4óñJó	ðJò2ðØ
�—’˜2˜qÓ!Ñ
!ðà
ˆc�R—Y’Y˜r 1Ó%Ñ%Ñ
%ðÐð
 ‡[�[×ÑØð $×+Ò+Ð,@ÈÒKõ	
âK‘�Ø‰vó ˆQ‹FÙKó	
óñ-óð-ð ‡[�[×Ñ˜WÐ&:Ó;ñ!ó <ó!ùô!	
s   Ç	HÇHr‡  c                   ó   • \ rS rSrS rSrg)ÚTestFixedLocatoriF  c                 ó„   • [         R                  " [        SS5      SS9nUR                  SS9  UR                  S:X  d   eg)zy
Create fixed locator with 5 nbins, and change it to something else.
See if change was successful.
Should not exception.
r   é   r!   r)   rA  N)r,   ÚFixedLocatorr¡  ru   r*   )r/   Úfixeds     r4   rv   Ú TestFixedLocator.test_set_paramsG  s?   € ô ×$Ò$¤U¨1¨b£\¸Ñ;ˆØ×Ñ˜qÐÑ!Ø�{‰{˜aÓÐÑr7   rB   Nrz  rB   r7   r4   rÅ  rÅ  F  s   † õ r7   rÅ  c                   ó   • \ rS rSrS rSrg)ÚTestIndexLocatoriR  c                 ó–   • [         R                  " SSS9nUR                  SSS9  UR                  S:X  d   eUR                  S:X  d   eg)z‚
Create index locator with 3 base, 4 offset. and change it to something
else. See if change was successful.
Should not exception.
rc   r¡   r�   rA  N)r,   ÚIndexLocatorru   rB  r�   )r/   Úindexs     r4   rv   Ú TestIndexLocator.test_set_paramsS  sM   € ô ×$Ò$¨!°AÑ6ˆØ×Ñ˜a¨ÐÑ*Ø�{‰{˜aÓÐÐØ�|‰|˜qÓ Ð Ñ r7   rB   Nrz  rB   r7   r4   rÌ  rÌ  R  s   † õ	!r7   rÌ  c                   ó‚   • \ rS rSrS r\R                  R                  SSSSS/4SS/ SQ4/5      S 5       rS	 r	S
 r
Srg)ÚTestSymmetricalLogLocatori_  c                 óš   • [         R                  " SSS9nUR                  S/SS9  UR                  S/:X  d   eUR                  S:X  d   eg)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|   rr   )r=  re   N)r,   ÚSymmetricalLogLocatorru   rC  re   ©r/   Úsyms     r4   rv   Ú)TestSymmetricalLogLocator.test_set_params`  sN   € ô ×+Ò+°¸qÑAˆØ�‰˜S˜E¨AˆÑ.Ø�y‰y˜S˜EÓ!Ð!Ð!Ø�|‰|˜qÓ Ð Ñ r7   r'   r   r   r   ©r   r   r   c                 ób   • [         R                  " SSS9nUR                  XS9n[        XS5        g )Nr"   r   rÔ  )r0   r1   )r,   rÖ  r.   r   )r/   r0   r1   r2   rØ  r™  s         r4   Útest_valuesÚ%TestSymmetricalLogLocator.test_valuesl  s.   € ô ×+Ò+°¸qÑAˆØ—‘ T�Ð5ˆÜ˜5Õ+r7   c                 ó²   • [         R                  " SSSS/S9nUR                  5         UR                  R	                  SS5        [        U" 5       / SQ5        g )Nr"   r   r|   r.  )r†   rÕ  r=  éöÿÿÿ)	éìÿÿÿiØÿÿÿéþÿÿÿr    r   r   r¡   r
   é(   )r,   rÖ  Úcreate_dummy_axisÚaxisÚset_view_intervalr   r×  s     r4   Ú	test_subsÚ#TestSymmetricalLogLocator.test_subsy  sG   € Ü×+Ò+°¸qÈÈSÀzÑRˆØ×ÑÔØ�‰×"Ñ" 3¨Ô+Ü™3›5Ò"EÕFr7   c                 óÐ  • [         R                  " SSS9nUR                  5         UR                  R	                  SS5        U" 5       S/:H  R                  5       (       d   eUR                  R	                  SS5        U" 5       SS/:H  R                  5       (       d   eUR                  SS5      S	:X  d   eUR                  S
S
5      S:X  d   eUR                  SS5      S:X  d   eg )Nr"   r   rÔ  rr   rŒ  r   é   r)  )r   r   rß  )éœÿÿÿr   r   )çü©ñÒMbP¿r   )r,   rÖ  rã  rä  rå  rK   r™   r×  s     r4   Útest_extendingÚ(TestSymmetricalLogLocator.test_extending  sÐ   € Ü×+Ò+°¸qÑAˆØ×ÑÔØ�‰×"Ñ" 1 aÔ(Ù“˜#˜‘×#Ñ#×%Ñ%Ð%Ð%Ø�‰×"Ñ" 1 bÔ)Ù“˜#˜t˜Ñ$×)Ñ)×+Ñ+Ð+Ð+Ø�‰˜r 2Ó&¨(Ó2Ð2Ð2Ø�‰˜s CÓ(¨JÓ6Ð6Ð6Ø�‰˜q !Ó$¨Ó7Ð7Ñ7r7   rB   N)rO   rP   rQ   rR   rv   rC   rX   rY   rÜ  ræ  rì  r^   rB   r7   r4   rÒ  rÒ  _  sT   † ò
!ð ‡[�[×ÑØ"à�A˜˜1�v�Ø�Qš
Ð#ðóñ,óð,òGõ	8r7   rÒ  c                   óD   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)ÚTestAsinhLocatori‹  c                 óš   • [         R                  " SSS9nUR                  S:X  d   eUR                  S:X  d   eUR                  S:X  d   eg )NgX9´Èv¾@é   )Úlinear_widthre   r"   )r,   ÚAsinhLocatorrò  re   r†   ©r/   Úlctrs     r4   Ú	test_initÚTestAsinhLocator.test_initŒ  sJ   € Ü×#Ò#°ÀÑDˆØ× Ñ  EÓ)Ð)Ð)Ø�}‰} Ó"Ð"Ð"Ø�y‰y˜B‹Ð‰r7   c                 ó  • [         R                  " SSS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
                  S:X  d   eUR                  SS9  UR                  S:X  d   eUR                  S 5        UR                  S:X  d   eUR                  S	S
9  UR                  S	:X  d   eUR                  S S
9  UR                  S	:X  d   eUR                  SS9  UR                  S:X  d   eUR                  S S9  UR                  S:X  d   eUR                  SS9  UR
                  S:X  d   eUR                  S S9  UR
                  S:X  d   eUR                  / S9  UR
                  b   eg )Nr!   r	   r  r¡   )rÙ   g      
@)rò  re   Ú	symthreshr†   r=  é   rd   r   )rù  rA  r…   )r   g     €@r<  )r,   ró  re   rù  r†   r=  ru   rô  s     r4   rv   Ú 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Ñ Ð Ñ r7   c                 ó\  • [         R                  " SSSS9n[        UR                  SS5      [        R
                  " SSS5      5        [        UR                  S	S
5      [        R
                  " S	SS5      5        [        UR                  SS5      [        R
                  " SSS5      5        g )Nr   r>   r   ©rò  re   r†   r   r   ç)\�Âõ(ð?rh   r   rº   gB`åÐ"Û¹?ç{®Gáz”?g{®Gáz„¿r  gM„O¯„?çü©ñÒMb`?©r,   ró  r   r.   rS   rU   rô  s     r4   Útest_linear_valuesÚ#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Ó;õ	=r7   c                 ó¨   • [         R                  " SSSS9n[        UR                  SS5      / SQ5        [        UR                  SS	5      / S
Q5        g )Nrº   r>   r   rý  rê  r   )rê  rà  r   r   rÓ   r   rh   r   r!   r
   r   éüÿÿr'  )r  rê  rà  r®  rÒ   r   rÔ   rc   r
   r   r'  ©r,   ró  r   r.   rô  s     r4   Útest_wide_valuesÚ!TestAsinhLocator.test_wide_values»  sP   € Ü×#Ò#°¸rÈÑJˆä˜D×,Ñ,¨T°3Ó7ò4ô	5ô 	˜D×,Ñ,¨U°DÓ9ò7õ	8r7   c                 ól   • [         R                  " SSSS9n[        UR                  SS5      / SQ5        g)	z<Check that manually injected zero will supersede nearby tickr   rc   r   rý  rÑ   r¾   )r×   r   r¾   Nr  rô  s     r4   Útest_near_zeroÚTestAsinhLocator.test_near_zeroÅ  s.   € ä×#Ò#°¸qÀqÑIˆä˜D×,Ñ,¨T°3Ó7Ò9IÕJr7   c                 ó’   • [         R                  " SSS9n[        UR                  SS5      [        R
                  " SSS5      5        g )Nr   r>   rd   ée   éf   gq=
×£€Y@rº   r  rô  s     r4   Útest_fallbackÚTestAsinhLocator.test_fallbackË  s;   € Ü×#Ò# C°"Ñ5ˆä˜D×,Ñ,¨S°#Ó6ÜŸIšI c¨6°3Ó7õ	9r7   c                 óÊ  • [         R                  " SSSSS9nUR                  5         UR                  R	                  SS5        [        U" 5       / SQ5        UR                  R	                  SS	5        [        U" 5       / S
Q5        UR                  R	                  SS5        [        U" 5       / S
Q5        UR                  R	                  SS5        [        U" 5       / SQ5        g )Nr   rc   r   r   )rò  re   rù  r†   r   r   )r   r   r   r¾   rÚ  g333333ë¿r¿   r   )r   r¿   r   )r,   ró  rã  rä  rå  r   rô  s     r4   Útest_symmetrizingÚ"TestAsinhLocator.test_symmetrizingÑ  s§   € Ü×#Ò#°¸QØ.2¸ñ<ˆà×ÑÔ à�	‰	×#Ñ# B¨Ô*Ü™D›F¢JÔ/à�	‰	×#Ñ# B¨Ô,Ü™D›F¢JÔ/à�	‰	×#Ñ# E¨4Ô0Ü™D›F¢JÔ/à�	‰	×#Ñ# A sÔ+Ü™D›F¢NÕ3r7   c                 óÖ   • [         R                  " SSSSS9n[        UR                  SS5      / SQ5        [         R                  " SS	S
S9n[        UR                  SS5      / SQ5        g )Nr   rr   r"   )r   rc   r!   )rò  re   r†   r=  é’ÿÿÿén   )iþÿÿiÔþÿÿrê  iÎÿÿÿiâÿÿÿrß  r   r®  r   rØ   rg   r   r   rº   r»   r   r   rc   r!   r"   r$   é2   r   i,  éô  r
   r!   rý  iæûÿÿi  )i�ýÿÿiƒÿÿÿiçÿÿÿr   r   rÓ   r   rh   r   r!   é   é}   iq  r  )r/   Úlctr10Úlctr5s      r4   Útest_base_roundingÚ#TestAsinhLocator.test_base_roundingâ  sk   € Ü×%Ò%°1¸qØ+-°Iñ?ˆä˜F×.Ñ.¨t°SÓ9òAô	Bô
 ×$Ò$°!¸bÀqÑIˆÜ˜E×-Ñ-¨e°TÓ:ò6õ	7r7   rB   N)rO   rP   rQ   rR   rö  rv   r  r  r
  r  r  r  r^   rB   r7   r4   rï  rï  ‹  s+   † òò!ò>=ò8òKò9ò4õ"7r7   rï  c                   ó   • \ rS rSr/ SQrSS/rSS/r/ SQrSS/SS	/S
S/SS/SS//r/ SQr	\
R                  R                  SSS/5      S 5       r\
R                  R                  S\5      S 5       r\
R                  R                  S\5      S 5       r\
R                  R                  S\5      S 5       rS rS r\
R                  R                  S\5      S 5       r\
R                  R                  S\	5      S  5       r\
R                  R                  S!\5      S" 5       r\
R                  R                  S!\5      S# 5       rS$ rS% rS& rS'rg())ÚTestScalarFormatterið  ))é{   é½   r   )iCÿÿÿi…ÿÿÿr   )i50  i=0  i40  )iÃÏÿÿiËÏÿÿiÌÏÿÿ)g    øiø@g    ¨jø@é † )g    ¨jøÀg    øiøÀé`yþÿ)g    hiø@g    jø@r#  )g    jøÀg    hiøÀr$  )iOÔ iQÔ iPÔ )i¯+íÿi±+íÿi°+íÿ)r   r   r   )r!  r!  r   )gì/»'Ý?g”ö_˜LÝ?r¼   )g
×£p=š­@g33333Ž­@iÄ  )gš™™™‰æ@g    ø`æ@iÈ¯  )g1Ðµ/ G?gšÃÿgÞ»G?gÖÿ9Ì—G?)g\�Âõh˜È@g¤p=
·—È@i.1  )g      "@g      (@r   )g      Œ@ç     À’@r   )g     °�@r%  r   )ç®Gáz®ï?rþ  r   )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‘í|ß¿r'  r   )g3333³È@g    @È@i0  )gffff¦ÈÀgffff¦È@r   TF)	)FrÌ   )r)  r   r   F)T©rá  r   )rß  r
   r   F)Tr(  )rà  r"   r   F)Tr(  )r  éx   r   F)Tr(  )iˆÿÿÿr  r   F)Tr(  )rë  r   r®  F)T)r‰   rA  )g   €tÒÚAg   0ëþArŒ  T)TrÌ   ©g     jøÀr+  r!   F)T)r   r   r*  r   Fr   z0.000g�(í¾0‰?z0.012g°rh‘í|¿?z0.123g®Gáz®ó?z1.230gš™™™™™(@z12.300))rº   ú1e-1)r  z1.1e-1)rV  Ú1e8)g    Þ9šAz1.1e8zunicode_minus, result)Tõ   âˆ’1)Fú-1c                 óÊ   • U[         R                  S'   [        R                  " 5       R                  R                  5       R                  S5      R                  5       U:X  d   eg )Núaxes.unicode_minusr   )r—   r^  rÂ   ÚgcarÆ   Úget_major_formatterÚformat_data_shortÚstrip)r/   Úunicode_minusrL   s      r4   Útest_unicode_minusÚ&TestScalarFormatter.test_unicode_minus2  sO   € ð .;Œ�‰Ð)Ñ*ä�GŠG‹I�O‰O×/Ñ/Ó1×CÑCÀBÓG×MÑMÓOØóð	ñr7   zleft, right, offsetc                 ób  • [         R                  " 5       u  pEUR                  R                  5       nX:X  a  [        R
                  " [        SS9O	[        5          UR                  X5        S S S 5        UR                  R                  5         UR                  U:X  d   eX:X  a  [        R
                  " [        SS9O	[        5          UR                  X!5        S S S 5        UR                  R                  5         UR                  U:X  d   eg ! , (       d  f       N©= f! , (       d  f       NL= f)NzAttempting to set identicalr@   )rÂ   rÃ   rÆ   r2  rC   rw  rx  r   rÄ   Ú_update_ticksr�   )r/   ÚleftÚrightr�   rÉ   rÊ   Ú	formatters          r4   Útest_offset_valueÚ%TestScalarFormatter.test_offset_value:  sé   € ä—,’,“.‰ˆØ—H‘H×0Ñ0Ó2ˆ	ð “ô �lŠlœ;Ð.KÒLÜ$/£Mñ2à�K‰K˜Ô$÷2ð 	�‰×ÑÔ Ø×Ñ 6Ó)Ð)Ð)ð “ô �lŠlœ;Ð.KÒLÜ$/£Mñ2à�K‰K˜Ô$÷2ð 	�‰×ÑÔ Ø×Ñ 6Ó)Ð)Ñ)÷2õ 2ú÷2õ 2ús   ÁDÃD Ä
DÄ 
D.Ú
use_offsetc                 óâ   • [         R                  " SU05         [        R                  " 5       nXR	                  5       :X  d   eUR
                  S:X  d   e S S S 5        g ! , (       d  f       g = f)Nzaxes.formatter.useoffsetr   )r—   r˜   r,   ÚScalarFormatterÚget_useOffsetr�   )r/   r?  Útmp_forms      r4   Útest_use_offsetÚ#TestScalarFormatter.test_use_offsetK  sV   € ä�^Š^Ð7¸ÐDÕEÜ×.Ò.Ó0ˆHØ×!7Ñ!7Ó!9Ó9Ð9Ð9Ø—?‘? aÓ'Ð'Ñ'÷ F×EÖEús   ™=A Á 
A.Úuse_math_textc                 ó¾   • [         R                  " SU05         [        R                  " 5       nXR	                  5       :X  d   e S S S 5        g ! , (       d  f       g = f)Núaxes.formatter.use_mathtext)r—   r˜   r,   rA  Úget_useMathText)r/   rF  rC  s      r4   Útest_useMathTextÚ$TestScalarFormatter.test_useMathTextR  sD   € ä�^Š^Ð:¸MÐJÕKÜ×.Ò.Ó0ˆHØ ×$<Ñ$<Ó$>Ó>Ð>Ñ>÷ L×KÖKús   ™+AÁ
Ac                 ó¢   • [         R                  " 5       nUR                  S5        UR                  5       (       a   eUR                  S:X  d   eg )Nr   )r,   rA  Úset_useOffsetrB  r�   ©r/   rC  s     r4   Útest_set_use_offset_floatÚ-TestScalarFormatter.test_set_use_offset_floatX  sE   € Ü×*Ò*Ó,ˆØ×Ñ˜sÔ#Ø×)Ñ)×+Ñ+Ð+Ð+Ø�‰ #Ó%Ð%Ñ%r7   c                 ó  • [         R                  " 5       nUS   nU(       a  US   SS  / [         R                  /4;   a  [        R                  " S5        [
        R                  " SS05         [        R                  " 5       nUR                  5       (       d   eUR                  5         UR                  R                  SS5        UR                  / S	Q5        X#" S
5      ;   d   e S S S 5        g ! , (       d  f       g = f)NÚthousands_sepÚgroupingr   zLocale does not apply groupingzaxes.formatter.use_localeTr   r"   )r   r   rc   r-  )ÚlocaleÚ
localeconvÚCHAR_MAXrC   Úskipr—   r˜   r,   rA  Úget_useLocalerã  rä  Úset_data_intervalÚset_locs)r/   ÚconvÚseprC  s       r4   Útest_use_localeÚ#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›-Ó'Ð'Ñ'÷ A×@Ö@ús   Á-A9C0Ã0
C>z.sci_type, scilimits, lim, orderOfMag, fewticksc                 óÔ  • [         R                  " 5       nUR                  U5        UR                  U5        [        R
                  " 5       u  pxUR                  R                  U5        UR                  " U6   U(       a/  UR                  R                  [         R                  " S5      5        UR                  UR                  R                  5       5        XFR                  :X  d   eg )Nr¡   )r,   rA  Úset_scientificÚset_powerlimitsrÂ   rÃ   r  Úset_major_formatterr  r  r-   rZ  Úget_majorticklocsÚorderOfMagnitude)	r/   Úsci_typeÚ	scilimitsr  Ú
orderOfMagÚfewticksrC  rÉ   rÊ   s	            r4   Útest_scilimitsÚ"TestScalarFormatter.test_scilimitsm  s¦   € ô ×*Ò*Ó,ˆØ×Ñ Ô)Ø× Ñ  Ô+Ü—,’,“.‰ˆØ
�‰×$Ñ$ XÔ.Ø
�Š�SÑÞØ�H‰H×&Ñ&¤w×':Ò':¸1Ó'=Ô>à×Ñ˜"Ÿ(™(×4Ñ4Ó6Ô7Ø×6Ñ6Ó6Ð6Ñ6r7   zvalue, expectedc                 ó‚   • S[         R                  S'   [        R                  " 5       nUR	                  U5      U:X  d   eg )NFr0  )r—   r^  r,   rA  Úformat_data)r/   Úvaluer2   Úsfs       r4   Útest_format_dataÚ$TestScalarFormatter.test_format_data|  s6   € à-2Œ�‰Ð)Ñ*Ü×$Ò$Ó&ˆØ�~‰~˜eÓ$¨Ó0Ð0Ñ0r7   zdata, expectedc                 óº   • [         R                  " 5       u  p4UR                  SS5        UR                  R	                  5       R
                  nU" U5      U:X  d   eg )Nr   r   )rÂ   rÃ   rÄ   rÆ   r2  r3  )r/   r•   r2   rÉ   rÊ   Úfmts         r4   Útest_cursor_precisionÚ)TestScalarFormatter.test_cursor_precision‚  sG   € ä—,’,“.‰ˆØ
�‰�B˜ÔØ�h‰h×*Ñ*Ó,×>Ñ>ˆÙ�4‹y˜HÓ$Ð$Ñ$r7   c                 ó:  • [         R                  " 5       nUR                  5         UR                  R	                  SS5        UR
                  nU" U5      U:X  d   eUR                  R                  5       S:X  d   eUR                  R                  5       S:X  d   eg )Nr   r"   rŒ  )r,   rA  rã  rä  rå  r3  Úget_tick_spaceÚ
get_minpos)r/   r•   r2   rn  rr  s        r4   Útest_cursor_dummy_axisÚ*TestScalarFormatter.test_cursor_dummy_axis‰  s…   € ô ×$Ò$Ó&ˆØ
×ÑÔØ
�‰×!Ñ! ! RÔ(Ø×"Ñ"ˆÙ�4‹y˜HÓ$Ð$Ð$Ø�w‰w×%Ñ%Ó'¨1Ó,Ð,Ð,Ø�w‰w×!Ñ!Ó# qÓ(Ð(Ñ(r7   c                 óÜ  • [         R                  R                  SSSS.5        [        [        R
                  5      R                  S:  ag  [        R                  " [        SS9   [        R                  " 5       u  pUR                  / SQ5        UR                  R                  5         S S S 5        g [        R                  " [        S	S9   [        R                  " [        SS9   [        R                  " 5       u  pUR                  / SQ5        UR                  R                  5         S S S 5        S S S 5        g ! , (       d  f       g = f! , (       d  f       N(= f! , (       d  f       g = f)
NÚserifÚcmr10F)úfont.familyz
font.serifrH  rr   zcmr10 font should ideallyr@   rÚ  z
Glyph 8722)r—   r^  ÚupdateÚparse_versionrC   Ú__version__r  rw  rx  rÂ   rÃ   rá   ÚcanvasÚdrawr8  s      r4   Útest_mathtext_ticksÚ'TestScalarFormatter.test_mathtext_ticks”  sï   € Ü�‰×ÑØ"Ø!Ø+0ñ
ô 	ô œ×+Ñ+Ó,×2Ñ2°QÓ6Ü—’œkÐ1LÓMÜŸ,š,›.‘�Ø—‘šjÔ)Ø—
‘
—‘Ô!÷ NÐMô
 —,’,œ{°,Ó?Ü—,’,œ{Ð2MÓNÜŸ,š,›.‘�Ø—‘šjÔ)Ø—
‘
—‘Ô!÷ O÷ @Ð?÷ NÕMú÷ OÕNú÷ @Õ?ús2   Á$AD;ÃEÃ%AEÄ*EÄ;
E	Å
E	ÅEÅ
E+c                 óú  • [         R                  R                  SSSS.5        UR                  [        R
                  SS9   [        R                  " 5       u  p#UR                  SS/S	S/5        UR                  S
5        / SQn[        R                  " 5       nUR                  U[        XT5      5        UR                  R                  5         UR                   (       a   e S S S 5        g ! , (       d  f       g = f)Nr|  ÚcmT)r}  zmathtext.fontsetrH  zmatplotlib.mathtext)Úloggerg¸…ëQ¸ž¿r¹   râ  r5  )rÿ  r»   r¡   r  )r—   r^  r~  Úat_levelÚloggingÚWARNINGrÂ   rÃ   Úplotr6  r,   ÚLogFormatterSciNotationÚ
set_yticksÚmapr�  r‚  Útext)r/   ÚcaplogrÉ   rÊ   Úyticksr<  s         r4   Útest_cmr10_substitutionsÚ,TestScalarFormatter.test_cmr10_substitutions§  s·   € Ü�‰×ÑØ"Ø $Ø+/ñ
ô 	ð �_‰_œWŸ_™_Ð5Jˆ_ÒKÜ—l’l“n‰GˆCØ�G‰G�U˜D�M B¨ :Ô.Ø�M‰M˜%Ô Ú'ˆFÜ×7Ò7Ó9ˆIØ�M‰M˜&¤# iÓ"8Ô9Ø�J‰J�O‰OÔØ—{—{Ð"�?�{÷ L×KÖKús   ÁB C,Ã,
C:c                 ól   • [         R                  " 5       nUR                  / 5        U" S5      S:X  d   eg )Nr   Ú )r,   rA  rZ  )r/   rn  s     r4   Útest_empty_locsÚ#TestScalarFormatter.test_empty_locs¹  s+   € Ü×$Ò$Ó&ˆØ
�‰�BŒÙ�#‹w˜"‹}Ð‰}r7   rB   N)rO   rP   rQ   rR   Úoffset_dataÚuse_offset_dataÚuseMathText_dataÚscilimits_dataÚcursor_datarl  rC   rX   rY   r6  r=  rD  rJ  rO  r]  ri  ro  rs  rx  rƒ  r’  r–  r^   rB   r7   r4   r   r   ð  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ð
 ‡[�[×ÑÐ-¨{Ó;ñ%ó <ð%ð ‡[�[×ÑÐ-¨{Ó;ñ)ó <ð)ò"ò&#õ$r7   r   c                   óÄ  • \ rS rSrSS\R
                  " SS5      \R
                  " SS5      / SQ4SS\R                  " S	S
\R                  SSS/5      \" S5      / SQ4SS\R                  " / SQ\	S9\" S5      / SQ4/r
SSS\R                  \R                  /r\R                  R                  S\
5      \R                  R                  S\5      S 5       5       rS rSrg)ÚTestLogFormatterExponenti¿  Tr¡   r®  r.  )z-3z-2r.  Ú0Ú1Ú2Ú3Fr"   rº   r(  rh   rÓ   gñhãˆµøä¾r   )ú0.1z1e-05ú3.14z0.2z-0.2z-1e-05r  )rc   r!   ré  é*   ©Údtype)r¢  Ú5Ú12Ú42r|   rÛ   r)  z2labelOnlyBase, exponent, locs, positions, expectedr†   c                 óB  • [         R                  " UUS9nUR                  5         UR                  R	                  SX#-  5        X$-  n[        X…5       V	V
s/ s H  u  pšU" Xš5      PM     nn	n
U Vs/ s H  oÌR                  SS5      PM     nnX¶:X  d   eg s  sn
n	f s  snf )N©r†   ÚlabelOnlyBaser   Ú-u   âˆ’)r,   ÚLogFormatterExponentrã  rä  rå  r"  Úreplace)r/   r­  r†   ÚexponentÚlocsÚ	positionsr2   r<  Úvalsrï   ÚposÚlabelsÚlabels                r4   r5   Ú#TestLogFormatterExponent.test_basicÍ  s˜   € ô
 ×0Ò0°dØ?LñNˆ	à×#Ñ#Ô%Ø�‰×(Ñ(¨¨D©NÔ;Ø‰zˆÜ47¸Ô4HÔIÒ4H©¨‘)˜AÖ#Ñ4HˆÑIÙFNÓOÂh¸U—M‘M #Ð'7Ö8ÁhˆÐOØÓ!Ð!Ñ!ùó JùÚOs   ÁBÁ1Bc                 ó¢   • [         R                  " SSS9nUR                  5         UR                  R	                  SS5        U" S5      S:X  d   eg )Nr"   Tr¬  r   g&üøŽ$ô?r•  )r,   r¯  rã  rä  rå  )r/   r<  s     r4   Ú
test_blankÚ#TestLogFormatterExponent.test_blankÛ  sG   € ä×0Ò0°bÈÑMˆ	Ø×#Ñ#Ô%Ø�‰×(Ñ(¨¨BÔ/Ù˜Ó! RÓ'Ð'Ñ'r7   rB   N)rO   rP   rQ   rR   rS   rU   rT   Úpir¡  ÚfloatÚ
param_dataÚeÚ	base_datarC   rX   rY   r5   rº  r^   rB   r7   r4   rž  rž  ¿  sã   † à	ˆq�"—)’)˜B Ó$ b§i¢i°°CÓ&8Ú	/ð	1ð 
��B—H’H˜c 7¨B¯E©E°3¸¸hÐGÓHÙ	ˆq‹ÒDð	Fà	��B—H’Hš^°5Ñ9¹5À»8Ú	ð	!ð	€Jð �c˜4 §¡¨¯©Ð-€Ià‡[�[×ÑØ@À*óNà‡[�[×Ñ˜V YÓ/ñ	"ó 0óNð	"õ(r7   rž  c                   ó‚   • \ rS rSr\R
                  " 5       r/ SQr\R                  R                  S\5      S 5       rSrg)ÚTestLogFormatterMathtextiã  ))r   r   ú$\mathdefault{10^{0}}$)r   r  z$\mathdefault{10^{-2}}$)r   r   z$\mathdefault{10^{2}}$)rc   r   z$\mathdefault{1}$)rc   r  z$\mathdefault{0.01}$)rc   r   z$\mathdefault{100}$)rc   r   z$\mathdefault{10^{-3}}$)rc   r*  z$\mathdefault{10^{3}}$zmin_exponent, value, expectedc                 ó˜   • [         R                  " SU05         U R                  U5      U:X  d   e S S S 5        g ! , (       d  f       g = f)Nzaxes.formatter.min_exponent)r—   r˜   rr  )r/   Úmin_exponentrm  r2   s       r4   Útest_min_exponentÚ*TestLogFormatterMathtext.test_min_exponentð  s7   € ä�^Š^Ð:¸LÐIÕJØ—8‘8˜E“? hÓ.Ð.Ñ.÷ K×JÖJús	   ™;»
A	rB   N)rO   rP   rQ   rR   r,   ÚLogFormatterMathtextrr  Ú	test_datarC   rX   rY   rÆ  r^   rB   r7   r4   rÂ  rÂ  ã  s>   † Ø
×
&Ò
&Ó
(€Cò	€Ið ‡[�[×ÑÐ<¸iÓHñ/ó Ió/r7   rÂ  c                   óœ   • \ rS rSr/ SQr\R                  R                  S5      \R                  R                  S\5      S 5       5       rSrg)ÚTestLogFormatterSciNotationiö  ))r   g       ?z$\mathdefault{2^{-5}}$)r   r   z$\mathdefault{2^{0}}$)r   é    z$\mathdefault{2^{5}}$)r   g333333£?z$\mathdefault{1.2\times2^{-5}}$)r   rŽ   z$\mathdefault{1.2\times2^{0}}$)r   g333333C@z$\mathdefault{1.2\times2^{5}}$)r"   r   z$\mathdefault{-10^{0}}$)r"   r(  z$\mathdefault{10^{-5}}$)r"   r   rÃ  )r"   r#  z$\mathdefault{10^{5}}$)r"   gñhãˆµøô>z$\mathdefault{2\times10^{-5}}$)r"   r   z$\mathdefault{2\times10^{0}}$)r"   i@ z$\mathdefault{2\times10^{5}}$)r"   rŠ  z$\mathdefault{5\times10^{-5}}$)r"   r!   z$\mathdefault{5\times10^{0}}$)r"   i ¡ z$\mathdefault{5\times10^{5}}$Údefaultzbase, value, expectedc                 ó®   • [         R                  " US9n[        R                  " SS05         U" U5      U:X  d   e S S S 5        g ! , (       d  f       g = f)Nr…   útext.usetexF)r,   rŒ  r—   r˜   )r/   r†   rm  r2   r<  s        r4   r5   Ú&TestLogFormatterSciNotation.test_basic
  sD   € ô ×3Ò3¸Ñ>ˆ	Ü�^Š^˜]¨EÐ2Õ3Ù˜UÓ# xÓ/Ð/Ñ/÷ 4×3Ö3ús   ­AÁ
ArB   N)rO   rP   rQ   rR   rÉ  r—   Ústyler  rC   rX   rY   r5   r^   rB   r7   r4   rË  rË  ö  sG   † ò€Ið& 	‡Y�Y×Ñ�yÓ!Ø‡[�[×ÑÐ4°iÓ@ñ0ó Aó "ó0r7   rË  c                   ó„  • \ rS rSr/ SQr\R                  R                  S\5      S 5       r\R                  R                  S/ SQ5      S 5       r	SS	 jr
\R                  R                  S
5      S 5       r\R                  R                  S/ SQ5      S 5       r\R                  R                  S/ SQ5      S 5       rSrg)ÚTestLogFormatteri  )„)ç}…9“x ?r   z3.142e-5)çÜæGÅ·–4?r   z3.142e-4)ç“à™¶e¼i?r   z3.142e-3)ç\, ’¿ ?r   z3.142e-2)çs7¨v/Ô?r   z3.142e-1)çPERTû!	@r   ú3.142)ç¤Öf)zj?@r   z3.142e1)ç&FàYŒ¢s@r   z3.142e2)ç°WXp/‹¨@r   z3.142e3)çœmnLû­Þ@r   z3.142e4)ç�Å½,Ar   z3.142e5)r(  r   ú1e-5)r   r   ú1e-4)r   r   ú1e-3)r  r   ú1e-2)rº   r   r+  )r   r   r   )r"   r   Ú10)r   r   Ú100)r'  r   Ú1000)é'  r   Ú1e4)r#  r   Ú1e5)rÔ  r  rŸ  )rÕ  r  rŸ  )rÖ  r  ú0.003)r×  r  ú0.031)rØ  r  ú0.314)rÙ  r  rÚ  )rÛ  r  ú31.416)rÜ  r  ú314.159)rÝ  r  ú3141.593)rÞ  r  ú	31415.927)rß  r  ú
314159.265)r(  r  rŸ  )r   r  rŸ  )r   r  ú0.001)r  r  ú0.01)rº   r  r£  )r   r  r   )r"   r  rä  )r   r  rå  )r'  r  ræ  )rç  r  Ú10000)r#  r  Ú100000)rÔ  r   rŸ  )rÕ  r   rŸ  )rÖ  r   rê  )r×  r   rë  )rØ  r   rì  )rÙ  r   rÚ  )rÛ  r   rí  )rÜ  r   rî  )rÝ  r   rï  )rÞ  r   rð  )rß  r   rñ  )r(  r   rŸ  )r   r   rŸ  )r   r   rò  )r  r   ró  )rº   r   r£  )r   r   r   )r"   r   rä  )r   r   rå  )r'  r   ræ  )rç  r   rô  )r#  r   rõ  )rÔ  r!   rŸ  )rÕ  r!   rŸ  )rÖ  r!   rŸ  )r×  r!   z0.03)rØ  r!   z0.31)rÙ  r!   r¤  )rÛ  r!   z31.42)rÜ  r!   z314.16)rÝ  r!   z3141.59)rÞ  r!   z31415.93)rß  r!   z	314159.27)r(  r!   rŸ  )r   r!   rŸ  )r   r!   rŸ  )r  r!   ró  )rº   r!   r£  )r   r!   r   )r"   r!   rä  )r   r!   rå  )r'  r!   ræ  )rç  r!   rô  )r#  r!   rõ  )rÔ  r   rŸ  )rÕ  r   rŸ  )rÖ  r   rŸ  )r×  r   rŸ  )rØ  r   z0.3)rÙ  r   ú3.1)rÛ  r   z31.4)rÜ  r   z314.2)rÝ  r   z3141.6)rÞ  r   z31415.9)rß  r   z314159.3)r(  r   rŸ  )r   r   rŸ  )r   r   rŸ  )r  r   rŸ  )rº   r   r£  )r   r   r   )r"   r   rä  )r   r   rå  )r'  r   ræ  )rç  r   rô  )r#  r   rõ  )rÔ  rQ  z3.1e-5)rÕ  rQ  z3.1e-4)rÖ  rQ  z3.1e-3)r×  rQ  z3.1e-2)rØ  rQ  z3.1e-1)rÙ  rQ  rö  )rÛ  rQ  z3.1e1)rÜ  rQ  z3.1e2)rÝ  rQ  z3.1e3)rÞ  rQ  z3.1e4)rß  rQ  z3.1e5)r(  rQ  rà  )r   rQ  rá  )r   rQ  râ  )r  rQ  rã  )rº   rQ  r+  )r   rQ  r   )r"   rQ  rä  )r   rQ  rå  )r'  rQ  ræ  )rç  rQ  rè  )r#  rQ  ré  zvalue, domain, expectedc                 ó^   • [         R                  " 5       nUR                  X5      nXS:X  d   eg ©N)r,   ÚLogFormatterÚ_pprint_val)r/   rm  Údomainr2   rr  r·  s         r4   Útest_pprintÚTestLogFormatter.test_pprintš  s*   € ä×"Ò"Ó$ˆØ—‘ Ó.ˆØÓ Ð Ñ r7   zvalue, long, short))r   rŸ  rŸ  )r   rŸ  rŸ  )r×   z-10^0r.  )g»½×Ùß|ë=z2x10^-10z2e-10)g    _ Bz10^10z1e+10c                 óä   • [         R                  " 5       u  pEUR                  S5        UR                  R	                  5       nUR                  U5      U:X  d   eUR                  U5      U:X  d   eg )Nr5  )rÂ   rÃ   Ú
set_xscalerÆ   r2  rl  r3  )r/   rm  ÚlongÚshortrÉ   rÊ   rr  s          r4   ro  Ú!TestLogFormatter.test_format_data   s_   € ô —,’,“.‰ˆØ
�‰�eÔØ�h‰h×*Ñ*Ó,ˆØ�‰˜uÓ%¨Ó-Ð-Ð-Ø×$Ñ$ UÓ+¨uÓ4Ð4Ñ4r7   rB   c                 óX  • UR                  5       nUR                  5       nUR                  U5        US[        R                  " [        R
                  " U5      5      -  -  nU Vs/ s H  n[        U5      U;   PM     nnU Vs/ s H  oƒ" U5      S:g  PM     n	nX—:X  d   egs  snf s  snf )z.Test whether locator marks subs to be labeled.r"   r•  N)Úget_minor_formatterrã   rZ  rS   rŸ  r   Úround)
r/   rä  r=  rr  Úminor_tlocsÚcoefsÚcÚlabel_expectedrï   Ú
label_tests
             r4   Ú_sub_labelsÚTestLogFormatter._sub_labels®  s˜   € à×&Ñ&Ó(ˆØ×,Ñ,Ó.ˆØ�‰�[Ô!Ø˜b¤2§8¢8¬B¯HªH°[Ó,AÓ#BÑCÑCˆÙ49Ó:²E¨qœ% ›( dÔ*±EˆÐ:Ù,7Ó8ªK q�c˜!“f ”l©Kˆ
Ð8ØÓ+Ð+Ñ+ùò ;ùÚ8s   Á&B"ÂB'rÍ  c           	      ó  • [         R                  " 5       u  pUR                  S5        UR                  R	                  [
        R                  " S/ S95        UR                  R                  [
        R                  " S[        R                  " SS5      S95        UR                  R                  [
        R                  " SS95        UR                  R                  [
        R                  " SS95        UR                  SS	5        UR                  R                  5       nUR                  UR                  R!                  5       5        UR                  R!                  5        Vs/ s H  nU" U5      S
:g  PM     nn[        R"                  " U5      (       d   eU R%                  UR                  / S9  UR                  SS5        U R%                  UR                  / S9  UR                  SS5        U R%                  UR                  / S9  UR                  SS5        U R%                  UR                  / SQS9  UR                  SS5        U R%                  UR                  [        R                  " SS[&        S9S9  g s  snf )Nr5  r"   )r†   r=  r   T)r­  Fr   rL  r•  r<  i   éP   rr   )r   rc   r¡   r   r   r¾   r¦  )rÂ   rÃ   rÿ  rÆ   r  r,   r/  rÜ   rS   rU   rb  rù  Úset_minor_formatterrÄ   r2  rZ  rc  rK   r  rž  )r/   rÉ   rÊ   rr  rï   Úshow_major_labelss         r4   Útest_sublabelÚTestLogFormatter.test_sublabel¸  só  € ô —,’,“.‰ˆØ
�‰�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Ú&B ñ ! ›V rœ\Ù&Bð 	ð Dä�vŠvÐ'×(Ñ(Ð(Ð(Ø×Ñ˜Ÿ™¨ÐÑ+ð 	�‰�A�sÔØ×Ñ˜Ÿ™¨ÐÑ+ð 	�‰�A�rÔØ×Ñ˜Ÿ™¨ÐÑ+ð 	�‰�A�qÔØ×Ñ˜Ÿ™ªÐÑ5ð 	�‰�C˜ÔØ×Ñ˜Ÿ™¬¯	ª	°!°R¼sÑ(CÐÒDùò-Ds   Å%I>Úval)r   r"   r   r'  c                 ó´   • [         R                  " 5       nUR                  5         UR                  R	                  SS5        U" U5      [        U5      :X  d   eg ©Nr   r"   )r,   rù  rã  rä  rå  Ústr©r/   r  Útemp_lfs      r4   Útest_LogFormatter_callÚ'TestLogFormatter.test_LogFormatter_callÞ  sH   € ô ×&Ò&Ó(ˆØ×!Ñ!Ô#Ø�‰×&Ñ& q¨"Ô-Ù�s‹|œs 3›xÓ'Ð'Ñ'r7   )g       g       g       g       c                 ó–   • [         R                  " 5       nUR                  5         UR                  R	                  SS5        U" U5        g r  )r,   rù  rã  rä  rå  r  s      r4   Útest_LogFormatter_call_tinyÚ,TestLogFormatter.test_LogFormatter_call_tinyæ  s9   € ô ×&Ò&Ó(ˆØ×!Ñ!Ô#Ø�‰×&Ñ& q¨"Ô-Ù��r7   N)rB   )rO   rP   rQ   rR   Úpprint_datarC   rX   rY   rü  ro  r  r—   rÑ  r  r  r  r  r^   rB   r7   r4   rÓ  rÓ    sÕ   † òE€KðN ‡[�[×ÑÐ6¸ÓDñ!ó Eð!ð
 ‡[�[×ÑÐ1ò 4ó ñ5óð5ô,ð 	‡Y�Y×Ñ�yÓ!ñ#Eó "ð#EðJ ‡[�[×Ñ˜UÒ$6Ó7ñ(ó 8ð(ð ‡[�[×Ñ˜UÒ$FÓGñó Hór7   rÓ  c                   óà  • \ rS rSr\S 5       r\R                  R                  S/ SQ5      S 5       r	\
" \" SS5       V Vs/ s H	  nSU* -  PM     snn \" SS5       V Vs/ s H  nSSU* -  -
  PM     snn -   S/-   5      r\R                  R                  S	\5      S
 5       r\R                  R                  S	S5      S 5       r\R                  R                  S	SS\R                   " \R"                  " SSS5      * 5      -   -  5      S 5       r/ SQr\R                  R                  S\5      S 5       rS rS rS r\R                  R                  SS5      S 5       rSrgs  snn f s  snn f )ÚTestLogitFormatteriï  c                 óˆ  • [         R                  " SU 5      nU(       a]  US   SLnUS   (       a  [        US   5      OSnUS   b  [        US   5      OSnUSU-  -  nUS   (       d  US   b  U(       a  SU-
  $ U$ [         R                  " S	U 5      nU(       a  [        US
   5      [        US   5      pvXg-  $ [	        S5      e)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   Úexpor   r"   z4[^\d]*\\frac\{(?P<num>\d+)\}\{(?P<deno>\d+)\}[^\d]*$ÚnumÚdenozNot formatted by LogitFormatter)r[   rA   r½  rž  r]   )ÚstringrA   r"  Úmantissar$  rm  r%  r&  s           r4   Úlogit_deformatterÚ$TestLogitFormatter.logit_deformatterð  sÓ   € ô —’ðð ó
ˆö Ø˜‘=¨Ð,ˆ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�Ø‘:ÐÜÐ:Ó;Ð;r7   zfx, x))zSTUFF0.41OTHERSTUFFg=
×£p=Ú?)zSTUFF1.41\cdot10^{-2}OTHERSTUFFgÿ!ýöuàŒ?)zSTUFF1-0.41OTHERSTUFFgâz®Gáâ?)z!STUFF1-1.41\cdot10^{-2}OTHERSTUFFgx$(~Œï?)ÚSTUFFN)zSTUFF12.4e-3OTHERSTUFFNc                 ó   • Uc9  [         R                  " [        5         [        R	                  U5        S S S 5        g [        R	                  U5      n[
        R                  X#5      (       d   eg ! , (       d  f       g = frø  )rC   rD   r]   r   r)  r|  r~  )r/   Úfxrï   r  s       r4   Útest_logit_deformaterÚ(TestLogitFormatter.test_logit_deformater  s]   € ð ‰9Ü—’œzÕ*Ü"×4Ñ4°RÔ8÷ +Ð*ô #×4Ñ4°RÓ8ˆAÜ×'Ñ'¨×-Ñ-Ð-Ñ-÷	 +Õ*ús   žA/Á/
A=r   r"   r   rï   c                 óÔ   • [         R                  " SS9nUR                  U R                  5        U" U5      n[        R                  U5      n[        R                  X5      (       d   eg)zR
Test the formatted value correspond to the value for ideal ticks in
logit space.
F©Úuse_overlineN)r,   ÚLogitFormatterrZ  Údecade_testr   r)  r|  r~  )r/   rï   r<  ÚsÚx2s        r4   r5   ÚTestLogitFormatter.test_basic*  sX   € ô ×*Ò*¸Ñ>ˆ	Ø×Ñ˜4×+Ñ+Ô,Ù�a‹LˆÜ×1Ñ1°!Ó4ˆÜ×#Ñ# A×*Ñ*Ð*Ñ*r7   )r   rØ   r   r   r    r   c                 ó‚   • [         R                  " SS9nUR                  U R                  5        U" U5      nUS:X  d   eg)zT
Test that invalid value are formatted with empty string without
raising exception.
Fr1  r•  N)r,   r3  rZ  r4  )r/   rï   r<  r5  s       r4   Útest_invalidÚTestLogitFormatter.test_invalid6  s<   € ô ×*Ò*¸Ñ>ˆ	Ø×Ñ˜4×+Ñ+Ô,Ù�a‹LˆØ�B‹wˆ‰wr7   r‰   rA  c                 óD  • [         R                  " SS9nS H†  nUSU-  -   S:  d  M  UR                  USU-  -
  XSU-  -   /5        U" U5      nU" USU-  -   5      n[        R	                  U5      [        R	                  U5      -
  nSUs=:  a  SU-  :  a  Mƒ   e   e   g)zC
The format length should change depending on the neighbor labels.
Fr1  )	r"   r
   r  r   éÈ   r'  iÐ  iˆ  rç  r   r   r   N)r,   r3  rZ  r   r)  )r/   rï   r<  ÚNÚsxÚsx1Úds          r4   Útest_variablelengthÚ&TestLogitFormatter.test_variablelengthA  s­   € ô
 ×*Ò*¸Ñ>ˆ	Û@ˆAØ�1�q‘5‰y˜1�}Ø×"Ñ" A¨¨A©¡I¨q°a¸!±e±)Ð#<Ô=Ù˜q“\�Ù  A¨¡E¡	Ó*�ä&×8Ñ8¸Ó=Ü(×:Ñ:¸2Ó>ñ?ð ð ˜1•}˜q 1™u•}Ð$‘}Ð$�}ò Ar7   ))Tr‹  )©r  F)éK   F)Tr‰  )rC  ©rD  T)Trˆ  )©r  TrE  )F)r   gR¸…ëQè?g¤p=
×£è?))rA  TrF  rE  zmethod, lims, casesc                 óÆ  • U(       a$  [         R                  " SS9nUR                  " U6 nO[        R                  " U5      n[         R
                  " SS9nU H�  u  pxUR                  U5        UR                  U5      n	U	 V
s/ s H  n
[        U
5      S:”  d  M  U
PM     nn
U(       a  [        U5      S:”  d   Xx45       eMj  [        U5      S:X  a  M{   Xx45       e   gs  sn
f )z
Test minor/major displays.
TrÀ   r   N)	r,   r�  r.   rS   rT   r3  Úset_minor_thresholdÚformat_ticksrâ   )r/   Úmethodr�  ÚcasesÚmin_locr™  Úmin_formÚ	thresholdÚ	has_minorÚ	formattedÚfÚlabelleds               r4   Útest_minor_vs_majorÚ&TestLogitFormatter.test_minor_vs_majorY  sÉ   € ö Ü×*Ò*°Ñ6ˆGØ×'Ò'¨Ð.‰Eä—H’H˜T“NˆEÜ×)Ò)°Ñ5ˆÛ$)Ñ ˆIØ×(Ñ(¨Ô3Ø ×-Ñ-¨eÓ4ˆIÙ#,Ó;¢9˜a´°A³¸±
Ÿ¡9ˆHÐ;ÞÜ˜8“} qÓ(Ð@¨9Ð*@Ó@Ò(ä˜8“}¨Õ)ÐA¨IÐ+AÓAÐ)ò %*ùò <s   ÂCÂCc                 ó@  • [         R                  " SS9n[         R                  " SS9nUR                  SS5      nS HY  nUR	                  U5        UR                  U5      nU Vs/ s H  n[        U5      S:”  d  M  UPM     nn[        U5      U:X  a  MY   e   gs  snf )z!
Test the parameter minor_number
TrÀ   r¹   r   )r   r¡   rr   r–  r   N)r,   r�  r3  r.   Úset_minor_numberrI  râ   )r/   rL  rM  r™  Úminor_numberrP  rQ  rR  s           r4   Útest_minor_numberÚ$TestLogitFormatter.test_minor_numbern  s“   € ô ×&Ò&¨TÑ2ˆÜ×)Ò)°Ñ5ˆØ×#Ñ# D¨(Ó3ˆÛ)ˆLØ×%Ñ% lÔ3Ø ×-Ñ-¨eÓ4ˆIÙ#,Ó;¢9˜a´°A³¸±
Ÿ¡9ˆHÐ;Ü�x“= LÕ0Ð0Ð0ò	 *ùò <s   Á&BÁ=Bc                 óÐ   • SnSnSn[         R                  " SS9nU" U5      U:X  d   eUR                  S5        U" U5      U:X  d   eUR                  S5        U" U5      U:X  d   eg)z!
Test the parameter use_overline
r&  z$\mathdefault{1-10^{-2}}$z"$\mathdefault{\overline{10^{-2}}}$Fr1  TN)r,   r3  r2  )r/   rï   Úfx1Úfx2Úforms        r4   Útest_use_overlineÚ$TestLogitFormatter.test_use_overline{  so   € ð ˆØ*ˆØ3ˆÜ×%Ò%°5Ñ9ˆÙ�A‹w˜#‹~Ðˆ~Ø×Ñ˜$ÔÙ�A‹w˜#‹~Ðˆ~Ø×Ñ˜%Ô Ù�A‹w˜#‹~Ð‰~r7   c                 óÆ   • [         R                  " 5       nSU" S5      ;   d   eUR                  S5        SU" S5      ;   d   eUR                  S5        SU" S5      ;   d   eg)z
Test the parameter one_half
z\frac{1}{2}r   z1/2zone halfN)r,   r3  Úset_one_half)r/   r]  s     r4   Útest_one_halfÚ TestLogitFormatter.test_one_half‰  sd   € ô ×%Ò%Ó'ˆØ¡ c£Ó*Ð*Ð*Ø×Ñ˜%Ô Ø™˜S›	Ó!Ð!Ð!Ø×Ñ˜*Ô%Ø™T #›YÓ&Ð&Ñ&r7   r=  )r   éý   iò  c                 ó*  • [         R                  " SSU5      SS n[        R                  " 5       nU H]  nUR	                  U5      nUR                  S5      (       a  S[        USS  5      -
  nO[        U5      n[        XF-
  5      SU-  :  a  M]   e   g )Nr   r   r   z1-r   )rS   r}   r,   r3  r3  Ú
startswithr½  Úabs)r/   r=  r²  r]  rï   r-  r6  s          r4   Útest_format_data_shortÚ)TestLogitFormatter.test_format_data_short”  s‡   € ä�{Š{˜1˜a Ó# A bÐ)ˆÜ×%Ò%Ó'ˆÛˆAØ×'Ñ'¨Ó*ˆBØ�}‰}˜T×"Ñ"Øœ˜r ! "˜v›Ñ&‘ä˜2“Y�Ü�q‘v“;  Q¡Õ&Ð&Ð&ò r7   rB   N)rO   rP   rQ   rR   r…  r)  rC   rX   rY   r.  rŽ  r¡  r4  r5   r9  rS   Úexpr}   rA  Úlims_minor_majorrS  rX  r^  rb  rh  r^   )rÁ  Úis   00r4   r   r   ï  sŸ  † Øñ<ó ð<ð@ ‡[�[×ÑØò	
ó
ñ.ó
ð.ñ Ù" 1 bœ\Ô*š\˜ˆ��Œ™\Ò*Ù#(¨¨B¤<Ô
0¢<˜aˆ1ˆr�q�b‰zŒ>¡<Ò
0ñ	1àˆ'ñ	ó€Kð ‡[�[×Ñ˜S +Ó.ñ	+ó /ð	+ð ‡[�[×Ñ˜SÐ"?Ó@ñó Aðð ‡[�[×Ñ˜S ! q¨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*r   c                   ó   • \ rS rSrS rSrg)ÚTestFormatStrFormatteri¡  c                 óL   • [         R                  " S5      nSU" S5      :X  d   eg )Nz%05dÚ00002r   )r,   ÚFormatStrFormatterrN  s     r4   r5   Ú!TestFormatStrFormatter.test_basic¢  s$   € ä×-Ò-¨fÓ5ˆØ™( 1›+Ó%Ð%Ñ%r7   rB   N)rO   rP   rQ   rR   r5   r^   rB   r7   r4   rn  rn  ¡  s   † õ&r7   rn  c                   ó`   • \ rS rSr/ SQr\R                  R                  S\5      S 5       rSr	g)ÚTestStrMethodFormatteri¨  ))ú{x:05d}©r   Frp  )ru  rv  Trp  )ru  ©rá  Fz-0002)ru  rw  Tu   âˆ’0002)ú{x:03d}-{pos:02d}©r   r   Fú002-01)rx  ry  Trz  )rx  ©rá  r   Fz-02-01)rx  r{  Tu   âˆ’02-01z&format, input, unicode_minus, expectedc                 ó¬   • [         R                  " SU05         [        R                  " U5      nU" U6 U:X  d   e S S S 5        g ! , (       d  f       g = f)Nr0  )r—   r˜   r,   ÚStrMethodFormatter)r/   ÚformatÚinputr5  r2   rr  s         r4   r5   Ú!TestStrMethodFormatter.test_basic´  sC   € ä�^Š^Ð1°=ÐAÕBÜ×,Ò,¨VÓ4ˆCÙ˜�; (Ó*Ð*Ñ*÷ C×BÖBús   ™"AÁ
ArB   N)
rO   rP   rQ   rR   rÉ  rC   rX   rY   r5   r^   rB   r7   r4   rt  rt  ¨  s0   † ò	€Ið ‡[�[×ÑÐEÀyÓQñ+ó Ró+r7   rt  c                   ó`   • \ rS rSr/ SQr\R                  R                  S\5      S 5       rSr	g)ÚTestEngFormatteri»  ))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Ÿ  z0.00©Tr   r‰  rŠ  )Tg›áÀm¶´>)u
   1.23457 Âµu   1 Âµu   1.23 Âµ)Tg_c97Ýš¿?)z	123.457 mz123 mz123.46 m)Trº   )ú100 mr‹  z100.00 m)Tr   )r   r   z1.00)TgÞƒBÊÀó?)z1.23457r   z1.23)Tg33333?�@)z999.9ú1 kz999.90)Tg*:’Ëÿ?�@©rŒ  rŒ  ú1.00 k)Fç*:’Ëÿ?�À)r„  r„  z-1.00 k)Tr�  )r…  r…  u	   âˆ’1.00 k)Tr'  r�  )Tié  )z1.001 krŒ  rŽ  )Ti¡† )z	100.001 kz100 kz100.00 k)Tg¬Z¤$.A)z	987.654 kz988 kz987.65 k)TgCY¸,dRÎF)ú1230 Qr�  z	1230.00 Qzunicode_minus, input, expectedc           	      ó˜  ^^	^
• U[         R                  S'   Sm	SmUn[        R                  " 5       [        R                  " SS9[        R                  " SS94n[	        XT5       H  u  pgU" U5      U:X  a  M   e   UU	4S jU 5       n[        R                  " T	S9[        R                  " T	SS	9[        R                  " T	SS	94n[	        XT5       H  u  pgU" U5      U:X  a  M   e   S
 HÞ  m
UU	U
4S jU 5       n[        R                  " T	T
S9[        R                  " T	ST
S9[        R                  " T	ST
S94n[	        XT5       H  u  pgU" U5      U:X  a  M   e   U
4S jU 5       n[        R                  " T
S9[        R                  " ST
S9[        R                  " ST
S94n[	        XT5       H  u  pgU" U5      U:X  a  M   e   Mà     g)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.
r0  r5  Ú
0123456789r   )Úplacesr   c              3   óP   >#   • U  H  nUS    T;   a  US-   T-   OUT-   v •  M     g7f©r   Ú NrB   )rÁ  Ú_sÚDIGITSÚUNITs     €€r4   Ú	<genexpr>Ú/TestEngFormatter.test_params.<locals>.<genexpr>  s7   øé € ð :Ú08¨"ð +-¨R©&°FÓ*:�r˜C‘x $’Ø ™Iô&Ú08ùs   ƒ#&)Úunit)rœ  r“  )r•  u   â€¯z@_@c              3   óp   >#   • U  H+  nUS    T;   a  UT-   T-   OUR                  ST5      T-   v •  M-     g7fr•  ©r°  )rÁ  r—  r˜  r™  Ú_seps     €€€r4   rš  r›    sD   øé € ð /â%-˜rð 02°"©v¸Ó/?˜2 ™9 tÒ+Ø "§
¡
¨3°Ó 5¸Ñ <ô=â%-ùs   ƒ36)rœ  r\  )rœ  r“  r\  c              3   óF   >#   • U  H  oR                  S T5      v •  M     g7f)r–  Nrž  )rÁ  r—  rŸ  s     €r4   rš  r›  "  s   øé € ÐDº8°RŸ:™: c¨4×0Ð0º8ùs   ƒ!)r\  )r“  r\  N)rÂ   r^  r,   ÚEngFormatterr"  )r/   r5  r  r2   Úexp_outputsÚ
formattersÚ
_formatterÚ_exp_outputr˜  r™  rŸ  s           @@@r4   Útest_paramsÚTestEngFormatter.test_paramsä  sÔ  ú€ ð .;Œ�‰Ð)Ñ*ØˆØˆð ˆä× Ò Ó"Ü× Ò ¨Ñ*Ü× Ò ¨Ñ*ð
ˆ
ô
 (+¨:Ö'CÑ#ˆJÙ˜eÓ$¨Õ3Ð3Ð3ñ (Dõ:Ù08ó:ˆô × Ò  dÑ+Ü× Ò  d°1Ñ5Ü× Ò  d°1Ñ5ð
ˆ
ô
 (+¨:Ö'CÑ#ˆJÙ˜eÓ$¨Õ3Ð3Ð3ñ (Dó
 =ˆDö/á%-ó/ˆKô ×$Ò$¨$°DÑ9Ü×$Ò$¨$°q¸dÑCÜ×$Ò$¨$°q¸dÑCðˆJô
 ,/¨zÖ+GÑ'�
Ù! %Ó(¨KÕ7Ð7Ð7ñ ,Hô E¹8ÓDˆKä×$Ò$¨Ñ.Ü×$Ò$¨A°4Ñ8Ü×$Ò$¨A°4Ñ8ðˆJô
 ,/¨zÖ+GÑ'�
Ù! %Ó(¨KÕ7Ð7Ð7ó ,Hò1 =r7   rB   N)
rO   rP   rQ   rR   Úraw_format_datarC   rX   rY   r¦  r^   rB   r7   r4   r‚  r‚  »  s3   † ò#€OðJ ‡[�[×ÑÐ=¸ÓOñD8ó PóD8r7   r‚  c                  óÄ  • [         R                  " 5       u  pUR                  / SQ/ SQ5        UR                  / SQ5        [        R
                  " SS9[        R
                  " SS94 Ho  nUR                  R                  U5        U R                  R                  5         UR                  5        Vs/ s H  o3R                  5       PM     nnU/ SQ:X  a  Mo   e   g s  snf )N)r   r  r'  T)Úusetex)ÚuseMathText)z$0$z$500$z$1$ k)rÂ   rÃ   r‹  rá   r,   r¡  rÆ   rb  r�  r‚  Úget_xticklabelsÚget_text)rÉ   rÊ   r<  ÚlablÚx_tick_label_texts        r4   Ú$test_engformatter_usetex_useMathTextr°  ,  s¬   € Ü�lŠl‹n�G€CØ‡G�GŠNšNÔ+Ø‡M�M’.Ô!Ü×*Ò*°$Ñ7Ü×*Ò*°tÑ<ó>ˆ	à
�‰×$Ñ$ YÔ/Ø�
‰
�‰ÔØ9;×9KÑ9KÔ9MÓNÒ9M°Ÿ]™]ž_Ñ9MÐÐNð !Ò$=Õ=Ð=Ð=ò>ùò Os   Â3Cz9data_offset, noise, oom_center_desired, oom_noise_desired))g  @R›OBr"   rŒ  r   )g  B€±¸Bi€–˜ ré  r   )ç /Ý$&;@r  r   r®  )gÍÌÌÌÌ5¥@r  rc   r®  )g    ’Ar   rc   r®  )ç¤p=
×÷p@r   r   r®  )g   uÓHBr   rŒ  rc   )r±  gH¯¼šò×z>r   iúÿÿÿ)r²  r   r   r®  )r±  r   r   r®  )g    @ƒÚ@rç  r   rc   )r±  rç  r   rc   )r±  r'  r   rc   )r±  r   r   r   )r±  r"   r   r   c                 ó4  • Sn[         R                  " 5       u  pVU [        R                  " SS[        S9U-  -   nUR                  U5        [        R                  " SUS9nSUR                  S'   UR                  R                  U5        UR                  R                  5         UR                  5       n	UR                  5        V
s/ s H  oªR                  5       PM     nn
UR                   (       aT  U	S	   nUR                  U   nU	S
[#        U5      -
     nUR                  U   nXÜ:X  d   eXþ:X  d   eU H  nUU;  a  M   e   g US:X  d   eU	S:X  d   eU H8  nUS   S:X  a  SOUnUR%                  UR                  U   U-   5      (       a  M8   e   g s  sn
f )NÚeVr   rA  r¦  T)Ú	useOffsetrœ  Ú_r   r   r   r•  rŸ  )rÂ   rÃ   rS   rU   r½  r‹  r,   r¡  ÚENG_PREFIXESr  rb  r�  r‚  Ú
get_offsetÚget_yticklabelsr­  r�   râ   Úendswith)Údata_offsetÚnoiseÚoom_center_desiredÚoom_noise_desiredr™  rÉ   rÊ   Úydatar<  Ú
offset_gotr®  Ú	ticks_gotÚprefix_noise_gotÚprefix_noise_desiredÚprefix_center_gotÚprefix_center_desiredÚtickÚ
prefix_idxs                     r4   Útest_engformatter_offset_oomrÈ  :  s“  € ð< €DÜ�lŠl‹n�G€CØœ"Ÿ)š) B¨´Ñ7¸Ñ=Ñ=€EØ‡G�GˆE„NÜ×$Ò$¨t¸$Ñ?€Ià #€I×Ñ˜1ÑØ‡H�H× Ñ  Ô+Ø‡J�J‡O�OÔØ×%Ñ%Ó'€JØ-/×-?Ñ-?Ô-AÓBÒ-A T—‘–Ñ-A€IÐBð ××Ø% a™=ÐØ(×5Ñ5Ð6GÑHÐØ& r¬#¨d«)¡|Ñ4ÐØ )× 6Ñ 6Ð7IÑ JÐØ#Ó7Ð7Ð7Ø$Ó9Ð9Ð9ãˆDØ˜tÕ#Ð#Ð#ò ð " QÓ&Ð&Ð&Ø˜RÓÐÐãˆDð # 1™g¨›n™Ð2CˆJØ—=‘= ×!7Ñ!7¸
Ñ!CÀdÑ!J×KÓKÐKÐKò	 ùò) Cs   ÃFc                   ó²   • \ rS rSr/ SQr/ SQr/ SQr\R                  R                  S\\S9S 5       r
\R                  R                  S\5      S	 5       rS
rg)ÚTestPercentFormatteri}  ))r   r   Ú%r)  r   z120%)r   r   rË  r   éZ   z100%)r   r   rË  rÌ  r  z90%)r   r   rË  rÐ   râ  z-2%)r   r   rË  g     €V@r   z90.0%)r   r   rË  gfffffT@rÌ  z80.1%)r   r   rË  g…ëQ¸ŽQ@r  z70.2%)r   r   rË  gôýÔxéFNÀrâ  z-60.6%)r   NrË  é_   r   z95.00%)r   NrË  rc   r   z300%)ç      1@NrË  r   g      !@z6%)rÎ  NrË  r   gÍÌÌÌÌÌ @z5.9%)r!   NrË  rê  g�íµ ÷Æ°>z-2000.00000%)r   r   NrŽ   r   z120.00)rD  rc   r•  r  r   z66.667)r¥  Nz
^^Foobar$$é   ré  z50.0^^Foobar$$)zdecimals=0, x>100%zdecimals=0, x=100%zdecimals=0, x<100%zdecimals=0, x<0%zdecimals=1, x>100%zdecimals=1, x=100%zdecimals=1, x<100%zdecimals=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)zNone as percent symbolzEmpty percent symbolzCustom percent symbol))FFú50\{t}%)FTz50\\\{t\}\%)TFrÐ  )TTrÐ  z2xmax, decimals, symbol, x, display_range, expected)Úidsc                 óÂ   • [         R                  " XU5      n[        R                  " SS0S9   UR	                  XE5      U:X  d   e S S S 5        g ! , (       d  f       g = f)NrÏ  F©Úrc©r,   ÚPercentFormatterr—   r˜   Ú
format_pct)r/   ÚxmaxÚdecimalsÚsymbolrï   Údisplay_ranger2   r<  s           r4   r5   ÚTestPercentFormatter.test_basic²  sL   € ô
 ×,Ò,¨T¸VÓDˆ	Ü�^Š^ ¨uÐ5Ó6Ø×'Ñ'¨Ó9¸XÓEÐEÑE÷ 7×6Ö6ús   ®AÁ
Azis_latex, usetex, expectedc                 óÀ   • [         R                  " SUS9n[        R                  " SU0S9   UR	                  SS5      U:X  d   e S S S 5        g ! , (       d  f       g = f)Nz\{t}%)rÚ  Úis_latexrÏ  rÓ  r  r   rÕ  )r/   rÞ  rª  r2   rr  s        r4   Ú
test_latexÚTestPercentFormatter.test_latex»  sJ   € ä×&Ò&¨hÀÑJˆÜ�^Š^ ¨vÐ6Ó7Ø—>‘> " cÓ*¨hÓ6Ð6Ñ6÷ 8×7Ö7ús   ¬AÁ
ArB   N)rO   rP   rQ   rR   Úpercent_dataÚpercent_idsÚ
latex_datarC   rX   rY   r5   rß  r^   rB   r7   r4   rÊ  rÊ  }  sp   † ò€Lò.€Kò,€Jð ‡[�[×ÑØ@Ø˜kð ð +ñFó+ðFð ‡[�[×ÑÐ9¸:ÓFñ7ó Gó7r7   rÊ  c                  ó–  •  [         R                  " [         R                  S5        [
        R                  " SSS9n SnU R                  US5      nUS:X  d   eSnU R                  US5      nUS	:X  d   e[
        R                  " S
SS9n SnU R                  US5      nUS:X  d   eg ! [         R                   a    [	        S5         g f = f)Nzde_DE.UTF-8z9SKIP: Locale de_DE.UTF-8 is not supported on this machineT)r«  Ú	useLocalez$\mathdefault{%1.1f}$r   z$\mathdefault{0{,}5}$z,$\mathdefault{,%1.1f},$z,$\mathdefault{,0{,}5},$Fz%1.1fz0,5)rT  Ú	setlocaleÚLC_ALLÚErrorÚprintr,   rA  Ú_format_maybe_minus_and_locale)r™  rr  rï   s      r4   Ú_impl_locale_commarë  Â  sÑ   € ðÜ×ÒœŸ™¨Ô6ô ×#Ò#°ÀÑE€EØ
"€CØ×,Ñ,¨S°#Ó6€AØÐ(Ó(Ð(Ð(à
%€CØ×,Ñ,¨S°#Ó6€AØÐ+Ó+Ð+Ð+ä×#Ò#°ÀÑF€EØ
€CØ×,Ñ,¨S°#Ó6€AØ�‹:Ð‰:øô �<‰<ó ÜÐIÔJÙðús   ‚%B& Â&CÃCc                  óà   • [         R                  R                  [        SSS0S9n [	        S U R
                  R                  5        5       S5      nU(       a  [        R                  " U5        g g )Nr&   Ú
MPLBACKENDÚAgg)ÚtimeoutÚ	extra_envc              3   óŠ   #   • U  H9  nUR                  S 5      (       d  M  U[        S 5      S R                  5       v •  M;     g7f)zSKIP:N)rf  râ   r4  )rÁ  Úlines     r4   rš  Ú$test_locale_comma.<locals>.<genexpr>ß  s<   é € ð 2Ú!9˜ØŸ™¨×0ó 1�Tœ#˜g›,˜-Ð(×.Ñ.×0Ð0Ú!9ùs
   ‚A #Ar•  )	r—   rì   Úsubprocess_run_helperrë  ÚnextÚstdoutÚ
splitlinesrC   rW  )ÚprocÚskip_msgs     r4   Útest_locale_commarú  ×  sj   € ô �;‰;×,Ñ,Ô-?ÈØ8DÀeÐ7Lð -ð N€Däñ 2Ø!%§¡×!7Ñ!7Ô!9ó2ð ó€Hö Ü�Š�HÕð r7   c                  óö   • [         R                  " 5       u  p[        R                  " [        5         UR
                  R                  [        R                  " 5       5        S S S 5        g ! , (       d  f       g = frø  )	rÂ   rÃ   rC   rD   rZ   rÆ   rb  r,   r/  ©rÉ   rÊ   s     r4   Útest_majformatter_typerý  ç  óB   € Ü�lŠl‹n�G€CÜ	�Š”yÕ	!Ø
�‰×$Ñ$¤W×%7Ò%7Ó%9Ô:÷ 
"×	!Ö	!úó   ²/A*Á*
A8c                  óö   • [         R                  " 5       u  p[        R                  " [        5         UR
                  R                  [        R                  " 5       5        S S S 5        g ! , (       d  f       g = frø  )	rÂ   rÃ   rC   rD   rZ   rÆ   r  r,   r/  rü  s     r4   Útest_minformatter_typer  í  rþ  rÿ  c                  óö   • [         R                  " 5       u  p[        R                  " [        5         UR
                  R                  [        R                  " 5       5        S S S 5        g ! , (       d  f       g = frø  )	rÂ   rÃ   rC   rD   rZ   rÆ   r  r,   rù  rü  s     r4   Útest_majlocator_typer  ó  óB   € Ü�lŠl‹n�G€CÜ	�Š”yÕ	!Ø
�‰×"Ñ"¤7×#7Ò#7Ó#9Ô:÷ 
"×	!Ö	!úrÿ  c                  óö   • [         R                  " 5       u  p[        R                  " [        5         UR
                  R                  [        R                  " 5       5        S S S 5        g ! , (       d  f       g = frø  )	rÂ   rÃ   rC   rD   rZ   rÆ   rÜ   r,   rù  rü  s     r4   Útest_minlocator_typer  ù  r  rÿ  c                  óŒ   ^• [         R                  " 5       mU4S jn U " SSS5        U " SSS5        U " SSS5        U " SSS5        g )Nc                 óB  >• U US.n[         R                  " US9   TR                  SSU5      nS S S 5        [        WR                  R                  5       5      S:„  U :X  d   e[        UR                  R                  5       5      S:„  U:X  d   eg ! , (       d  f       Ng= f)N)zxtick.minor.visiblezytick.minor.visiblerÓ  r   r   )rÂ   r˜   Úadd_subplotrâ   rÆ   Úget_minor_ticksr  )ÚxminorÚyminorrl  rÔ  rÊ   rÉ   s        €r4   ÚminorticksubplotÚ,test_minorticks_rc.<locals>.minorticksubplot  sˆ   ø€ Ø%+Ø%+ñ-ˆä�^Š^˜rÓ"Ø—‘  A qÓ)ˆB÷ #ô �B—H‘H×,Ñ,Ó.Ó/°!Ñ3¸Ó>Ð>Ð>Ü�B—H‘H×,Ñ,Ó.Ó/°!Ñ3¸Ó>Ð>Ñ>÷	 #Õ"ús   ›BÂ
BFr   Tr   rc   r¡   )rÂ   Úfigure)r  rÉ   s    @r4   Útest_minorticks_rcr  ÿ  sE   ø€ Ü
�*Š*‹,€Cõ?ñ �U˜E 1Ô%Ù�T˜5 !Ô$Ù�U˜D !Ô$Ù�T˜4 Õ#r7   c                  óú   ^• [         R                  " 5       mU4S jn / SQnU H?  nU " SSUS5        U " SSUS5        U " SSUS5        U " SSUS5        TR                  5         MA     [         R                  " T5        g	)
a\  
Test toggling minor ticks

Test `.Axis.minorticks_on()` and `.Axis.minorticks_off()`. Testing is
limited to a subset of built-in scales - `'linear'`, `'log'`, `'asinh'`
and `'logit'`. `symlog` scale does not seem to have a working minor
locator and is omitted. In future, this test should cover all scales in
`matplotlib.scale.get_scale_names()`.
c                 ó   >• TR                  SSU5      nUR                  U5        UR                  U5        U (       d  U(       d  UR                  5         U (       a;  U(       d4  UR                  R                  5         UR                  R                  5         U (       d;  U(       a4  UR                  R                  5         UR                  R                  5         U (       a  U(       a  UR                  5         [        UR                  R                  5       5      S:„  U :X  d   e[        UR                  R                  5       5      S:„  U:X  d   eg )Nr   r   )	r	  rÿ  r6  Úminorticks_offrÆ   rÅ   r  râ   r
  )r  r  Úscalerl  rÊ   rÉ   s        €r4   ÚminortickstoggleÚ0test_minorticks_toggle.<locals>.minortickstoggle  sã   ø€ Ø�_‰_˜Q  1Ó%ˆØ
�‰�eÔØ
�‰�eÔÞžfØ×ÑÔÞž&Ø�H‰H×"Ñ"Ô$Ø�H‰H×#Ñ#Ô%Þž&Ø�H‰H×#Ñ#Ô%Ø�H‰H×"Ñ"Ô$Þ–fØ×ÑÔä�B—H‘H×,Ñ,Ó.Ó/°!Ñ3¸Ó>Ð>Ð>Ü�B—H‘H×,Ñ,Ó.Ó/°!Ñ3¸Ó>Ð>Ñ>r7   )Úlinearr5  ÚasinhÚlogitFr   Tr   rc   r¡   N)rÂ   r  ÚclearÚclose)r  Úscalesr  rÉ   s      @r4   Útest_minorticks_toggler    st   ø€ ô �*Š*‹,€Cõ?ò$ 1€FÛˆÙ˜  u¨aÔ0Ù˜˜u e¨QÔ/Ù˜  e¨QÔ/Ù˜˜t U¨AÔ.Ø�	‰	Žñ ô ‡I‚Iˆc…Nr7   z%remove_overlapping_locs, expected_num))Tr   )Nr   )FrŒ  c                 ó0  • [         R                  " SSSS9n[         R                  " [        U5      5      n[        R
                  " 5       u  pEUR                  X#5        UR                  R                  [        R                  R                  5       5        UR                  R                  [        R                  R                  S5      5        UR                  R                  [        R                  R                  S5      5        UR                  R!                  [        R                  R                  S5      5        UR                  R#                  S5        U b  XR                  l        UR                  R$                  nXeR                  R'                  5       :X  d   e[        R(                  " UR                  US	9  UR                  R$                  nXuR                  R$                  :X  d   e[        UR                  R+                  5       5      U:X  d   e[        UR                  R#                  5       5      U:X  d   e[        UR                  R-                  5       5      U:X  d   e[        UR                  R/                  5       5      US
-  :X  d   eg )Nz
2018-11-03z
2018-11-06Ú
datetime64r¦  z
%a)r   r   ré  é   z%H:%Mr#   )Úremove_overlapping_locsr   )rS   rU   Úonesrâ   rÂ   rÃ   r‹  rÆ   r  r—   ÚdatesÚ
DayLocatorrb  ÚDateFormatterrÜ   ÚHourLocatorr  r
  r!  Úget_remove_overlapping_locsÚsetprã   Úget_minorticklabelsÚget_minorticklines)r!  Úexpected_numÚtrï   rÉ   rÊ   ÚcurrentÚnews           r4   Útest_remove_overlapr/  9  sÊ  € ô
 	�	Š	�, °LÑA€AÜ
�Š”�A“‹€Aä�lŠl‹n�G€CØ‡G�GˆA„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Ø—x‘x×;Ñ;Ó=Ó=Ð>Ð=Ü‡H‚HˆR�X‰X¨wÒ7Ø
�(‰(×
*Ñ
*€CØ—8‘8×3Ñ3Ó3Ð4Ð3ô ˆr�x‰x×)Ñ)Ó+Ó,°Ó<Ð<Ð<äˆr�x‰x×'Ñ'Ó)Ó*¨lÓ:Ð:Ð:Üˆr�x‰x×+Ñ+Ó-Ó.°,Ó>Ð>Ð>Üˆr�x‰x×*Ñ*Ó,Ó-°¸a±Ó?Ð?Ñ?r7   ÚsubÚhiÚaardvark)r   r   c                 ó´   • [         R                  " 5       n[        R                  " [        5         UR                  U S9  S S S 5        g ! , (       d  f       g = f)Nr<  )r,   r/  rC   rD   r]   ru   )r0  rZ  s     r4   Útest_bad_locator_subsr4  ^  s8   € ô 
×	Ò	Ó	€BÜ	�Š”zÕ	"Ø
�‰˜3ˆÑ÷ 
#×	"Ö	"ús   °A	Á	
Are   )r   r   rc   rŒ  rÍ  c           	      ó&  • [         R                  " 5       nUR                  U S9  S Hg  nUR                  SU5      n[        R
                  " [        R                  " UR                  SS5      5      5      S:H  R                  5       (       a  Mg   e   g )Nrd   )r!   rA  rŒ  r>   r#   r  r   r'  r   r   é–   r   )r,   r/  ru   r.   rS   Údiffr   rK   )re   rZ  Útopr™  s       r4   Útest_small_range_loglocatorr9  g  sq   € ô 
×	Ò	Ó	€BØ‡M�M˜8€MÑ$Û/ˆØ—‘˜r 3Ó'ˆÜ—’œŸš §¡°°3Ó!7Ó8Ó9¸QÑ>×CÑC×EÓEÐEÐEò 0r7   c                  ó¦   • [         R                  " 5       n U " S5      S:X  d   eU R                  S5      S:X  d   eU R                  S5      S:X  d   eg )Nr   r•  )r,   ÚNullFormatterrl  r3  ©r<  s    r4   Útest_NullFormatterr=  q  sT   € Ü×%Ò%Ó'€IÙ�S‹>˜RÓÐÐØ× Ñ  Ó%¨Ó+Ð+Ð+Ø×&Ñ& sÓ+¨rÓ1Ð1Ñ1r7   r<  c                 ó   • SU  3$ )Nzval: rB   )rÂ  s    r4   Ú<lambda>r?  y  s
   €  e¨A¨3¡Kr7   )r=   Úbarc                 ó~   • U R                  5       S:X  d   eU R                  S5        U R                  5       S:X  d   eg )Nr•  r—   )r¸  Úset_offset_stringr<  s    r4   Útest_set_offset_stringrC  x  s@   € ð ×ÑÓ! RÓ'Ð'Ð'Ø×Ñ Ô&Ø×ÑÓ! UÓ*Ð*Ñ*r7   c                  ó@  • [         R                  " 5       u  pUR                  [        R                  " S5      S/S9  UR                  [        R                  " S5      S/S9  UR                  [        R                  " S5      S/S9  UR                  SS9  UR                  SS9  UR                  5         U R                  5         UR                  5       (       d   e[        UR                  R                  5       [        R                  R                  5      (       d   eg)	zŒ
Turning on minor gridlines in a multi-Axes Figure
that contains more than one boxplot and shares the x-axis
should not raise an exception.
r"   r   )r³  r   r  )ÚwhichrÁ   N)rÂ   rÃ   ÚboxplotrS   rU   r  rÅ   Údraw_without_renderingÚget_xgridlinesÚ
isinstancerÆ   Úget_minor_locatorr—   ÚtickerrÝ   rü  s     r4   Útest_minorticks_on_multi_figrL  �  sÒ   € ô �lŠl‹n�G€Cà‡J�JŒr�yŠy˜‹}¨¨€JÑ,Ø‡J�JŒr�yŠy˜‹}¨¨€JÑ,Ø‡J�JŒr�yŠy˜‹}¨¨€JÑ,à‡G�G�'€GÑØ‡G�G�'€GÑØ×ÑÔØ×ÑÔ à×Ñ×ÑÐÐÜ�b—h‘h×0Ñ0Ó2´C·J±J×4OÑ4O×PÑPÐPÑPr7   )DÚ
contextlibr   r¿  rT  r‰  r[   Úpackaging.versionr   r  ÚnumpyrS   Únumpy.testingr   r   rC   Ú
matplotlibr—   Úmatplotlib.pyplotÚpyplotrÂ   Úmatplotlib.tickerrK  r,   r   r`   r�   r´   r%  rt  r|  r‡  rÅ  rÌ  rÒ  rï  r   rž  rÂ  rË  rÓ  r   rn  rt  r‚  r°  rX   rY   rÈ  rÊ  rë  rú  rý  r  r  r  r  r  r/  Úzerosr4  rÑ  r  r9  r=  ÚFuncFormatterÚFixedFormatterrC  rL  rB   r7   r4   Ú<module>rX     s�  ðÝ "Û Û Û Û 	Ý 4ã ß AÛ ã Ý Ý #÷,,ñ ,,÷^Fñ F÷<8!ñ 8!÷vmHñ mH÷`L7ñ L7÷^ñ ÷$ñ $÷"O!ñ O!÷d	 ñ 	 ÷
!ñ 
!÷)8ñ )8÷Xb7ñ b7÷JLñ L÷^!(ñ !(÷H/ñ /÷&0ñ 0÷8Zñ Z÷zo'ñ o'÷d&ñ &÷+ñ +÷&n8ñ n8òb>ð ‡�×ÑØ?ò Bóñ0(Ló1ð0(L÷VB7ñ B7òJò*ò ;ò;ò;ò;ò$ò$%ðP ‡�×ÑÐ@ð&ó'ñ@ó	'ð@ðB ‡�×Ñ˜Ø	ˆ:ÐØ‡H‚HˆVÓð!ó ñ óð ð ‡�×Ñ˜¢\Ó2Ø‡�×Ñ�9ÓñFó ó 3ðFò2ð ‡�×Ñ˜Ø×ÒÑ/Ó0Ø×Ò˜>Ó*ð',ó -ñ+ó-ð+óQr7   