+
    i              
       N	   ^ RI t ^ RIHt ^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RI	t	^ RI
t^ RIt^ RIHt ^ RIt^ RIHt ^ RIHtHt ^ RIHt ^ R	IHtHt ^ R
IHtHt ^ RIHtHtH t  ^ RI!H"t"H#t#H$t$ ^ RI%H&t' ^ RI(H)t* ]! R.RR.]PV                  ! 4       R8X  d   ^ MRR7      R 4       t,]! RR.]PV                  ! 4       R8X  d   ^ MRRR7      R 4       t-R t.R t/R t0R t1R t2R t3]! R .]PV                  ! 4       R8X  d   ^ MR!R"7      R# 4       t4]! R$.4      R% 4       t5R& t6R' t7R( t8]! R).4      R* 4       t9R+ t:R, t;R- t<]! R..RR.R/RR0R1/R27      R3 4       t=R4 t>R5 t?R6 t@R7 tAR8 tB]P                  P                  R9. RO4      R: 4       tER; tF]P                  P                  R<4      R= 4       tI]P                  P                  R>^]P                  3R]P                  ^3.4      R? 4       tLR@ tMRA tNRB tORC tPRD tQ]P                  P                  RE]P                  ! RF]P                  P                  RF4      .RG7      ]P                  ! RH]P                  P                  RH4      .RG7      .4      RI 4       tTRJ tURK tV]P                  ! RLRM/4      ]! R.RN7      RO 4       4       tXRP tYRQ tZRR t[]! R.RN7      RS 4       t\]P                  P                  RTRURV.4      RW 4       t]RX t^]! RRY.RN7      RZ 4       t_]P                  P                  R[. RO4      R\ 4       t`R] taR^ tbR_ tc]P                  P                  R`RaRb.4      Rc 4       tdRd te]P                  P                  R4      Re 4       tfRf tg]! Rg.RRhRiR/Rj/RMRk7      Rl 4       th]! . RORN7      Rm 4       ti ! Rn Ro4      tjRp tk]! Rq.RR/Rj/Rr7      Rs 4       tlRt tmRu tn]! Rv.RR/Rj/RwRx7      Ry 4       to]! Rz.RR/Rj/Rr7      R{ 4       tpR| tq]P                  P                  R4      R} 4       tr]! R~.RRMR7      R 4       tsR ttR tuR tvR twR txR tyR tzR t{]! R.RN7      R 4       t|R t}R t~R t]P                  P                  R[. RO4      R 4       t]P                  P                  R[. RO4      R 4       tR tR tR tR tR tR tR# )    N)datetime)Timer)SimpleNamespace)Image)gridspec)image_comparisoncheck_figures_equal)Axes)KeyEvent
MouseEvent)Figure
FigureBase)ConstrainedLayoutEngineTightLayoutEnginePlaceHolderLayoutEngine)AutoMinorLocatorFixedFormatterScalarFormatterfigure_align_labelspngsvgx86_64{Gz?)
extensionstolc                  l   \         P                  ! R R7      p \        P                  ! ^^4      pV P	                  VR,          4      pVP                  \        P                  ! ^ RR4      4       VP                  R4       V P	                  VR,          4      pVP                  \        P                  ! ^ R^d4      4       \        ^4       F  pV P	                  V^V3,          4      pVP                  RV,          4       VP                  RV,          4       VR9   d6   VP                  P                  R4       VP                  P                  4        V^ 8X  d)   VP                  4        F  pVP                  ^Z4       K  	  V^8X  g   K  VP                   P                  R	4       VP                   P#                  4        K  	  \        ^4       F  pV P	                  V^V3,          4      pVP                  R
V 24       VP                  RV 24       V^8X  g   KN  VP                  \        P                  ! ^ R^
4      4       VP                   P                  R	4       VP                   P#                  4        VP                  4        F  pVP                  ^Z4       K  	  K  	  V P%                  4        R# )tightlayout    .A  z	Ylabel0 0     @z
YLabel1 %dz
XLabel1 %dtoprightzXLabel2 zYLabel2 N)r   N   N)r   r   r&   )pltfigurer   GridSpecadd_subplotplotnparange
set_ylabelrange
set_xlabelxaxisset_label_positiontick_topget_xticklabelsset_rotationyaxis
tick_rightalign_labels)figgsaxiticks        |/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/matplotlib/tests/test_figure.pytest_align_labelsrA      s    **G
$C			1a	 B	E	#BGGBIIad#$MM+	E	#BGGBIIac"#1X__R1X&
lQ&'
lQ&';HH''.HH6**,!!"% -6HH''0HH!  1X__R1X&
n%
n%6GGBIIab)*HH''0HH!**,!!"% -      zfigure_align_titles_tight.pngz#figure_align_titles_constrained.pnggI+?mpl20)r   stylec                     R EFJ  p \         P                  ! ^^V ^^.R7      w  rV^ ,          pVP                  \        P                  ! ^ RR4      4       VP                  RRR7       VP                  RRR7       VP                  R	R
R7       V^,          pVP                  \        P                  ! ^ R^d4      4       VP                  R4       VP                  R4       VP                  P                  R4       VP                  P                  4        VP                  4        F  pVP                  ^Z4       K  	  VP                  4        EKM  	  R# )r   )r   width_ratiosr    r!   zTitle0 leftleft)loczTitle0 centercenterzTitle0 rightr$   r"   Title1Xlabel0r#   N)r   constrained)r)   subplotsr-   r.   r/   	set_titler2   r3   r4   r5   r6   r7   align_titles)r   r;   axsr=   r?   s        r@   test_align_titlesrQ   E   s   
 +<<1V1a&IV
		!S$'(
]/
_(3
^1V
		!S#&'
X
i 
##E*
&&(Db! ) 	% +rB   c                  B   \         P                  ! ^^4      w  r\        VP                  4       Fo  w  r#VP	                  R4       VP	                  R4       VP                  \        P                  ! ^4      V,          \        P                  ! ^4      V,          4       Kq  	  V P                  4        V P                  4        V P                  4        \        P                  ! ^4      p\        P                  ! ^4      p\        VP                  4       F_  w  r#VP                  P                  P                  4       ^,          WR&   VP                  P                  P                  4       ^ ,          WB&   Ka  	  \        P                   P#                  VR,          VR,          4       \        P                   P#                  VR,          VR,          4       \         P                  ! ^^RR7      w  r\        VP                  4       FV  w  r#VP	                  R4       VP	                  R4       VP%                  \        P&                  P)                  ^
^
4      4      pKX  	  V P+                  XXR	7       V P                  4        V P                  4        V P                  4        \        P                  ! ^4      p\        P                  ! ^4      p\        VP                  4       F_  w  r#VP                  P                  P                  4       ^,          WR&   VP                  P                  P                  4       ^ ,          WB&   Ka  	  \        P                   P#                  VR,          VR,          4       \        P                   P#                  VR,          VR,          4       R
# )r&   BooWhor%   :r&   NN:NNr&   :   Nr&   Tconstrained_layoutr=   N)r)   rM   	enumerateflatr2   r-   r.   r/   align_ylabelsalign_xlabelsdraw_without_renderingzerosr3   labelget_positionr8   testingassert_allclose
pcolormeshrandomrandncolorbar)r;   rP   nnr=   xnynpcs          r@   test_align_labels_stray_axesrk   _   si   ||Aq!HCCHH%
e
e
		!b "))A,"23 &  	!B	!BCHH%,,.q1,,.q1 & JJr"vr"v.JJr#w41||AqT:HCCHH%
e
e]]299??2r23 & LLL 	!B	!BCHH%,,.q1,,.q1 & JJr"vr"v.JJr#w41rB   c                      \         P                  ! R 4       \         P                  ! R4      p \         P                  ! ^4       \         P                  ! R4       \         P                  ! 4        \         P                  ! ^ 4       \         P                  ! ^4       \         P                  ! ^4       \         P                  ! 4       . RO8X  g   Q h\         P                  ! 4       . RO8X  g   Q h\         P                  ! ^
4       \         P                  ! 4        \         P                  ! ^4       \         P                  ! R4       \         P                  ! 4       ^ ^.8X  g   Q h\         P                  ! 4       RR.8X  g   Q h\         P                  ! V 4       \         P
                  ! 4       V 8X  g   Q h\        P                  ! \        4      ;_uu_ 4        \         P                  ! \        4       4       RRR4       R#   + '       g   i     R# ; i)alltodaytomorrow N)r   rU            )rp   rn   rp   ro   rp   )
r)   closer*   get_fignumsget_figlabelsgcfpytestraises
ValueErrorr   )	fig_todays    r@   test_figure_labelr|      s5   IIe

7#IJJqMJJzJJLJJqMJJqMJJqM??///"CCCCIIbMIIKIIaLIIj??A&&&2w-///JJy779	!!!	z	"	"

68 
#	"	"	"s   G<<H	c                  &   \         P                  ! R 4       \         P                  ! ^4      p \        P                  ! \
        P                  RR7      ;_uu_ 4        ^V n        RRR4       V P                  ^8X  g   Q hR#   + '       g   i     L%; i)rm   &Changing 'Figure.number' is deprecatedmatchN)r)   rt   r*   rx   warnsmplMatplotlibDeprecationWarningnumberr;   s    r@   test_figure_label_replacedr      se    IIe
**Q-C	c66D
F 
F

F ::??
F 
Fs   B  B	c                     \        4       p \        P                  ! \        4      ;_uu_ 4        V P                   R R R 4       \        P
                  ! \        P                  RR7      ;_uu_ 4        ^V n        R R R 4       V P                  ^8X  g   Q h\        P                  ! V P                  4      '       d   Q hR #   + '       g   i     L; i  + '       g   i     L`; i)Nr~   r   )
r   rx   ry   AttributeErrorr   r   r   r   r)   fignum_existsr   s    r@   test_figure_no_labelr      s    
(C	~	&	&

 
' 
c66D
F 
F

F ::??  ,,,,, 
'	&
F 
Fs   B=0C=C	C 	c                  t   \         P                  ! R 4       \         P                  ! ^4       \         P                  ! R4       \         P                  ! 4        \         P                  ! R 4      '       g   Q h\         P                  ! ^4      '       g   Q h\         P                  ! R4      '       g   Q h\         P                  ! ^4      '       g   Q h\         P                  ! R 4       \         P                  ! ^4       \         P                  ! R 4      '       d   Q h\         P                  ! ^4      '       d   Q hR# )onethreeN)r)   r*   r   rt    rB   r@   test_fignum_existsr      s    JJuJJqMJJwJJLU####QW%%%%QIIeIIaL  ''''  #####rB   c                  J   R p Rp\         P                  ! ^R7      pVP                  V 4       VP                   Uu. uF  q3P	                  4       NK  	  upV .8X  g   Q h\         P                  ! ^RR7      pVP                  RRV4       W$J g   Q hVP                   Uu. uF  q3P	                  4       NK  	  upW.8X  g   Q h\         P                  ! ^^^RR7      w  rVW%J g   Q hVP                   Uu. uF  q3P	                  4       NK  	  up. 8X  g   Q hR# u upi u upi u upi )zA fancy plotzReally fancy!)numF)r   clear      ?TN)r)   r*   suptitletextsget_texttextrM   )text1text2fig0tfig1fig2ax2s          r@   test_clf_keywordr      s    EE::!DMM%"&**-*QJJL*-%888::!5)DIIc3<<"&**-*QJJL*-%???Qq5ID<<"&**-*QJJL*-333 .
 . .s   DD2D zfigure_today.pnggQ?)r   c                     \         P                  ! R 4      p V P                  4       pVP                  V P	                  4       4       VP                  \        P                  ! ^4      4       \         P                  ! R4       \         P
                  ! ^ ^.^^ .R4       \         P                  ! R 4       \         P                  ! R4       R# )rn   ro   rN)	r)   r*   r,   rN   	get_labelr-   r.   r/   rt   r;   r=   s     r@   test_figurer      s     **W
C		BLL!GGBIIaLJJzHHaVaVS!JJwIIjrB   zfigure_legend.pngc                     \         P                  ! ^4      w  rV^ ,          P                  ^ ^.^^ .RRR7       V^ ,          P                  ^ ^.^ ^.RRR7       V^ ,          P                  ^ ^.RR.RRR7       V^,          P                  ^ ^.^^ .RRR7       V^,          P                  ^ ^.^ ^.R	R
R7       V P                  4        R# )r&   xg)r_   coloryr   r   k_yzbN)r)   rM   r-   legendr;   rP   s     r@   test_figure_legendr      s    ||AHCFKKAAcK5FKKAAcK5FKKAc
#SK9FKKAAd#K6FKKAAcK5JJLrB   c                     \         P                  ! 4       p V P                  . RO4      pV P                  4       VJ g   Q hV P	                  ^o4      pV P                  4       VJ g   Q hV P                  V4       V P
                  W.8X  g   Q hV P                  4       VJ g   Q hV P                  V4       V P
                  W.8X  g   Q hV P	                  V4       V P
                  W.8X  g   Q hV P                  4       VJ g   Q hR# )r   Nr   r   rU   rU   )r)   r*   add_axesgcar,   axessca)r;   ax0ax1s      r@   test_gcar      s    
**,C ,,|
$C779 //#
C779 LL88z!!!779 GGCL88z!!! OOC88z!!!779rB   c                     \         P                  ! 4       p V P                  \        R 7       \        P
                  ! \        4      ;_uu_ 4        V P                  \        RR7       RRR4       \        P
                  ! \        4      ;_uu_ 4        V P                  \        RR7       RRR4       \        P
                  ! \        4      ;_uu_ 4        V P                  RRR7       RRR4       \        P
                  ! \        4      ;_uu_ 4        V P                  ^*R7       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     Lu; i  + '       g   i     R# ; i))
axes_class3d)r   
projectionNT)r   polar)r   r   r   )r)   r*   r,   r
   rx   ry   rz   	TypeErrorr   s    r@   test_add_subplot_subclassr     s    
**,COOtO$	z	"	"4D9 
#	z	"	"4t4 
#	z	"	"4t4 
#	y	!	!2& 
"	! 
#	"	"	"	"	"	!	!	!s0   D-E EE&-D=	 E	E#	&E7	c                  2   \         P                  ! 4       p \        P                  ! \        R R7      ;_uu_ 4        V P                  ^^ ^4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V P                  ^ ^^4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V P                  ^^^ 4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V P                  ^^^4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V P                  ^^R4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V P                  ^*4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V P                  R4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V P                  ^^4       RRR4       \        P                  ! \        R	R7      ;_uu_ 4        V P                  ^^^^4       RRR4       \        P                  ! \        R
R7      ;_uu_ 4        V P                  R^^4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V P                  ^R^4       RRR4       \         P                  ! 4       w  r\        P                  ! \        RR7      ;_uu_ 4        V P                  V4       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL`; i  + '       g   i     EL4; i  + '       g   i     EL
; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL\; i  + '       g   i     EL0; i  + '       g   i     R# ; i)z,Number of columns must be a positive integerr   Nz)Number of rows must be a positive integerz)num must be an integer with 1 <= num <= 4r   zmust be a three-digit integerr!   z2takes 1 or 3 positional arguments but 2 were givenz2takes 1 or 3 positional arguments but 4 were givenz2Number of rows must be a positive integer, not '2'2z5Number of columns must be a positive integer, not 2.0g       @5The Axes must have been created in the present figure)r)   r*   rx   ry   rz   r,   r   rM   )r;   _r=   s      r@   test_add_subplot_invalidr     s   
**,C	zK
M 
M1a 
M 
zH
J 
J1a 
J 
z *9 
: 
:1a 
: 
z *9 
: 
:1a 
: 
z *9 
: 
:1c"
: 
z)H	I	I 
J	z)H	I	I 
J 
y ); 
< 
<1
< 
y ); 
< 
<1a#
< 
z'
( 
( 	Q"
( 
z'
( 
( 	3"
( LLNEA	z.
/ 
/ 	
/ 
/I
M 
M 
M
J 
J 
J
: 
: 
:
: 
: 
:
: 
: 
: 
J	I	I	I	I	I
< 
< 
<
< 
< 
<
( 
( 
(
( 
( 
(

/ 
/ 
/s   L):L=:M:M%:M9:N8N!6N55O	6O6O1P)L:	=M	M"	%M6	9N
	N	!N2	5O		O	O.	1P	P	zfigure_suptitle.pngc                      \         P                  ! 4       w  rV P                  R RR7       V P                  RR^R7       R# )hellor   )r   titler   )r   rotationN)r)   rM   r   )r;   r   s     r@   test_suptitler   E  s1    \\^FCLLL$LLbL1rB   c                  0   \         P                  ! 4       w  r\        P                  P	                  R RR7      pV P                  RVR7      pVP                  4       VP                  4       8X  g   Q hVP                  4       VP                  4       8X  g   Q hR# )largebold)sizeweightzfontprops title)fontpropertiesN)	r)   rM   r   font_managerFontPropertiesr   get_fontsizeget_size_in_points
get_weight)r;   r=   fpstxts       r@   test_suptitle_fontpropertiesr   L  sy    llnGC



)
)wv
)
FC
,,(,
=C!7!7!9999>>s~~////rB   c                  <   \         P                  ! RR7      p V P                  ^^4      w  rVP                  R4       VP	                  4        VP	                  4        V P                  R4       VP                  4       R8X  g   Q hVP                  4       R8X  g   Q hR# )rr   figsizewhitezThis is a visible suptitle.N)rr   rq   )        r   r   r   )      ?r   r   r   )r)   r*   
subfiguresset_facecolorrM   r   get_facecolor)r;   sf1sf2s      r@   test_suptitle_subfiguresr   T  s    
**V
$C~~a#HCgLLNLLNLL./ "6666"6666rB   c                     \         P                  ! 4       w  rV P                  4       R 8X  g   Q hV P                  4       R 8X  g   Q hV P	                  4       R 8X  g   Q hV P                  R4       V P                  4       R8X  g   Q hV P                  R4       V P                  4       R8X  g   Q hV P                  R4       V P	                  4       R8X  g   Q hR# )rp   r   	supxlabel	supylabelN)r)   rM   get_suptitleget_supxlabelget_supylabelr   r   r   r   s     r@   %test_get_suptitle_supxlabel_supylabelr   b  s    llnGC###"$$$"$$$LL+++MM++---MM++---rB   alpha_background	facecolor	edgecolornone)r   savefig_kwargc            	         \         P                  ! ^^.R7      p V P                  R4       V P                  P	                  R4       V P
                  P                  \        P
                  P                  ^^.^RRR7      4       R# )r&   r   皙?333333?red)radiusalphar   Nr   rU   r   )	r)   r*   r   patch	set_alphapatchesappendr   CirclePolygonr   s    r@   
test_alphar   o  sk     **aV
$Ck"IIKKs{{00	R3% 1 9 :rB   c                  
   \         P                  ! \        4      ;_uu_ 4        \        \        P
                  R ,          ^,           4       F  p \        P                  ! 4        K  	  RRR4       R#   + '       g   i     R# ; i)zfigure.max_open_warningN)rx   r   RuntimeWarningr1   r   rcParamsr)   r*   )r>   s    r@   test_too_many_figuresr  ~  sH    	n	%	%s||$=>BCAJJL D 
&	%	%	%s   AA11B	c                     a  ! R  R\         4      o ! V3R lR4      p \        P                  ! 4       pVP                  ^^^V ! 4       R7       \        P                  ! V4       R# )c                   .   a  ] tR tRt o RR/R ltRtV tR# ).test_iterability_axes_argument.<locals>.MyAxesi  myclassNc               :    \         P                  ! V .VO5/ VB  R # N)r
   __init__)selfr  argskwargss   &$*,r@   r	  7test_iterability_axes_argument.<locals>.MyAxes.__init__  s    MM$000rB   r   )__name__
__module____qualname____firstlineno__r	  __static_attributes____classdictcell____classdict__s   @r@   MyAxesr    s     	1$ 	1 	1rB   r  c                   4   <a  ] tR tRt o R tV3R ltRtV tR# )/test_iterability_axes_argument.<locals>.MyClassi  c                *    VR 8w  d   \        R4      hR# )azitem should be aN)rz   )r
  items   &&r@   __getitem__;test_iterability_axes_argument.<locals>.MyClass.__getitem__  s    s{ !344 rB   c                   < SR V /3# )r  r   )r
  r  s   &r@   _as_mpl_axes<test_iterability_axes_argument.<locals>.MyClass._as_mpl_axes  s    It,,,rB   r   N)r  r  r  r  r  r  r  r  )r  r  s   @r@   MyClassr    s     	5	- 	-rB   r!  r   N)r
   r)   r*   r,   rt   )r!  r;   r  s     @r@   test_iterability_axes_argumentr"    sG    1 1- - **,COOAq!	O2IIcNrB   c                     \         P                  ! 4       p V P                  ^4       V P                  4       ^8X  g   Q hV P	                  ^4       V P                  4       ^8X  g   Q hV P                  ^^4       V P                  4       ^8X  g   Q hV P                  4       ^8X  g   Q hV P                  R4       V P                  4       ^8X  g   Q hV P                  4       ^8X  g   Q hR# )rs   N)rU   rq   )r)   r*   set_figwidthget_figwidthset_figheightget_figheightset_size_inchesr   s    r@   test_set_fig_sizer)    s    
**,C Q""" a!### 1"""!### """!###rB   c                  *   \         P                  ! ^^4      w  rVR,          P                  4        VP                  4       RR  F  pW P                  9   d   K  Q h	  VR,          V P                  9  g   Q h\        V P                  4      ^8X  g   Q hR# )r&   Nr'   r'   r'   )r)   rM   removeravelr   lenr;   rP   r=   s      r@   test_axes_remover0    su    ||Aq!HCKiik#2XX~~ v;chh&&&sxx=ArB   c                     \         P                  ! \        P                  ! ^4      \        P                  ! ^4      ,          4      w  rW,          ^8X  g   Q h\         P                  ! ^4      w  rW,          ^8X  g   Q h\         P                  ! \        P                  ! R4      4      w  rW,          R8X  g   Q h\         P                  ! \        P                  ! R4      4      w  rW,          ^8X  g   Q hR# )r&   r   NrU   r&   )r&   r&   )r)   	figaspectr.   float64r^   )whs     r@   test_figaspectr7    s    ==AA67DA5A::==DA5A::==&)*DA5C<<==&)*DA5A::rB   whichc                    . R
Op. ROp^<p. ROp\         P                  ! V4      p\         P                  ! V4      p\        P                  ! 4       w  rxVP	                  WV4       VP                  4        VP                  4        VP                  P                  \        ^4      4       \        P                  ! 4       ;_uu_ 4        \        P                  ! RR4       VP                  P                  \        V4      4       RRR4       VP                  RVRV 4       V R9   dK   VP                   ^ ,          P#                  RR4       F#  p	\%        V	P'                  4       4      V8X  d   K#  Q h	  V R9   dM   VP                   ^ ,          P#                  R	R4       F#  p	\%        V	P'                  4       4      V8X  d   K#  Q h	  R# R#   + '       g   i     L; i)
3 Jan 2013ignorez=FixedFormatter should only be used together with FixedLocatorN皙?r$   majorFminorT)r:  z
4 Jan 2013z
5 Jan 2013z
6 Jan 2013z
7 Jan 2013z
8 Jan 2013z
9 Jan 2013z10 Jan 2013z11 Jan 2013z12 Jan 2013z13 Jan 2013z14 Jan 2013)z16:44:00z16:45:00z16:46:00z16:47:00z16:48:00z16:49:00z16:51:00z16:52:00z16:53:00z16:55:00z16:56:00z16:57:00)rU   r&   rq   rr   rs         )bothr=  )rA  r>  )mdatesdatestr2numr)   rM   r-   
yaxis_date
xaxis_dater3   set_minor_locatorr   warningscatch_warningsfilterwarningsset_minor_formatterr   autofmt_xdater   r6   intget_rotation)
r8  datetimeangleminorsr   r   r;   r=   r_   s
   &         r@   test_autofmt_xdaterR    sq   HD$D E"F4 A4 AllnGCGGAMMMOMMOHH/23		 	 	"	"K	M 	$$^F%;<	 
# c5'51!!XXa[00@Eu))+,555 A !!XXa[00w?Eu))+,555 @ " 
#	"s   <GG	c                  2   \         P                  ! R R7      w  rVP                  . RO. RO.4      p\         P                  ! V4       V P	                  4        V P                  4        VP                  RR7      ^,          pVP                  4       R8X  g   Q hR# )rL   r   r=  r8  g      >@N)rU   rr   r?  )r&   rq   rs   )r)   rM   imshowrf   rK  r]   r6   rM  )r;   r=   imr_   s       r@   'test_autofmt_xdate_colorbar_constrainedrW    sz    
 ll-0GC	Iy)	*BLL W-a0E4'''rB   defaultc                     \         P                  ! RR7      p V P                  4        V P                  P                  P
                  R8X  g   Q hV P                  P                  P                  R8X  g   Q h^2V n        V P                  4        V P                  P                  P
                  ^8X  g   Q hV P                  P                  P                  ^8X  g   Q hR# )rr   r   i  N)rr   rr   )r)   r*   r]   canvasrendererheightwidthdpir   s    r@   test_change_dpir_    s    
**V
$C ::%%,,,::$$+++CG ::%%,,,::$$+++rB   zwidth, heightc                 |   \         P                  ! \        4      ;_uu_ 4        \        P                  ! W3R 7       RRR4       \        P                  ! 4       p\         P                  ! \        4      ;_uu_ 4        VP                  W4       RRR4       R#   + '       g   i     Lc; i  + '       g   i     R# ; i)r   N)rx   ry   rz   r)   r*   r(  )r]  r\  r;   s   && r@   test_invalid_figure_sizera    sm     
z	"	"

E?+ 
# **,C	z	"	"E* 
#	"	 
#	" 
#	"	"s   B;B*B'	*B;	c                     \         P                  ! 4       p \        P                  ! \        R R7      ;_uu_ 4        V P                  4        RRR4       \        P                  ! \        4      ;_uu_ 4        V P                  RRR\        P                  34       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V P                  . R
O. R
OR7       RRR4       \         P                  ! 4       w  r\        P                  ! \        RR7      ;_uu_ 4        V P                  V4       RRR4       VP                  V4       \        P                  ! \        RR7      ;_uu_ 4        VP                  VR	4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V P                  . R
OR	4       RRR4       R#   + '       g   i     EL; i  + '       g   i     ELQ; i  + '       g   i     EL!; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)z.missing 1 required positional argument: 'rect'r   N皙?r   z#multiple values for argument 'rect')rectr   z)add_axes\(\) takes 1 positional argumentszextra positional argumentr   )r)   r*   rx   ry   r   r   rz   r.   nanrM   delaxes)r;   r   r=   s      r@   test_invalid_figure_add_axesrg    sv   
**,C	yM
O 
O
O 
z	"	"b"b"&&)* 
# 
y(M	N	N\5 
O ||~HD	z&
' 
' 	R
'
 	LL	y(T	U	Ub56 
V 
y(T	U	U\#>? 
V	U)
O 
O 
O 
#	"	" 
O	N	N
' 
' 
V	U 
V	U	UsG   G5$G!G5 H	/H.H/G	!G2	5H		H	H,	/I 	c                     \         P                  ! ^^RRRR7      w  rVP                   F  pVP                  . RO. RO4       K  	  XP	                  R4       VP                  R4       VR	,           F/  p^ \        VP                  P                  RR7      4      8X  d   K/  Q h	  VR
,           F/  p^ \        VP                  P                  RR7      4      8  d   K/  Q h	  VR,           F/  p^ \        VP                  P                  RR7      4      8X  d   K/  Q h	  VR,           F/  p^ \        VP                  P                  RR7      4      8  d   K/  Q h	  R# )r&   TF)sharexshareysqueezelogrA  rT  N)
         )r   NNN)rU   rp  )rp  rU   )rp  r   )
r)   rM   rZ   r-   
set_yscale
set_xscaler.  r3   get_ticklabelsr8   r/  s      r@   test_subplots_shareax_loglabelsrt  5  s*   ||AqdEJHChh
l+  MM%MM%$iiC//f/=>>>>  $ii3rxx..V.<====  $iiC//f/=>>>>  $ii3rxx..V.<==== rB   c                      \         P                  ! 4       p R p\        P                  ! \        VR7      ;_uu_ 4        V P                  RR4       RRR4       R#   + '       g   i     R# ; i)z9savefig\(\) takes 2 positional arguments but 3 were givenr   z
fname1.pngz
fname2.pngN)r)   r*   rx   ry   r   savefig)r;   msgs     r@   test_savefigrx  J  s@    
**,C
FC	y	,	,L,/ 
-	,	,	,s   AA*	c            	         \         P                  ! 4       p R FU  p\        P                  ! \        4      ;_uu_ 4        V P                  \        P                  ! 4       VRR7       RRR4       KW  	  R#   + '       g   i     Kl  ; i)r   T)formatnon_existent_kwargN)r   pdfr   tifjpg)r)   r*   rx   ry   r   rv  ioBytesIO)r;   rz  s     r@   test_savefig_warnsr  Q  sP    
**,C5]]9%%KK

VKM &% 6%%%s   (A33Bc                  ~   \         P                  ! 4       p \        P                  ! \        R R7      ;_uu_ 4        V P                  RRR7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        V P                  RRR7       RRR4       R#   + '       g   i     LR; i  + '       g   i     R# ; i)	zNo module named '@absent'r   testzmodule://@absent)backendNz-The 'pdf' backend does not support png outputztest.pngr|  )r)   r*   rx   ry   ModuleNotFoundErrorrv  rz   r   s    r@   test_savefig_backendr  X  s    
**,C	*2M	N	NF$67 
O	zL
N 
NJ.
N 
N 
O	N
N 
N 
Ns   B:B+B(	+B<	r  Agg)marksCairoc                    \         P                  ! 4       w  rVP                  . RO4       \        P                  ! 4       ;_uu_ 4       pVP                  VRR7       \        P                  ! V4      pVP                  4        RRR4       \         P                  ! 4       w  rVP                  . RO4       VP                  P                  ^4       \        P                  ! 4       ;_uu_ 4       pVP                  VRR7       \        P                  ! V4      pVP                  4        RRR4       XX8X  g   Q hR#   + '       g   i     L; i  + '       g   i     L.; i)rU   r   rz  NrU   r&   rq   )r)   rM   r-   r  r  rv  r   openloadrZ  _set_device_pixel_ratio)r  r;   r=   bufratio1ratio2s   &     r@   test_savefig_pixel_ratior  b  s    
 llnGCGGI	C&C 

 llnGCGGIJJ&&q)	C&C 

 V 
 
s   :D9,:E9E		E	c                      \         P                  ! R R7      p V P                  \        P                  ! 4       RR7       V P                  4       P                  '       g   Q hR# )
compressedr   r   bbox_inchesN)r)   r*   rv  r  r  get_layout_engine	_compressr   s    r@   #test_savefig_preserve_layout_enginer  y  sA    
**L
)CKK

'K2  ",,,,,rB   c                     \         P                  ! 4       w  rVP                  \        P                  P                  ^^4      4      pV P                  V^(R7      pV P                  \        P                  ! 4       \        P                  P                  ^ ^ .^^..4      R7       VP                  P                  RR7      P                  VP                  P                  RR7      P                  8w  g   Q hR# )r&   )aspectr  T)originalFN)r)   rM   rc   r.   rd   re   rf   rv  r  r  r   
transformsBboxr=   r`   bounds)r;   r=   rj   cbars       r@   test_savefig_locate_colorbarr    s    llnGC	ryyq!,	-B<<2<&DKK

#..*=*=1v1v>N*OKP GG  $ /66GG  % 0778 9 8rB   zsavefig.transparentTr   c                 .   V P                  ^^RRR7      pV P                  VR,          4      pVP                  VR,          4      pVP                  VR,          4      pVP                  VRR	1R3,          4      pVP                  . R
O4      pVP                  . R
O4      pV P                  VR	RR	13,          4      p	V P                  VR,          4      p
WVWxW3 F8  pVP	                  . . R7       VP
                  R,          P                  R4       K:  	  R# )rq   皙?)rG   wspacerp  N)xticksyticksF)rp  rp  r   r   r'   )rc  r<  333333?r   r+  )add_gridspecadd_subfigurer,   
inset_axessetspinesset_visible)fig_testfig_refgs1f1f2ax12r   iax1iax2r   ax3r=   s   &&          r@   test_savefig_transparentr    s    
 

14

=C			D		*B			#d)	$B>>#d)$D
..SbS!V
%C>>*+D??+,D


s2ss7|
,C


s6{
+C$c/
b$
		!  ' 0rB   c                  Z    \         P                  ! R^
R7      p \        V 4      R8X  g   Q hR# )rm  )r   r^  z!<Figure size 100x200 with 0 Axes>N)rm  rn  )r)   r*   reprr   s    r@   test_figure_reprr    s%    
**X2
.C9;;;;rB   c                  n   \        R R7      p V P                  4       '       d   Q hV P                  4       '       d   Q h\        RR7      p V P                  4       '       g   Q hV P                  4       '       d   Q h\        RR7      p V P                  4       '       d   Q hV P                  4       '       g   Q hR # )Nr   r   rL   )r   get_tight_layoutget_constrained_layoutr   s    r@   test_valid_layoutsr    s    

C##%%%%))++++

 C!!!!))++++

&C##%%%%%%''''rB   c                  v	   \         P                  ! R R7      w  r\        P                  ! \        4      ;_uu_ 4        V P                  RR7       RRR4       \        V P                  4       \        4      '       g   Q hRp\        P                  ! \        VR7      ;_uu_ 4        \        RRR	7      p RRR4       \        V P                  4       \        4      '       g   Q hR
p\        P                  ! \        VR7      ;_uu_ 4        \        R RR7      p RRR4       \        V P                  4       \        4      '       d   Q h\        V P                  4       \        4      '       g   Q h\        P                  ! \        RR7      ;_uu_ 4        \        RR7       RRR4       \         P                  ! R R7      w  rV P                  R4       \        V P                  4       \        4      '       g   Q hV P                  R 4       \        V P                  4       \        4      '       g   Q h\         P                  ! R R7      w  rVP                  \        P                   P#                  ^^4      4      pV P%                  V4       \        P                  ! \&        RR7      ;_uu_ 4        V P                  R4       RRR4       V P                  R4       \        P                  ! \&        RR7      ;_uu_ 4        V P                  R4       RRR4       \         P                  ! RR7      w  rVP                  \        P                   P#                  ^^4      4      pV P%                  V4       \        P                  ! \&        RR7      ;_uu_ 4        V P                  R 4       RRR4       V P                  R4       \        V P                  4       \(        4      '       g   Q h\        P                  ! \&        RR7      ;_uu_ 4        V P                  R 4       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL9; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL ; i  + '       g   i     R# ; i)rL   r   皙?)r#   Nz1The Figure parameters 'layout' and 'tight_layout'r   r   F)r   tight_layoutz7The Figure parameters 'layout' and 'constrained_layout')r   rW   zInvalid value for 'layout'foobarzColorbar layout of new layoutr   )r)   rM   rx   r   UserWarningsubplots_adjust
isinstancer  r   r   r   ry   rz   set_layout_enginerc   r.   rd   re   rf   RuntimeErrorr   )r;   r=   wstrj   s       r@   test_invalid_layoutsr    s;   ll-0GC	k	"	"$ 
# c++-/FGGGG >C	k	-	-G%8 
.c++-/@AAAA
CC	k	-	-MeD 
.#//13DEEEEc++-/FGGGG	z9
; 
;h
;
 ll-0GC'"c++-/@AAAA-(c++-/FGGGG ll-0GC	ryyq!,	-BLL	|+J	K	Kg& 
L&!	|+J	K	Kg& 
L ll'*GC	ryyq!,	-BLL	|+J	K	Km, 
L&!c++-/FGGGG	|+J	K	Km, 
L	K] 
#	"	" 
.	-	- 
.	-	-

; 
; 
; 
L	K	K 
L	K	K 
L	K	K
 
L	K	Ks_   P#P/QQ$Q+3Q?
R?R'P,	/Q 	Q	Q(	+Q<	?R	R$	'R8	c                 B   \        W.R R.4       Fx  w  r#\        P                  ! RV/4      ;_uu_ 4        VP                  ^R7      pVP	                  ^
R7       RRR4       \        VP                  4       \        4      '       d   Kx  Q h	  R#   + '       g   i     L<; i)FTzfigure.autolayout)ncols)w_padN)zipr   
rc_contextrM   r  r  r  r   )r  r  r;   
autolayoutr   s   &&   r@   &test_tightlayout_autolayout_deconflictr    s~    2UDMB^^0*=>><<a<(D2& ? #//13JKKKK	 C>>s   %BBr   rL   r  c                    \         P                  ! V R7      w  r\        P                  ! \        RR7      ;_uu_ 4        \         P
                  ! 4        RRR4       R#   + '       g   i     R# ; i)z^
Raise a warning when a previously assigned layout changes to tight using
plt.tight_layout().
r   z The figure layout has changed tor   N)r)   rM   rx   r   r  r  )r   r;   r=   s   &  r@   test_layout_change_warningr    sB     ll&)GC	k)K	L	L 
M	L	L	Ls   AA/	c                  z    \        4       p V P                  4        V P                  4        V P                  4        R # r  )r   r  r   s    r@   test_repeated_tightlayoutr    s-    
(CrB   r|  c           
      :   ^dV n         ^dVn         V P                  4        \        P                  ! RR.RR.RR7      p\        P                  ! RR.RR.RR7      p\        P                  ! R^dRRR	7      p\        P                  ! RR
RR7      p\        P                  ! RRV P
                  RRR7      pW#WEV3 F  pV P                  V4       K  	  VP                  4        VP                  4       p\        P                  ! RR.RR.VP                  R^R7      p\        P                  ! R^dRR^RR7      p\        P                  ! RR
VP                  R^R7      p\        P                  ! RRVP
                  RR^RR7      pW$WV3 F  pVP                  V4       K  	  R# )d   r<  ffffff?l1)gidr  l2NC1)	transformr  r  C2g?crimsonC3)r  r   r  )r  r  zorderF)r  clip_onr  r  )r  r   r  r  r  )rn  rn  )r  r   )g      @r  )	r^  rM   r)   Line2DCircledpi_scale_trans
add_artistr,  transFigure)	r  r  r  r  r1r2r3r  r   s	   &&       r@   test_add_artistr    sk   HLGK	RHr2hD	1B	RHr2hD	1B	HcTt	<B	Hct	,B	Ish.F.F'T
3Bbb!A "IIK



C	RHr2h'2E2ER
)B	HcT5
B	HcW-@-@d
B	Isg.E.E'rt
MBbq rB   fmtc                 "   VR V  2,          p\         P                  ! V4       VP                  R4      ;_uu_ 4       pV P                  R4      VP	                  ^d4      P                  4       9   g   Q h RRR4       R#   + '       g   i     R# ; i)ztest.rbasciiN)r)   rv  r  encodereadlower)r  tmp_pathoutfiles   &&  r@   test_fspathr  "  sc    
uSE]
"CKK	$4 zz'"diin&:&:&<<<< 
s   6A==B	c                     \         P                  ! 4       w  rVP                  ^ ^4       VP                  RRR4      pV P                  P                  4       pRp\        VP                  V4      P                  W@P                  ,          ,
          4      ^8  g   Q h\        VP                  V4      P                  W@P                  ,          ,
          4      ^8  g   Q h\        V P                  V4      P                  V,
          4      R8  g   Q h\        V P                  V4      P                  R,
          4      R8  g   Q hVP                  R4       Rp\        VP                  V4      P                  WPP                  ,          ,
          4      ^8  g   Q h\        V P                  V4      P                  V,
          4      R8  g   Q hVP                  R	4       Rp\        VP                  V4      P                  W@P                  ,          ,
          4      ^8  g   Q h\        VP                  V. R
7      P                  WPP                  ,          ,
          4      ^8  g   Q hR# )r   r   r   zThis dangles over endgR"@r  g|?5^?FgET@T)bbox_extra_artistsN)r)   rM   set_xlimr   rZ  get_rendererabsget_tightbboxx1r^  x0set_in_layout)r;   r=   r   r[  x1Nom0x1Noms         r@   test_tightbboxr  ,  s   llnGCKK1
C01Azz&&(HFqx(++fww.>>?!CCCr),,v/??@1DDDs  *--67$>>>s  *--56=== OOEEr),,uww>?!CCCs  *--56===OODEr),,v/??@1DDDrR@CC! "$%& & &rB   c                     \         P                  ! ^^RR7      w  rV^,          P                  4        V^ ,          P                  \	        R^^4      \	        R^^4      .^ ^.4       \        V^ ,          P                  P                  4       \        P                  4      '       g   Q h\         P                  ! ^^RR7      w  rV^,          P                  P                  \        4       4       V^,          P                  4        V^ ,          P                  \	        R^^4      \	        R^^4      .^ ^.4       \        V^ ,          P                  P                  4       \        4      '       g   Q hR# )rU   Tri  i  N)r)   rM   r,  r-   r   r  r3   get_major_formatterrB  AutoDateFormatterset_major_formatterr   r   s     r@   test_axes_removalr
  E  s   ||Aq.HCFMMOFKK$1%xa';<q!fEc!fll668..0 0 0 0
 ||Aq.HCFLL$$_%67FMMOFKK$1%xa';<q!fEc!fll668%' ' ' 'rB   c                      \         P                  ! ^RR7      w  rV^ ,          P                  4        V P                  P	                  4        R# )r&   Tr  N)r)   rM   r,  rZ  drawr   s     r@   test_removed_axisr  W  s/    ||Ad+HCFMMOJJOOrB   
clear_methr   clfc           	      P
  a
 \         P                  ! 4       o
S
P                  4        S
P                  . 8X  g   Q hS
P	                  ^o4      p\        S
V 4      ! 4        S
P                  . 8X  g   Q h\        ^4       Uu. uF  pS
P	                  ^^V^,           4      NK  	  pp\        S
V 4      ! 4        S
P                  . 8X  g   Q hS
P                  ^^R7      pS
P                  V^ ,          4      pVP	                  ^o4      p\        S
V 4      ! 4        VS
P                  9  g   Q hS
P                  . 8X  g   Q hS
P                  V^ ,          4      pVP	                  ^o4      pS
P	                  V^,          4      pVP                  4        S
P                  V.8X  g   Q hS
P	                  V^,          4      pVP                  4        S
P                  V.8X  g   Q hVS
P                  9   g   Q hVP	                  ^o4      pVS
P                  9   g   Q hVS
P                  9   g   Q h\        WP4      ! 4        VS
P                  9   g   Q hWeP                  9  g   Q hVS
P                  9  g   Q hVS
P                  9   g   Q hVP	                  ^o4      p\        S
V 4      ! 4        S
P                  . 8X  g   Q hS
P                  . 8X  g   Q hR	 Uu. uF  pS
P                  WB,          4      NK  	  ppV U	u. uF  qP	                  ^o4      NK  	  pp	\        ;QJ d    V
3R lV 4       F  '       d   K   RM	  RM! V
3R lV 4       4      '       g   Q h\        ;QJ d    V
3R lV 4       F  '       d   K   RM	  RM! V
3R lV 4       4      '       g   Q h\        V^ ,          V 4      ! 4        V^ ,          S
P                  9  g   Q hV^,          S
P                  9   g   Q hV^,          S
P                  9   g   Q h\        V^,          V 4      ! 4        R	 Uu. uF  pS
P                  WB,          4      NK  	  ppV U	u. uF  qP	                  ^o4      NK  	  pp	\        ;QJ d    V
3R lV 4       F  '       d   K   RM	  RM! V
3R lV 4       4      '       g   Q h\        ;QJ d    V
3R lV 4       F  '       d   K   RM	  RM! V
3R lV 4       4      '       g   Q h\        S
V 4      ! 4        S
P                  . 8X  g   Q hS
P                  . 8X  g   Q hR# u upi u upi u up	i u upi u up	i )
o   )r  nrowsc              3   @   <"   T F  qSP                   9   x  K  	  R # 5ir  r   .0r=   r;   s   & r@   	<genexpr>$test_figure_clear.<locals>.<genexpr>       0"SXX~   FTc              3   @   <"   T F  qSP                   9   x  K  	  R # 5ir  subfigsr  sfigr;   s   & r@   r  r         7wts{{"wr  c              3   @   <"   T F  qSP                   9   x  K  	  R # 5ir  r  r  s   & r@   r  r    r  r  c              3   @   <"   T F  qSP                   9   x  K  	  R # 5ir  r  r  s   & r@   r  r    r   r  Nr   rU   )r)   r*   r   r   r,   getattrr1   r  r  r  r,  rm   )r  r=   r>   r   r<   subfigsubaxesmainaxesr  r  r;   s   &         @r@   test_figure_clearr(  ^  s6    **,C IIK88r>> 
	BC88r>> 16a91COOAq!A#&D9C88r>> 
				+Br!u%F  %GC$$$88r>> r!u%F  %Gr!u%H OO88y    r!u%HNN88z!!!S[[      %GsxxchhF!S[[   ++%%%#(("""sxx   %GC88r>>;;" 288As  'G8189$G930033300000037w73337w77777 GAJ
#%1:SXX%%%1:!!!1:$$$ GAJ
#%178As  'G8189$G930033300000037w73337w77777C;;"88r>>A :Z 99 99s   <#T
 T0T T7T#c                  d    \         P                  ! 4        F  p R V P                  9  d   K  Q h	  R# )r  N)r   __subclasses____dict__)klasss    r@   test_clf_not_redefinedr-    s'    **,ENN*** -rB   c                      \         P                  ! 4       w  rVP                  ^ .^ .R.RR7       V P                  P	                  4        V P
                  '       d   Q h\        VP                  P                  VP                  P                  ^,          ,           VP                  P                  VP                  P                  ^,          ,           VRR7      pV P                  V4       V P
                  '       d   Q hR# )r   r!   T)pickerN)r   r   inaxesguiEvent)r)   rM   scatterrZ  r  staler   bboxr   r]  y0r\  pick)r;   r=   mouse_events      r@   test_picking_does_not_staler8    s    llnGCJJsQC$J-JJOOyyy=!BGGJJ1B$B$&GGJJ!1C$C)+d<K HH[yyy=yrB   c                     \         P                  ! 4       p V P                  ^^R4      pVP                  4       P                  \        ^^4      8X  g   Q hVP                  4       P                  \        ^ ^4      8X  g   Q hV P                  ^^R4      pVP                  4       P                  \        ^^4      8X  g   Q hVP                  4       P                  \        ^^4      8X  g   Q hV P                  ^^R4      pVP                  4       P                  \        ^^4      8X  g   Q hVP                  4       P                  \        ^ ^4      8X  g   Q hV P                  ^^R4      pVP                  4       P                  \        ^^4      8X  g   Q hVP                  4       P                  \        ^ ^4      8X  g   Q h\        P                  ! \        4      ;_uu_ 4        V P                  ^^R4       RRR4       R#   + '       g   i     R# ; i)rq   Nrq   rs   )rr   r?  )rq   r?  )rr   rs   )r?  rq   )
r)   r*   r,   get_subplotspecrowspanr1   colspanrx   ry   
IndexError)r;   r   r   r  ax4s        r@   test_add_subplot_twotupler@    s   
**,C
//!Q
'C ((E!QK777 ((E!QK777
//!Q
'C ((E!QK777 ((E!QK777
//!Q
'C ((E!QK777 ((E!QK777
//!Q
'C ((E!QK777 ((E!QK777	z	"	"1f% 
#	"	"	"s   G::H	ztightbbox_box_aspect.svgr  r   teal)rD   r   remove_textc                      \         P                  ! 4       p V P                  ^^4      pV P                  VR,          4      pV P                  VR,          RR7      pVP	                  R4       VP	                  R4       R# )rU   r   r   r   Nr  r#  )r&   rU   rU   )r)   r*   r  r,   set_box_aspect)r;   r<   r   r   s       r@   test_tightbbox_box_aspectrE    se    
 **,C			!Q	B
//"T(
#C
//"T(t/
4Cry!rB   c                     VP                  4       pVP                  \        ^4      4       V P                  4       pVP                  \        ^4      RR7       R# )rs   T)animatedN)rM   r-   r1   )r  r  ax_refax_tests   &&  r@    test_animated_with_canvas_changerJ    sB    F
KKa!GLLqDL)rB   c                   *  a  ] tR tRt o ]! R.R7      ]P                  P                  R. R+O. R,O.. R-O. R.O.R/R0.4      R	 4       4       t]! R.R7      R
 4       t	]! R.R7      R 4       t
]! R.R7      R 4       tR tR t]! R.R7      ]P                  P                  RRR.RR..R3RR.RR..R3R^ .^ R..^ 3^R.R^..R3^R.R^..R3^^ .^ ^..^ 3.4      R 4       4       tR t]! R.R7      ]P                  P                  R/ RR/R.4      R 4       4       t]! R.R7      ]P                  P                  RR]! R4      .4      R 4       4       tR tR tR t]! R.R7      ]P                  P                  R. R1O4      R  4       4       t]P                  P                  R!RR.RR..R23RR.RRR.RR....R"3R3RRR.R...R$R$..R#3.4      R% 4       t]! R.R7      R& 4       t]P                  P                  R. R4O4      R' 4       tR( tR) tR*tV tR# )5TestSubplotMosaici  r   r  r   ABCDc                   VP                  V4      pVP                  4        F  w  rVVP                  V4       K  	  \        \        P
                  ! V4      4      p\        V4      \        V4      8X  g   Q hVP                  ^^4      pVP                  VR,          4      p	V	P                  V^ ,          4       VP                  VR,          4      p
V
P                  V^,          4       VP                  VR,          4      pVP                  V^,          4       VP                  VR,          4      pVP                  V^,          4       R# )r&   N)NrU   Nr%   )rp  r&   rU   r   rU   rU   )	subplot_mosaicitemsrN   sortedr.   uniquer.  r  r,   )r
  r  r  r   	grid_axesr   r=   labelsr<   axAaxBaxCaxDs   &&&&         r@   
test_basicTestSubplotMosaic.test_basic  s     ++A.	__&EALLO ' 		!%6{c)n,,,!!!Q'!!"V*-fQi !!"T(+fQi !!"T(+fQi !!"T(+fQi rB   c                   R R.RR..pRR.RR..pVP                  R4       VP                  R4       VP                  W4..4      pVP                  4        F"  pVP                  VP	                  4       4       K$  	  VP                  ^^4      pVR
,          P                  ^^4      p\        V4       FA  w  r\        V
4       F-  w  rVP                  WV3,          4      P                  V4       K/  	  KC  	  VR,          P                  ^^4      p\        V4       FA  w  r\        V
4       F-  w  rVP                  WV3,          4      P                  V4       K/  	  KC  	  R	# )rM  rN  rO  rP  EFGHrL   Nr  r#  )	r  rU  valuesrN   r   r  subgridspecrY   r,   )r
  r  r  r   r   rY  r=   r<   gs_leftjr   r   r_   gs_rights   &&&           r@   test_all_nested!TestSubplotMosaic.test_all_nested  s;   3Z#s$3Z#s$!!-0""=1++aVH5	""$BLL( % !!!Q'T(&&q!,aLDA%aL##GqDM2<<UC ) ! d8''1-aLDA%aL##HTN3==eD ) !rB   c                   VP                  R 4       VP                  R 4       RR.RR..pR.V..pVP                  V4      pVP                  4        F  w  rgVP                  V4       K  	  VP	                  ^^4      pVR,          P                  ^^4      p	VP                  V	R,          4      p
V
P                  R4       VP                  V	R	,          4      pVP                  R4       VP                  V	R,          4      pVP                  R4       VP                  V	R
,          4      pVP                  R4       VP                  VR,          4      pVP                  R4       R# )rL   rM  rN  rO  rP  rc  NrS  r  r#  rT  )r  rU  rV  rN   r  rg  r,   )r
  r  r  r   r   rY  r   r=   r<   gs_nr[  r\  r]  r^  axFs   &&&            r@   test_nestedTestSubplotMosaic.test_nested$  s7    	!!-0""=13Z#s$UQCL++A.	__&EALLO ' !!!Q'$x##Aq)!!$t*-c!!$t*-c!!$t*-c!!$t*-c!!"T(+crB   c                n    . RO. RO.pRpVP                  R.V..4       VP                  R.V..4       R# )rM  rc  NrM  rN  rN  rO  rO  rP  )rs  rt  )rU  )r
  r  r  r   xts   &&&  r@   test_nested_tuple#TestSubplotMosaic.test_nested_tupleF  s=    o./s|,#.rB   c                   R R.R....p^^.p\         P                  ! WR7      w  r4VR ,          P                  4       P                  4       V8X  g   Q hVR,          P                  4       P                  4       V8w  g   Q hR# )rM  rN  rO  )rF   N)r)   rU  get_gridspecget_width_ratios)r
  r   rF   r;   axds   &    r@   test_nested_width_ratios*TestSubplotMosaic.test_nested_width_ratiosN  s    SEE  1v%%aC3x$$&779\III3x$$&779\IIIrB   c                   R R.R...RR..p^^.p\         P                  ! WR7      w  r4VR,          P                  4       P                  4       V8X  g   Q hVR,          P                  4       P                  4       V8w  g   Q hR# )rM  rN  rO  rP  height_ratiosN)r)   rU  ry  get_height_ratios)r
  r   r  r;   r{  s   &    r@   test_nested_height_ratios+TestSubplotMosaic.test_nested_height_ratiosX  s    SEE !3Z)A%%aE3x$$&88:mKKK3x$$&88:mKKKrB   zx, empty_sentinelN.SKIPc                   VR 8w  d   RV/pM/ pVP                   ! V3/ VB pVP                  4        F  w  rxVP                  V4       K  	  \        V U	U
u0 uF  q F  qkK  	  K  	  up
p	VR0,
          4      p\	        V4      \	        V4      8X  g   Q hVP                  ^^4      pVP                  VR,          4      pVP                  V^ ,          4       VP                  VR,          4      pVP                  V^,          4       R# u up
p	i )r  empty_sentinelr  Nr  rT  )rU  rV  rN   rW  r.  r  r,   )r
  r  r  r   r  r  rY  r   r=   rownamerZ  r<   r[  r\  s   &&&&&          r@   
test_emptyTestSubplotMosaic.test_emptyb  s     V#&7FF++A88	__&EALLO ' /Qc34T3TQ/>32GG
 6{c)n,,,!!!Q'!!"T(+fQi !!"T(+fQi  0s   D
c                   \         P                  ! \        R R7      ;_uu_ 4        \        P                  ! RR.4       RRR4       \         P                  ! \        R R7      ;_uu_ 4        \        P                  ! R.4       RRR4       \         P                  ! \        R R7      ;_uu_ 4        \        P                  ! RR..4       RRR4       \         P                  ! \        R R7      ;_uu_ 4        \        P                  ! RR.R	R..4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)
z
must be 2Dr   foobarNr  r   c)r  )r  r   )rx   ry   rz   r)   rU  r
  s   &r@   test_fail_list_of_str'TestSubplotMosaic.test_fail_list_of_str  s    ]]:\::u~. ;]]:\::w' ;]]:\:: 123 ;]]:\::c
Z,=>? ;: ;::::::::s/   D*D..E4ED+	.D>	E	E%	
subplot_kwr   r   c                    ^^..pVP                  WCR7      pT;'       g    / pVP                  ^^4      pVP                  ! VR,          3/ VB pVP                  ! VR,          3/ VB pR# )rU   )r  Nr  r#  )rU  r  r,   )	r
  r  r  r  r   rY  r<   r[  r\  s	   &&&&     r@   test_subplot_kw!TestSubplotMosaic.test_subplot_kw  ss     VH++A+E	%%2
!!!Q'!!"T(9j9!!"T(9j9rB   multi_valueBCc           	         R pVP                  VRR/RRR/VRR//R7      pVP                  ^^4      p\        . R	OV4       F  w  rxVP                  WR7       K  	  R# )
zAB;CDr   r   rP  bluegreen)r  per_subplot_kwr   N)r   r  r  r  )rU  r  r  r,   )	r
  r  r  r  r   rY  r<   r   specs	   &&&&     r@   test_per_subplot_kw%TestSubplotMosaic.test_per_subplot_kw  s|     ++#U+k6*k73 , 
	 !!!Q'@"EKE6 FrB   c                "   \         P                  pV! R 4      . RO.8X  g   Q hV! R4      RR.RR..8X  g   Q hV! R4      RR.RR.RR..8X  g   Q hV! R4      . RO.8X  g   Q hV! R	4      RR.RR..8X  g   Q hV! R
4      RR.RR.RR..8X  g   Q hR# )ABCrM  rN  rO  zAB;CCzAB;CC;DErP  rb  z7
                         ABC
                         zR
                         AB
                         CC
                         zn
                         AB
                         CC
                         DE
                         N)rM  rN  rO  )r   _normalize_grid_stringr
  	normalizes   & r@   test_string_parser$TestSubplotMosaic.test_string_parser  s    11	O#4444!sCj3*%====$#sc3Z#s(LLLL  "1!23 	3 3    $'*sCj!9: 	: :    $'*sCj3*!E	F 	F FrB   c                   \         P                  pV! R / R/ /4      R / R/ /8X  g   Q hV! R/ /4      R / R/ /8X  g   Q h\        P                  ! \        RR: R2R7      ;_uu_ 4        V! R/ R/ /4       RRR4       \        P                  ! \        RR: R2R7      ;_uu_ 4        V! R/ R/ /4       RRR4       R#   + '       g   i     LP; i  + '       g   i     R# ; i)rM  rN  zThe key z appears multiple timesr   N)rM  rN  )r   _norm_per_subplot_kwrx   ry   rz   r  s   & r@   test_per_subplot_kw_expander.TestSubplotMosaic.test_per_subplot_kw_expander  s    //	#r3+,b#r0BBBB*b)*sBR.@@@@]]HSG3J"K
 
 z2sB/0
 ]]HSG3J"K
 
 sB
B/0
 
	
 

 
 
s   &B;$C;C	C	c                    \         P                  ! \        R \        R4      : R2R7      ;_uu_ 4        \	        4       P                  RR/ /R7       RRR4       R#   + '       g   i     R# ; i)z	The keys rN  z are inr   rM  )r  N)rx   ry   rz   r  r   rU  r  s   &r@   test_extra_per_subplot_kw+TestSubplotMosaic.test_extra_per_subplot_kw  sU    ]]Ic#h\"A
 
 H##Cb	#B
 
 
 
s   AA,	str_patternc                    VP                  V4      pTP                  VP                  4       P                  R 4       Uu. uF  p\        V4      NK  	  up4      pR# u upi )
N)rU  stripsplitlist)r
  r  r  r  rY  lns   &&&&  r@   test_single_str_input'TestSubplotMosaic.test_single_str_input  sS    
 ++K8	** + 1 1 3 9 9$ ?@ ?"T"X ?@
	@s   Azx,matchz4There are duplicate keys .* between the outer layout'All of the rows must be the same lengthrb  c                    \         P                  ! 4       p\        P                  ! \        VR 7      ;_uu_ 4        VP                  V4       RRR4       R#   + '       g   i     R# ; i)r   N)r)   r*   rx   ry   rz   rU  )r
  r   r   r;   s   &&& r@   	test_failTestSubplotMosaic.test_fail  s=    , jjl]]:U33q! 4333s   AA'	c                v    VP                  \        4       \        4       ..4       VP                  R R..4       R# )rM  rN  N)rU  object)r
  r  r  s   &&&r@   test_hashable_keys$TestSubplotMosaic.test_hashable_keys  s0    &(FH!5 67c
|,rB   c                    \         P                  ! 4       pVP                  V4      p\        V4      \        V4      8X  g   Q h\        VP                  4      \        VP                  4       4      8X  g   Q hR # r  r)   r*   rU  r  r   rf  )r
  r  r;   ax_dicts   &&  r@   test_user_order!TestSubplotMosaic.test_user_order  sX     jjl$$[1K DM111CHH~gnn&6!7777rB   c                   R RR.RR...RR.RRR	.R......p\         P                  ! 4       pVP                  V4      p\        V4      \        R
4      8X  g   Q h\        VP                  4      \        VP                  4       4      8X  g   Q hR# )rM  rN  rO  rP  rb  rc  rd  r  re  I	ABCDEFGHINr  r
  r   r;   r  s   &   r@   test_nested_user_order(TestSubplotMosaic.test_nested_user_order  s    C::  #JC3%%! " # $	
 jjl$$V,G}[ 1111CHH~gnn&6!7777rB   c                l   R RR.RR...RR.RRR	.R......p\         P                  ! 4       pVP                  VR
R
R7      pVR ,          P                  RRR7       \        ;QJ d*    R VP                  4        4       F  '       d   K   RM	  R
M! R VP                  4        4       4      '       g   Q hR# )rM  rN  rO  rP  rb  rc  rd  r  re  r  T)ri  rj  rl  logit)xscaleyscalec              3   ~   "   T F3  pVP                  4       R 8H  ;'       d    VP                  4       R8H  x  K5  	  R# 5i)rl  r  N)
get_xscale
get_yscale)r  r=   s   & r@   r  3TestSubplotMosaic.test_share_all.<locals>.<genexpr>  s8      /-r ==?e+JJ70JJ-s   ==FN)r)   r*   rU  r  rm   rf  r  s   &   r@   test_share_all TestSubplotMosaic.test_share_all  s    C::  #JC3%%! " # $	
 jjl$$VD$Fg6s /$^^-/sss /$^^-/ / / 	/ /rB   r   rM  rM  rN  rO  rP  rN  rU   rU   r&   rq   rr   r&   )r  r  )r  r  )zAAA
BBBz	
AAA
BBB
zABC
DEFzS(?m)we found that the label .A. specifies a non-rectangular or non-contiguous area.)z	AAA
c
BBBr  )abccabbcacbaacbbac)r  r  r  r  r	   rx   markparametrizer_  rk  rp  rv  r|  r  r  r  r  tupler  r  r  r  r  r  r  r  r  r  r  r  r  s   @r@   rL  rL    s&    UG,[[o.	"."	
! -!. UG,E -E, UG, -B UG,/ -/JL UG,[[DkD#;'.Cj3*%v.AhC!1%$i$#T*#ha!6*!fq!fq!	

!
 -!.@ UG,[[\Bw0G+NO: P -: UG,[[]T5;,?@7 A -7F&1C UG,[[]E
 -
 [[ sc3Z(@ sdc3Z#s$<=>F Gc
SE*+c3Z89	
*"+*"
 UG,- -- [[]GI8I88/ /rB   rL  c                    \         P                  ! 4       p V P                  ^^R4      pV P                  ^^^4      p\         P                  ! RR^V R7      pVP	                  4       P                  4       pVP	                  4       P                  4       pVP	                  4       P                  4       pWE8X  g   Q hWF8X  g   Q hR# )z)Test that these all use the same gridspec)r=  r;   Nr:  )rq   r&   )r&   rU   )r)   r*   r,   subplot2gridr;  ry  )r;   r   r   r  r  gs2gs3s          r@   test_reused_gridspecr  !  s    
**,C
//!Q
'C
//!Q
"C


661#
>C




,
,
.C




,
,
.C




,
,
.C::::rB   ztest_subfigure.png)rD   r   c                     \         P                  P                  R 4       \        P                  ! RR7      p V P                  ^^4      pV^ ,          P                  ^^4      pVP                   F5  pVP                  \         P                  P                  ^^4      R^R7      pK7  	  V^ ,          P                  XVR7       V^ ,          P                  R4       V^ ,          P                  R4       V^,          P                  ^^4      pVP                   F5  pVP                  \         P                  P                  ^^4      R^R7      pK7  	  V^,          P                  WBRR7       V^,          P                  R	4       V^,          P                  R4       V P                  R
RR7       T P                  \        ^4       Uu. uF-  p\        P                  ! ^ .^ .RP!                  V4      R7      NK/  	  upRR7      pV^ ,          P#                  VP%                  4       ^,
          4       V^,          P#                  VP%                  4       ^,           4       R# u upi )!N,rL   r   vminvmaxrX   	Left Sider   bottom)r=   locationz
Right SideFigure suptitlexx-largefontsizezLine{}r_   rI   )handlesrH   N)r.   rd   seedr)   r*   r   rM   rZ   rc   re   rf   r   r   r   r1   r  rz  
set_zorder
get_zorder)r;   subrP   r=   rj   r>   legs          r@   test_subfigurer  0  s    IINN8
**M
*C
..A
C
a&//!Q
Chh]]299??2r2!]D FOOB3OFOOK F!
a&//!Q
Chh]]299??2r2!]D FOOBO2FOOL!F!LL"ZL8 **#Ah(& "jj!qc9KL&(-5  7CFcnn&*+Fcnn&*+(s   3Ic                      \         P                  ! R R7      p V P                  ^^4      p\        P                  P                  V P                  V P                  P                  4       4      P                  R4       R# )rL   r   g       @N)
r)   r*   r   r.   ra   rb   r  rZ  r  r]  )r;   r  s     r@   test_subfigure_tightbboxr  N  sV    
**M
*C
..A
CJJcjj5578>>rB   c                     \         P                  ! ^dR7      p V P                  4       pVP                  4       V P                  4       8X  g   Q hVP	                  ^4       VP                  4       ^8X  g   Q hV P                  4       ^8X  g   Q hR# )r  r^  N)r)   r*   r   get_dpiset_dpir;   sub_figs     r@   test_subfigure_dpir  X  sl    
**
CnnG??---OOC??###;;=CrB   ztest_subfigure_ss.png{Gz?)rD   r   r   c                     \         P                  P                  R 4       \        P                  ! RR7      p V P                  ^^4      pV P                  V^ ,          RR7      pVP                  ^^4      pVP                   F5  pVP                  \         P                  P                  ^^4      R^R7      pK7  	  VP                  XVR7       VP                  R4       V P                  V^,          4      pVP                  \         P                  ! ^4      4       VP!                  R4       V P                  R	R
R7       R# )r  rL   r   pinkr  r  rX   r  r
   r  r  r  Nr  )r.   rd   r  r)   r*   r  r  rM   rZ   rc   re   rf   r   r,   r-   r/   rN   )r;   r<   r  rP   r=   rj   s         r@   test_subfigure_ssr  b  s     IINN8
**M
*C			!Q	B


BqEV

4C
,,q!
Chh]]299??2r2!]D LLLLL	A	BGGBIIbMLLLL"ZL8rB   ztest_subfigure_double.pngc                     \         P                  P                  R 4       \        P                  ! RRR7      p V P                  R4       V P                  ^^RR7      pV^ ,          P                  R4       V^ ,          P                  R4       V^,          P                  R4       V^,          P                  R4       V^ ,          P                  ^^^R	.R
7      pV^ ,          P                  R4       V^ ,          P                  R4       V^ ,          P                  ^^RR7      pV Fp  p^pVP                  \         P                  P                  ^^4      RRR7      pVP                  RVR7       VP                  RVR7       VP                  RVR7       Kr  	  V^ ,          P                  XVR7       V^,          P                  R4       V^,          P                  R4       V^,          P                  ^^RR7      p\        V4       F  w  rVP                  RV 24       K  	  V^,          P!                  R4       V^,          P#                  R4       V^,          P                  ^^4      p	R# )r  rL   )r   r   r;   gQ?)r  coralz
subfigs[0]z
subfigs[1]gffffff?r  zsubfigsnest[0]r   Trj  g      @r  zx-labelr  zy-labelTitlerX   zsubfigsnest[1]r   r  ylabelr   r   N)rm     g      )r.   rd   r  r)   r*   r   r   r   rM   rc   re   r2   r0   rN   rf   rY   r   r   )
r;   r  subfigsnestaxsnest0r=   r  rj   axsnest1rg   axsRights
             r@   test_subfigure_doubler  y  s    IINN8
**M7
;CLLnnQ$n/GAJW%AJ%AJW%AJ%!*''1QH'EKN,-N  %1~&&q!D&9H]]299??2r2C]H
i(3
i(3
Wx0  NB8,N,-N  %1~&&q!D&9HH%
rdm$ &N[)N[)qz""1a(HrB   c                     \         P                  ! R R7      p V P                  ^^4      pV P                  VR,          4      V P                  VR,          4      V P                  VR,          4      V P                  VR	,          4      .pRpRp\        P
                  P                  V^ ,          P                  P                  RV^,          ^,          .4       \        P
                  P                  V^ ,          P                  P                  V^,          V.4       \        P
                  P                  V^,          P                  P                  V^,          V^,          .4       \        P
                  P                  V^,          P                  P                  V^,          ^,          V.4       \        P
                  P                  V^,          P                  P                  V^,          ^ .4       \        P
                  P                  V^,          P                  P                  W4^,          .4       \        ^4       F  pW%,          P                  4        K  	  V P                  4        R# )
TrV       r   Nr  ):r   r&   NrU   )r&   rU   rq   N):r   NN:rU   NN)r)   r*   r  r  r.   ra   rb   r4  minmaxr1   r,   r]   )r;   r<   sub_figsr5  r6  r>   s         r@   test_subfigure_spanningr    s   
**
-C			!Q	B"T(#"V*%"V*%"V*%	H 	AAJJx{//33b!a%']CJJx{//33a!eQZ@JJx{//33a!eQU^DJJx{//33a!eAgq\BJJx{//33a!eQZ@JJx{//33aQZ@ 1X!  rB   c                  \   \         P                  ! R RR7      p V P                  ^^R^^.R7      w  rVP                  ^^R7      pVP	                  VR,          4      pVP                  RR.RR.R7       VP	                  VR,          VR	7      pVP                  RR
.RR.R7       VP	                  VR,          VR	7      p^xV n        V P                  4        VP                  4       pRV n        V P                  4        VP                  4       p\        P                  P                  Wx4       R# )T)rW   r   r   )r  rF   )r  r  gkX.8@i  i  )r   r   r  gRϫW@i,  N)rm  rq   )r   rR  g!<L)r   r  g YI_)r   :rq      N)r)   r*   r   r  r,   r2  r^  r]   
get_xticksr.   ra   rb   )	r;   	subfig_bl	subfig_brr<   r   r   r  ticks120ticks300s	            r@   test_subfigure_ticksr#    s    **g
>C ^^Aq:;Q , AY 
		ar		2B


5	
*CKK%'9:tTlKK


6
3

7CKK%'89dD\KJ


7C

8CCG ~~HCG ~~HJJx2rB   ztest_subfigure_scatter_size.png)rD   rB  c            	         \         P                  ! 4       p V P                  ^^4      pV P                  V^,          4      pVP	                  . RO. RO^RR7       VP	                  . RO. RO. R	ORR7       V P                  V^ ,          4      pVP                  ^^4      pW$^ ,          3 F9  pVP	                  . RO. RO^RRR7       VP	                  . RO. RO. R	ORRR7       K;  	  R# )
rU   s)r%  markerr   )r%  r&  r   r   Nr  )rq   rr   rs   )rn  ro  (   )r)   r*   r  r,   r2  r  rM   )r;   r<   r   r  rP   r=   s         r@   test_subfigure_scatter_sizer(    s     **,C			!Q	B
//"Q%
 CKK	93K7KK	9SKARU#D
--1
CFm


9i2c
E


9i<3
O rB   c                     \         P                  ! R R7      p V P                  4       pVP                  ^o4      pVP	                  ^^4      pVP                  V4       \        P                  ! 4       pV P                  VRR7       R# )rL   r   r|  r  N)	r)   r*   r   r,   r  	bar_labelr  r  rv  )r;   r  r=   r   buffers        r@   test_subfigure_pdfr,    sa    
**M
*CnnG			S	!B
q!ALLOZZ\FKKuK%rB   c                     \         P                  ! 4       P                  ^^RRR7      p RpRp\        P                  P                  V R,          P                  P                  RVR,          .4       \        P                  P                  V R,          P                  P                  VR,          V.4       \        P                  P                  V R,          P                  P                  VR,          VR,          .4       \        P                  P                  V R,          P                  P                  VR	,          V.4       \        P                  P                  V R,          P                  P                  VR
,          VR,          .4       \        P                  P                  V R,          P                  P                  W.4       \        P                  P                  V R,          P                  P                  ^ ^ .4       \        P                  P                  V R,          P                  P                  VR,          VR,          .4       \        P                  P                  V R,          P                  P                  VR,          ^ .4       \        P                  P                  V R,          P                  P                  VR	,          VR,          .4       \        P                  P                  V R,          P                  P                  VR
,          ^ .4       \        P                  P                  V R,          P                  P                  WR,          .4       R# )r&   r   )hspacer  r  r  r   r   r  gffffff?g?r  r   NgUUUUUU?r  r#  r(   rS  rT  r2  )	r)   r*   r   r.   ra   rb   r4  r  r  )r  r5  r6  s      r@   test_subfigures_wspace_hspacer/    sC   zz|&&q!C&EHAAJJx~2266QWFJJx~2266S!EJJx~2266T1s78KLJJx~2266T1FJJx~2266S!c'8JKJJx~2266?JJx~2266A?JJx~2266S!c'8JKJJx~2266T1FJJx~2266T1s78KLJJx~2266S!EJJx~2266GErB   c                      \         P                  ! 4       p V P                  ^^4      pVR,          P                  4        \	        V P
                  4      ^8X  g   Q hR# )r&   NrT  )r)   r*   r   r,  r.  r  )r;   sfss     r@   test_subfigure_remover2    sD    
**,C
..A
CIs{{q   rB   c                  f   \         P                  ! 4       p V P                  ^^^4      pV P                  ^^^4      pVf   Q hW!Jg   Q h\         P                  ! 4        \         P                  ! 4       p V P                  ^^^RR7      pV P                  ^^^RR7      pVf   Q hW!Jg   Q h\         P                  ! 4        \         P                  ! 4       p V P                  ^^^RR7      pV P                  ^^^4      pVf   Q hVP                  R8X  g   Q hW!Jg   Q h\         P                  ! 4        R# )rU   Nr   r   rectilinear)r)   r*   r,   rt   r  r;   r=   r   s      r@   test_add_subplot_kwargsr6    s   
**,C	Aq	!B
//!Q
"C>>==IIK
**,C	AqW	5B
//!Qg/
6C>>==IIK
**,C	AqW	5B
//!Q
"C>>88}$$$==IIKrB   c                  f   \         P                  ! 4       p V P                  . RO4      pV P                  . RO4      pVf   Q hW!Jg   Q h\         P                  ! 4        \         P                  ! 4       p V P                  . RORR7      pV P                  . RORR7      pVf   Q hW!Jg   Q h\         P                  ! 4        \         P                  ! 4       p V P                  . RORR7      pV P                  . RO4      pVf   Q hVP                  R8X  g   Q hW!Jg   Q h\         P                  ! 4        R# )r   Nr   r   r4  r   )r)   r*   r   rt   r  r5  s      r@   test_add_axes_kwargsr8  /  s    
**,C	l	#B
,,|
$C>>==IIK
**,C	lw	7B
,,|,
8C>>==IIK
**,C	lw	7B
,,|
$C>>88}$$$==IIKrB   c                   aa \         P                  ! R R4       \        P                  ! 4       w  opVP                  P
                  oVV3R lp\        RV4      P                  4        SP                  4       R.8X  g   Q hVV3R lp\        RV4      P                  4        \        P                  P                  SP                  ^4      RR.4       R# )	r;  cannot show the figurec                  d   < \        R S P                  .S! R4      O^N5!  P                  4        R# )button_press_eventNrc  r<  )r   rZ  _processr;   transs   r@   single_press!test_ginput.<locals>.single_pressM  s)    'IeHoIqIRRTrB   rc  c                    < \        R S P                  .S! R4      O^N5!  P                  4        \        RS P                  R4      P                  4        \        R S P                  .S! R4      O^N5!  P                  4        \        R S P                  .S! R4      O^N5!  P                  4        \        R S P                  .S! R4      O^N5!  P                  4        R# )r<  key_press_event	backspaceNr=  r  r   r   r   r  )r   rZ  r>  r   r?  s   r@   multi_presses"test_ginput.<locals>.multi_pressesS  s    'IeHoIqIRRT"CJJ<EEG'IeHoIqIRRT'IeHoIqIRRT'GeFmGQGPPRrB   Nr=  rF  rG  )rG  rI  r)   rM   	transDatar  r   startginputr.   ra   rb   )recwarnr=   rA  rH  r;   r@  s   &   @@r@   test_ginputrN  H  s    H&>?llnGCLL""EU 
"l!!#::<H:%%%S 
"m""$JJszz!}x.BCrB   c           
         \         P                  ! R R4       \        P                  ! 4       pVP	                  RR7      e   Q h\        R\        RVP                  R4      P                  4      P                  4        VP	                  4       RJ g   Q h\        R\        RVP                  ^ ^ ^4      P                  4      P                  4        VP	                  4       R	J g   Q hR# )
r;  r:  rc  )timeoutNrD  r   Tr<  F)rG  rI  r)   r*   waitforbuttonpressr   r   rZ  r>  rK  r   )rM  r;   s   & r@   test_waitforbuttonpressrR  ^  s    H&>?
**,C!!"!-555	"h(#**c:CCDJJL!!#t+++	"j-szz1aCLLMSSU!!#u,,,rB   c                      \        R R7      p V P                  ^^RR7      pV P                  4       R 8X  g   Q hVP                  4       R8X  g   Q hR# )zwhole Figurer  z
sub figureN)r   r   r   r  s     r@   test_kwargs_passrT  h  sK    
~
&CnnQn6G==?n,,,,...rB   c           
      j   VP                  R R^R7       VP                  RR^R7       VP                  RR^R7       \        P                  ! RRR^RRR	^/4      ;_uu_ 4        V P                  R 4       V P                  R4       V P                  R4       R
R
R
4       R
#   + '       g   i     R
# ; i)xlabelr   )r   r   r  r  lightzfigure.labelweightzfigure.labelsizezfigure.titleweightzfigure.titlesizeN)r   r   r   r   r  )r  r  s   &&r@   test_rcparamsrX  p  s    hvB7hvB7WW26	-v+R-w+R1 
2 
2 	8$8$'"
2 
2 
2 
2s   #4B!!B2	c                     \         P                  ! 4       w  rVP                  ^ ^.^^.4       VP                  R4       \        P
                  ! V 4      pVP                  ^ ,          VJg   Q hVP                  ^ ,          P                  4       R8X  g   Q hVP                  ^ ,          P                  R4       VP                  4       R8X  g   Q hVP                  RR4       V P                  4        VP                  4        VP                  4       R8X  g   Q hVP                  ^ ,          P                  4       R8X  g   Q hR# )r   rl  linearrc        Y@N)rc  r[  r#  )r)   rM   r-   rq  copydeepcopyr   r  r  r]   get_xlim)r   r=   r   s      r@   test_deepcopyr_  ~  s    ||~HDGGQFQFMM%==D 99Q<r!!!99Q<""$---IIaLH%==?e### KKc!!;;=K'''99Q<  "f,,,rB   c                      \        ^*R7      p V P                  P                  ^4       V P                  R8X  g   Q h\        P
                  ! \        P                  ! V 4      4      pVP                  ^*8X  g   Q hR# )*   r  Ni&  )r   rZ  r  r^  pickleloadsdumps)r;   r   s     r@   %test_unpickle_with_device_pixel_ratiore    sT    
R.CJJ&&q)77d??<<S)*D88r>>rB   c                      R R/p \        V 4      p\        P                  ! ^^^^.V R7       W8X  g   Q h\        P                  ! R^^.V R7       R# )rG   rc  )rF   gridspec_kwABN)dictr)   rM   rU  )r<   gs_origs     r@   test_gridspec_no_mutate_inputrk    sJ    
"B2hGLLAQF;==t1a&bArB   c                 d    \        4       P                  \        P                  ! 4       V / R 7       R# )rz  metadataN)r   rv  r  r  r  s   &r@   test_savefig_metadatarp    s    
HRZZ\#;rB   c                     \         P                  ! \        R R7      ;_uu_ 4        \        4       P	                  \
        P                  ! 4       V / R7       RRR4       R#   + '       g   i     R# ; i)zmetadata not supportedr   rm  N)rx   ry   rz   r   rv  r  r  ro  s   &r@   test_savefig_metadata_errorrr    sA    	z)A	B	BcB? 
C	B	B	Bs   0AA0	c                  l   R RRRRRRR/p \        . V P                  4       O4      p\        P                  ! \        P
                  P                  ! R/ V B R7      p\        P                  ! \        R	R
7      ;_uu_ 4        VP                  4       V8X  g   Q h RRR4       R#   + '       g   i     R# ; i)r  r   h_padr  r  gQ?r.  g{Gz?r   zwill be deprecatedr   Nr   )r  rf  r)   r*   r   layout_enginer   rx   r   PendingDeprecationWarningget_constrained_layout_pads)paramsexpectedr;   s      r@    test_get_constrained_layout_padsrz    s    tWdHdHdKF'v}}'(H
**C--EEOO
PC	/7K	L	L..0H<<< 
M	L	L	Ls   ?B""B3	c                  |   \        4       p \        P                  ! 4       pV P                  VR R7       VP	                  ^ 4       RVP                  4       9   g   Q hV P                  R4       \        P                  ! 4       pV P                  VR R7       VP	                  ^ 4       RVP                  4       9  g   Q hR# )r   r  z<g FN)r   r  StringIOrv  seekr  r  )r;   r  s     r@   test_not_visible_figurer~    s    
(C
++-CKKEK"HHQKCHHJOOE
++-CKKEK"HHQK
"""rB   c                     \         P                  ! 4       w  r\         P                  ! ^4      w  pw  r4VP                  ^^.^^..4      pV P                  V4       \        P
                  ! \        RR7      ;_uu_ 4        VP                  V4       RRR4       \        P
                  ! \        RR7      ;_uu_ 4        VP                  WQR7       RRR4       \        P
                  ! \        RR7      ;_uu_ 4        VP                  WSR7       RRR4       \        P
                  ! \        RR7      ;_uu_ 4        VP                  WTR7       RRR4       \         P                  ! 4       p\         P                  ! 4       pVP                  4       pVP                  4       p	VP                  4       p
VP                  4       pVP                  4       pV
P                  4       pVP                  ^^.^^..4      pVP                  ^^.^^..4      pVP                  ^^.^^..4      pVP                  V4       VP                  V4       VP                  V4       \        P
                  ! \        RR7      ;_uu_ 4        VP                  V4       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     R# ; i)r&   zdifferent Figurer   NrX   )cax)	r)   rM   rU  rf   rx   r   r  r*   r   )r   r   r   ax2_1ax2_2rV  fig3fig4	subfig3_1	subfig3_2	subfig4_1ax3_1ax3_2ax4_1im3_1im3_2im4_1s                    r@   test_warn_colorbar_mismatchr    s   ID<<?D.5	aVaV$	%BMM"	k);	<	<b 
= 
k);	<	<b! 
=	k);	<	<b# 
=	k);	<	<b$ 
= ::<D::<D!I!I!I E E ELL1a&1a&)*ELL1a&1a&)*ELL1a&1a&)*EMM%uu	k);	<	<5! 
=	<5 
=	<	< 
=	<	<	<	<	<	<	<	<& 
=	<	<s<   ?J=J,<K ;K<K(J)	,J=	 K	K%	(K9	c                     \         P                  ! 4       p V P                  4       pVP                  4       pWV3 FI  p\        P                  ! \
        P                  4      ;_uu_ 4        VP                  V 4       R R R 4       KK  	  \        P                  ! \        RR7      ;_uu_ 4        VP                  V4       R R R 4       \        P                  ! \        RR7      ;_uu_ 4        VP                  \         P                  ! 4       4       R R R 4       R #   + '       g   i     K  ; i  + '       g   i     Lw; i  + '       g   i     R # ; i)Nzcannot be changedr   )
r)   r*   r   rx   r   r   r   
set_figurery   rz   )r;   sfig1sfig2fs       r@   test_set_figurer    s    
**,CNNEE\\#::;;LL <;  
z)<	=	= 
> 
z)<	=	=& 
>	= <;; 
>	= 
>	=	=s$   )D+D,)%D?D),D<	?E	c                      \         P                  ! 4       p V P                  ^^4      p\        VP	                  4       V P
                  4       F  w  r#W#J d   K  Q h	  R# )rr   N)r)   r*   r   r  r-  r  )r;   sf_arrr  r   s       r@   test_subfigure_row_orderr    sC    
**,C^^Aq!FFLLNCKK0vv 1rB   c                     \         P                  ! 4       p V P                  4        V P                  '       d   Q hV P	                  4       pV P                  '       g   Q hV P                  4        V P                  '       d   Q hVP                  '       d   Q hVP	                  4       pV P                  '       g   Q hVP                  '       g   Q hV P                  4        V P                  '       d   Q hVP                  '       d   Q hVP                  '       d   Q hR Vn        VP                  '       g   Q hV P                  '       g   Q hR# )TN)r)   r*   r]   r3  r   )r;   r  r  s      r@    test_subfigure_stale_propagationr    s    
**,C yyy=NNE9999 yyy={{{?E9999;;;; yyy={{{?{{{?EK;;;;9999rB   r   )rA  r=  r>  )r'   rU   )r   r|  psepsr   )r   r|  r  r   )r  r|  r   r  r   svgz)jpegr~  r}  tiffwebprawrgba)r\  r   r  rb  platform	threadingr   typesr   rG  numpyr.   rx   PILr   
matplotlibr   r   matplotlib.testing.decoratorsr   r	   matplotlib.axesr
   matplotlib.backend_basesr   r   matplotlib.figurer   r   matplotlib.layout_enginer   r   r   matplotlib.tickerr   r   r   matplotlib.pyplotpyplotr)   matplotlib.datesdatesrB  machinerA   rQ   rk   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r"  r)  r0  r7  r  r  rR  rW  rD   contextr_  re  infra  rg  rt  rx  r  r  paramr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r(  r-  r8  r@  rE  rJ  rL  r  r  r  r  r  r  r  r#  r(  r,  r/  r2  r6  r8  rN  rR  rT  rX  r_  re  rk  rp  rr  rz  r~  r  r  r  r  r   rB   r@   <module>r     s      	    !       O   9 0? ? P O  ! ()uen#++-9atE$E$N 28:#++-9au!	!, 2F0-$ 4& %&#++-9auFF &'( )8
')X ()*2 +207
. %& $U^!,k!,f!6	7:7::$, "<=$6 >$6N( 9, , KVVQK+ 
+
+@4>*0N/ 
LLv{{2259:;
LL!4!4W!= >?% 	&-9 &-.(( ) /(*<
(1-h (L )L M<#@A B / 08  BC= D=&2'$ '78N 9Nb+ 7
 
&$ -.g!.!,f!6"$"	$"  <=* >*r/ r/j	 '(!,f 57,7,8  *+7!,f 54A9A9* ./w!,f 57$)7$)N!: 73 36 45W#%P%P&F2!22D,-/ (
# )
#-2B  JK< L<  UV@ W@
=#!"H' rB   