+
     ]i  c            
       sN	   ^ 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ScalarFormatterZfigure_align_labelspngsvgZx86_64{Gz?)
extensionstolc                  sl   \         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   ZGridSpecadd_subplotplotnparange
set_ylabelrange
set_xlabelxaxisset_label_positiontick_topget_xticklabelsset_rotationyaxisZ
tick_rightZalign_labels)figgsaxitick        C/usr/lib64/python3.14/site-packages/matplotlib/tests/test_figure.pytest_align_labelsr:      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+?Zmpl20)r   stylec                  s   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   ZTitle1ZXlabel0r   N)r   constrained)r$   subplotsr'   r(   r)   	set_titler,   r-   r.   r/   r0   r1   Zalign_titles)r   r3   axsr5   r7   r8   r9   test_align_titlesrE   E   s   
 +<<1V1a&IV
		!S$'(
]/
_(3
^1V
		!S#&'
X
i 
##E*
&&(Db! ) 	% +r;   c                  sB   \         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!   ZBooZWhor    :r!   NN:NNr!   :   Nr!   Tconstrained_layoutr5   N)r$   rB   	enumerateflatr,   r'   r(   r)   Zalign_ylabelsZalign_xlabelsdraw_without_renderingzerosr-   labelget_positionr2   testingassert_allclose
pcolormeshrandomrandncolorbar)r3   rD   nnr5   ZxnZynpc          r9   test_align_labels_stray_axesrY   _   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1r;   c                  s    \         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    rF            )r]   r[   r]   r\   r]   )
r$   closer%   Zget_fignumsZget_figlabelsZgcfpytestraises
ValueErrorr   )Z	fig_today    r9   test_figure_labelrf      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                  s&   \         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)rZ   &Changing 'Figure.number' is deprecatedmatchN)r$   ra   r%   rb   warnsmplMatplotlibDeprecationWarningnumberr3   re   r9   test_figure_label_replacedro      se    IIe
**Q-C	c66D
F 
F

F ::??
F 
Fs   B  B	c                  s   \        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)Nrg   rh   )
r   rb   rc   ZAttributeErrorrm   rj   rk   rl   r$   fignum_existsrn   re   r9   test_figure_no_labelrq      s    
(C	~	&	&

 
' 
c66D
F 
F

F ::??  ,,,,, 
'	&
F 
Fs   B=0C=C	C 	c                  st   \         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# )ZoneZthreeN)r$   r%   rp   ra    r;   r9   test_fignum_existsrs      s    JJuJJqMJJwJJLU####QW%%%%QIIeIIaL  ''''  #####r;   c                  sJ   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)rt   clear      ?TN)r$   r%   suptitleZtextsZget_texttextrB   )Ztext1Ztext2Zfig0tfig1fig2ax2rX   r9   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                  s   \         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# )r[   r\   rN)	r$   r%   r&   rC   	get_labelr'   r(   r)   ra   r3   r5        r9   test_figurer      s     **W
C		BLL!GGBIIaLJJzHHaVaVS!JJwIIjr;   zfigure_legend.pngc                  s   \         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)rN   coloryr~   rv   kZ_yzbN)r$   rB   r'   legendr3   rD   r   r9   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JJLr;   c                  s   \         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    rF   rF   )r$   r%   add_axesZgcar&   axesZsca)r3   ax0ax1      r9   test_gcar      s    
**,C ,,|
$C779 //#
C779 LL88z!!!779 GGCL88z!!! OOC88z!!!779r;   c                  s   \         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   rb   rc   rd   	TypeErrorrn   re   r9   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                  s2   \         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 integerrh   Nz)Number of rows must be a positive integerz)num must be an integer with 1 <= num <= 4rv   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'Z2z5Number of columns must be a positive integer, not 2.0g       @5The Axes must have been created in the present figure)r$   r%   rb   rc   rd   r&   r   rB   )r3   _r5   r   r9   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                  s    \         P                  ! 4       w  rV P                  R RR7       V P                  RR^R7       R# )Zhellor~   )r   Ztitler   )r   ZrotationN)r$   rB   rw   )r3   r   r   r9   test_suptitler   E  s1    \\^FCLLL$LLbL1r;   c                  s0   \         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# )Zlargebold)sizeweightzfontprops title)ZfontpropertiesN)	r$   rB   rk   Zfont_managerZFontPropertiesrw   Zget_fontsizeZget_size_in_pointsZ
get_weight)r3   r5   ZfpsZtxt       r9   test_suptitle_fontpropertiesr   L  sy    llnGC



)
)wv
)
FC
,,(,
=C!7!7!9999>>s~~////r;   c                  s<   \         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# )r_   figsizewhitezThis is a visible suptitle.N)r_   r^   )        r   r   r   )      ?r   r   r   )r$   r%   
subfiguresset_facecolorrB   rw   Zget_facecolor)r3   Zsf1Zsf2r   r9   test_suptitle_subfiguresr   T  s    
**V
$C~~a#HCgLLNLLNLL./ "6666"6666r;   c                  s   \         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# )r]   rw   	supxlabel	supylabelN)r$   rB   Zget_suptitleZget_supxlabelZget_supylabelrw   r   r   r   r   r9   %test_get_suptitle_supxlabel_supylabelr   b  s    llnGC###"$$$"$$$LL+++MM++---MM++---r;   Zalpha_background	facecolorZ	edgecolornone)r   savefig_kwargc            	      s   \         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)ZradiusZalphar   Nr    rF   r   )	r$   r%   r   ZpatchZ	set_alphaZpatchesZappendrk   ZCirclePolygonrn   re   r9   
test_alphar   o  sk     **aV
$Ck"IIKKs{{00	R3% 1 9 :r;   c                  s
   \         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)rb   rj   ZRuntimeWarningr+   rk   ZrcParamsr$   r%   )r6   re   r9   test_too_many_figuresr   ~  sH    	n	%	%s||$=>BCAJJL D 
&	%	%	%s   AA11B	c                  s   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                   s.   a  ] tR tRt o RR/R ltRtV tR# ).test_iterability_axes_argument.<locals>.MyAxesi  myclassNc               s:    \         P                  ! V .VO5/ VB  R # N)r   __init__)selfr   Zargskwargss   &$*,r9   r   Z7test_iterability_axes_argument.<locals>.MyAxes.__init__  s    MM$000r;   rr   )__name__
__module____qualname____firstlineno__r   __static_attributes____classdictcell____classdict__   @r9   MyAxesr     s     	1$ 	1 	1r;   r   c                   s4   <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                s*    VR 8w  d   \        R4      hR# )azitem should be aN)rd   )r   Zitem   &&r9   __getitem__Z;test_iterability_axes_argument.<locals>.MyClass.__getitem__  s    s{ !344 r;   c                s   < SR V /3# )r   rr   )r   r   s   &r9   _as_mpl_axesZ<test_iterability_axes_argument.<locals>.MyClass._as_mpl_axes  s    It,,,r;   rr   N)r   r   r   r   r   r   r   r   )r   r   s   @r9   MyClassr     s     	5	- 	-r;   r   r   N)r   r$   r%   r&   ra   )r   r3   r   s     @r9   test_iterability_axes_argumentr     sG    1 1- - **,COOAq!	O2IIcNr;   c                  s   \         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# )r`   N)rF   r^   )r$   r%   Zset_figwidthZget_figwidthZset_figheightZget_figheightset_size_inchesrn   re   r9   test_set_fig_sizer     s    
**,C Q""" a!### 1"""!### """!###r;   c                  s*   \         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$   rB   removeravelr   lenr3   rD   r5   r   r9   test_axes_remover     su    ||Aq!HCKiik#2XX~~ v;chh&&&sxx=Ar;   c                  s   \         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!   rv   NrF   r!   )r!   r!   )r$   Z	figaspectr(   Zfloat64rM   )whr   r9   test_figaspectr     s    ==AA67DA5A::==DA5A::==&)*DA5C<<==&)*DA5A::r;   whichc                 s   . 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)rF   r!   r^   r_   r`      i   )bothr   )r   r   )mdatesZdatestr2numr$   rB   r'   Z
yaxis_dateZ
xaxis_dater-   Zset_minor_locatorr   warningsZcatch_warningsfilterwarningsZset_minor_formatterr   autofmt_xdater   r0   Zintget_rotation)
r   ZdateZtimeZangleZminorsr   r   r3   r5   rN   s
   &         r9   test_autofmt_xdater     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                  s2   \         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# )rA   r   r   r   g      >@N)rF   r_   r   )r!   r^   r`   )r$   rB   imshowrU   r   rL   r0   r   )r3   r5   imrN   r   r9   'test_autofmt_xdate_colorbar_constrainedr     sz    
 ll-0GC	Iy)	*BLL W-a0E4'''r;   Zdefaultc                  s   \         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# )r_   r   i  N)r_   r_   )r$   r%   rL   canvasrendererheightwidthdpirn   re   r9   test_change_dpir     s    
**V
$C ::%%,,,::$$+++CG ::%%,,,::$$+++r;   zwidth, heightc                 s|   \         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)rb   rc   rd   r$   r%   r   )r   r   r3   s   && r9   test_invalid_figure_sizer     sm     
z	"	"

E?+ 
# **,C	z	"	"E* 
#	"	 
#	" 
#	"	"s   B;B*B'	*B;	c                  s   \         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'rh   N皙?rv   z#multiple values for argument 'rect')Zrectr   z)add_axes\(\) takes 1 positional argumentszextra positional argumentr   )r$   r%   rb   rc   r   r   rd   r(   nanrB   Zdelaxes)r3   r{   r5   r   r9   test_invalid_figure_add_axesr     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                  s   \         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shareyZsqueezelogr   r   N)
         )r    NNN)rF   r   )r   rF   )r   r    )
r$   rB   rK   r'   
set_yscaleZ
set_xscaler   r-   Zget_ticklabelsr2   r   r   r9   test_subplots_shareax_loglabelsr   5  s*   ||AqdEJHChh
l+  MM%MM%$iiC//f/=>>>>  $ii3rxx..V.<====  $iiC//f/=>>>>  $ii3rxx..V.<==== r;   c                  s    \         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 givenrh   z
fname1.pngz
fname2.pngN)r$   r%   rb   rc   r   savefig)r3   Zmsgr   r9   test_savefigr  J  s@    
**,C
FC	y	,	,L,/ 
-	,	,	,s   AA*	c            	      s   \         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)formatZnon_existent_kwargN)r   pdfr   tifjpg)r$   r%   rb   rc   r   r   ioBytesIO)r3   r  r   r9   test_savefig_warnsr  Q  sP    
**,C5]]9%%KK

VKM &% 6%%%s   (A33Bc                  s~   \         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'rh   Ztestzmodule://@absent)backendNz-The 'pdf' backend does not support png outputztest.pngr  )r$   r%   rb   rc   ZModuleNotFoundErrorr   rd   rn   re   r9   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	  ZAgg)ZmarksZCairoc                 s   \         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)rF   r   r  NrF   r!   r^   )r$   rB   r'   r  r  r   r   openZloadr   _set_device_pixel_ratio)r	  r3   r5   bufZratio1Zratio2s   &     r9   test_savefig_pixel_ratior  b  s    
 llnGCGGI	C&C 

 llnGCGGIJJ&&q)	C&C 

 V 
 
s   :D9,:E9E		E	c                  s    \         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%   r   r  r  get_layout_engineZ	_compressrn   re   r9   #test_savefig_preserve_layout_enginer  y  sA    
**L
)CKK

'K2  ",,,,,r;   c                  s   \         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!   )Zaspectr  T)ZoriginalFN)r$   rB   rR   r(   rS   rT   rU   r   r  r  rk   Z
transformsZBboxr5   rO   Zbounds)r3   r5   rW   Zcbarr   r9   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 8r;   zsavefig.transparentTr   c                 s.   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# )r^   皙?)r>   wspacer   N)ZxticksZyticksF)r   r   r    r    r"   )r   r   333333?r   r   )add_gridspecadd_subfigurer&   Z
inset_axessetZspinesset_visible)fig_testfig_refgs1Zf1Zf2Zax12r   Ziax1Ziax2r|   ax3r5   s   &&          r9   test_savefig_transparentr$    s    
 

14

=C			D		*B			#d)	$B>>#d)$D
..SbS!V
%C>>*+D??+,D


s2ss7|
,C


s6{
+C$c/
b$
		!  ' 0r;   c                  sZ    \         P                  ! R^
R7      p \        V 4      R8X  g   Q hR# )r   )r   r   z!<Figure size 100x200 with 0 Axes>N)r   r   )r$   r%   Zreprrn   re   r9   test_figure_reprr%    s%    
**X2
.C9;;;;r;   c                  sn   \        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   rA   )r   Zget_tight_layoutZget_constrained_layoutrn   re   r9   test_valid_layoutsr&    s    

C##%%%%))++++

 C!!!!))++++

&C##%%%%%%''''r;   c                  sv	   \         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)rA   r   皙?)r   Nz1The Figure parameters 'layout' and 'tight_layout'rh   r   F)r   tight_layoutz7The Figure parameters 'layout' and 'constrained_layout')r   rH   zInvalid value for 'layout'ZfoobarzColorbar layout of new layoutr   )r$   rB   rb   rj   UserWarningZsubplots_adjust
isinstancer  r   r   r   rc   rd   set_layout_enginerR   r(   rS   rT   rU   ZRuntimeErrorr   )r3   r5   ZwstrW   r   r9   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                 sB   \        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)ziprk   
rc_contextrB   r(  r*  r  r   )r   r!  r3   Z
autolayoutr   s   &&   r9   &test_tightlayout_autolayout_deconflictr1    s~    2UDMB^^0*=>><<a<(D2& ? #//13JKKKK	 C>>s   %BBr   rA   r  c                s    \         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 torh   N)r$   rB   rb   rj   r)  r(  )r   r3   r5   s   &  r9   test_layout_change_warningr2    sB     ll&)GC	k)K	L	L 
M	L	L	Ls   AA/	c                  sz    \        4       p V P                  4        V P                  4        V P                  4        R # r   )r   r(  rn   re   r9   test_repeated_tightlayoutr3    s-    
(Cr;   r  c           
      s:   ^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'  l2NZC1)	transformr7  r  ZC2g?ZcrimsonZC3)r9  r   r7  )r9  r7  zorderF)r9  clip_onr:  r7  )r9  r   r;  r:  r7  )r   r   )r5  rv   )g      @r'  )	r   rB   r$   Line2DZCircleZdpi_scale_transZ
add_artistr   ZtransFigure)	r   r!  r6  r8  Zr1Zr2Zr3r   r|   s	   &&       r9   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 r;   fmtc                 s"   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.ZrbZasciiN)r$   r   r  ZencodereadZlower)r>  Ztmp_pathZoutZfile   &&  r9   test_fspathrA  "  sc    
uSE]
"CKK	$4 zz'"diin&:&:&<<<< 
s   6A==B	c                  s   \         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   rv   zThis dangles over endgR"@r  g|?5^?FgET@T)Zbbox_extra_artistsN)r$   rB   set_xlimrx   r   get_rendererZabsget_tightbboxZx1r   x0Zset_in_layout)r3   r5   ry   r   Zx1Nom0Zx1Nom         r9   test_tightbboxrG  ,  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! "$%& & &r;   c                  s   \         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# )rF   Tr   i  N)r$   rB   r   r'   r   r*  r-   Zget_major_formatterr   ZAutoDateFormatterZset_major_formatterr   r   r   r9   test_axes_removalrI  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%' ' ' 'r;   c                  s    \         P                  ! ^RR7      w  rV^ ,          P                  4        V P                  P	                  4        R# )r!   TrH  N)r$   rB   r   r   drawr   r   r9   test_removed_axisrK  W  s/    ||Ad+HCFMMOJJOOr;   
clear_methru   clfc           	      sP
  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 )
io   )r-  nrowsc              3   @   <"   T F  qSP                   9   x  K  	  R # 5ir   r   .0r5   r3      & r9   	<genexpr>$test_figure_clear.<locals>.<genexpr>       0"SXX~   FTc              3   rO  r   subfigsrR  sfigr3   rS  r9   rT  rU         7wts{{"wrW  c              3   rO  r   rP  rQ  rS  r9   rT  rU    rV  rW  c              3   rO  r   rX  rZ  rS  r9   rT  rU    r\  rW  Nr    rF   )r$   r%   ru   r   r&   Zgetattrr+   r  r  rY  r   rZ   )rL  r5   r6   r   r4   ZsubfigZsubaxesZmainaxesrY  r[  r3   s   &         @r9   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                  sd    \         P                  ! 4        F  p R V P                  9  d   K  Q h	  R# )rM  N)r   Z__subclasses__Z__dict__)Zklassre   r9   test_clf_not_redefinedr_    s'    **,ENN*** -r;   c                  s    \         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)ZpickerN)r   r   ZinaxesZguiEvent)r$   rB   scatterr   rJ  staler   bboxrE  r   Zy0r   Zpick)r3   r5   Zmouse_eventr   r9   test_picking_does_not_stalerc    s    llnGCJJsQC$J-JJOOyyy=!BGGJJ1B$B$&GGJJ!1C$C)+d<K HH[yyy=yr;   c                  s   \         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)r^   Nr^   r`   )r_   r   )r^   r   )r_   r`   )r   r^   )
r$   r%   r&   get_subplotspecZrowspanr+   colspanrb   rc   Z
IndexError)r3   r   r|   r#  Zax4r8   r9   test_add_subplot_twotuplerg    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   Zteal)r<   r   remove_textc                  s    \         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# )rF   r   r   rv   Nr  r]  )r!   rF   rF   )r$   r%   r  r&   Zset_box_aspect)r3   r4   r   r|   r   r9   test_tightbbox_box_aspectri    se    
 **,C			!Q	B
//"T(
#C
//"T(t/
4Cry!r;   c                 s    VP                  4       pVP                  \        ^4      4       V P                  4       pVP                  \        ^4      RR7       R# )r`   T)ZanimatedN)rB   r'   r+   )r   r!  Zax_refZax_testr@  r9    test_animated_with_canvas_changerj    sB    F
KKa!GLLqDL)r;   c                   s*  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                s   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)NrF   Nr    )r   r!   rF   r    rF   rF   )	subplot_mosaicitemsrC   sortedr(   Zuniquer   r  r&   )r   r   r!  r   	grid_axesr   r5   labelsr4   axAaxBaxCaxDs   &&&&         r9   
test_basicZTestSubplotMosaic.test_basic  s     ++A.	__&EALLO ' 		!%6{c)n,,,!!!Q'!!"V*-fQi !!"T(+fQi !!"T(+fQi !!"T(+fQi r;   c                s   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	# )rl  rm  rn  ro  EFGHrA   Nr  r]  )	r+  rs  valuesrC   r   r  subgridspecrJ   r&   )r   r   r!  r   r   rv  r5   r4   Zgs_leftZjr~   r   rN   Zgs_rights   &&&           r9   test_all_nestedZ!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 ) !r;   c                s   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# )rA   rl  rm  rn  ro  r~  Nrq  r  r]  rr  )r+  rs  rt  rC   r  r  r&   )r   r   r!  r   r   rv  r   r5   r4   Zgs_nrx  ry  rz  r{  ZaxFs   &&&            r9   test_nestedZ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r;   c                sn    . RO. RO.pRpVP                  R.V..4       VP                  R.V..4       R# )rl  r~  Nrl  rm  rm  rn  rn  ro  )r  r  )rs  )r   r   r!  r   Zxts   &&&  r9   test_nested_tupleZ#TestSubplotMosaic.test_nested_tupleF  s=    o./s|,#.r;   c                s   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# )rl  rm  rn  )r=   N)r$   rs  get_gridspecZget_width_ratios)r   r   r=   r3   axd   &    r9   test_nested_width_ratiosZ*TestSubplotMosaic.test_nested_width_ratiosN  s    SEE  1v%%aC3x$$&779\III3x$$&779\IIIr;   c                s   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# )rl  rm  rn  ro  height_ratiosN)r$   rs  r  Zget_height_ratios)r   r   r  r3   r  r  r9   test_nested_height_ratiosZ+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Kr;   zx, empty_sentinelN.SKIPc                s   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  rr  )rs  rt  rC   ru  r   r  r&   )r   r   r!  r   r  r   rv  r   r5   Zrownamerw  r4   rx  ry  s   &&&&&          r9   
test_emptyZ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                s   \         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 2Drh   ZfoobarNr   r   Zc)r  )r   r   )rb   rc   rd   r$   rs  r      &r9   test_fail_list_of_strZ'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                s    ^^..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# )rF   )r  Nr  r]  )rs  r  r&   )	r   r   r!  r  r   rv  r4   rx  ry  	   &&&&     r9   test_subplot_kwZ!TestSubplotMosaic.test_subplot_kw  ss     VH++A+E	%%2
!!!Q'!!"T(9j9!!"T(9j9r;   multi_valueZBCc           	     s    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   ro  bluegreen)r  per_subplot_kwr   N)r   r  r  r  )rs  r  r/  r&   )	r   r   r!  r  r   rv  r4   r   Zspecr  r9   test_per_subplot_kwZ%TestSubplotMosaic.test_per_subplot_kw  s|     ++#U+k6*k73 , 
	 !!!Q'@"EKE6 Fr;   c                s"   \         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# )ZABCrl  rm  rn  zAB;CCzAB;CC;DEro  r}  z7
                         ABC
                         zR
                         AB
                         CC
                         zn
                         AB
                         CC
                         DE
                         N)rl  rm  rn  )r   Z_normalize_grid_stringr   Z	normalize   & r9   test_string_parserZ$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r;   c                s   \         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)rl  rm  zThe key z appears multiple timesrh   N)rl  rm  )r   Z_norm_per_subplot_kwrb   rc   rd   r  r  r9   test_per_subplot_kw_expanderZ.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                s    \         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 rm  z are inrh   rl  )r  N)rb   rc   rd   r  r   rs  r  r  r9   test_extra_per_subplot_kwZ+TestSubplotMosaic.test_extra_per_subplot_kw  sU    ]]Ic#h\"A
 
 H##Cb	#B
 
 
 
s   AA,	str_patternc                s    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 )Z
N)rs  ZstripZsplitlist)r   r   r!  r  rv  Zlns   &&&&  r9   test_single_str_inputZ'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 lengthr}  c                s    \         P                  ! 4       p\        P                  ! \        VR 7      ;_uu_ 4        VP                  V4       RRR4       R#   + '       g   i     R# ; i)rh   N)r$   r%   rb   rc   rd   rs  )r   r   ri   r3   s   &&& r9   	test_failZTestSubplotMosaic.test_fail  s=    , jjl]]:U33q! 4333s   AA'	c                sv    VP                  \        4       \        4       ..4       VP                  R R..4       R# )rl  rm  N)rs  Zobject)r   r   r!  s   &&&r9   test_hashable_keysZ$TestSubplotMosaic.test_hashable_keys  s0    &(FH!5 67c
|,r;   c                s    \         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%   rs  r  r   r  )r   r  r3   ax_dictr@  r9   test_user_orderZ!TestSubplotMosaic.test_user_order  sX     jjl$$[1K DM111CHH~gnn&6!7777r;   c                s   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# )rl  rm  rn  ro  r}  r~  r  r  r  IZ	ABCDEFGHINr  r   r   r3   r     &   r9   test_nested_user_orderZ(TestSubplotMosaic.test_nested_user_order  s    C::  #JC3%%! " # $	
 jjl$$V,G}[ 1111CHH~gnn&6!7777r;   c                sl   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# )rl  rm  rn  ro  r}  r~  r  r  r  r  T)r   r   r   logit)ZxscaleZyscalec              3   s~   "   T F3  pVP                  4       R 8H  ;'       d    VP                  4       R8H  x  K5  	  R# 5i)r   r  N)Z
get_xscale
get_yscale)rR  r5   r  r9   rT  Z3TestSubplotMosaic.test_share_all.<locals>.<genexpr>  s8      /-r ==?e+JJ70JJ-s   ==FN)r$   r%   rs  r  rZ   r  r  r  r9   test_share_allZ TestSubplotMosaic.test_share_all  s    C::  #JC3%%! " # $	
 jjl$$VD$Fg6s /$^^-/sss /$^^-/ / / 	/ /r;   rr   rl  rl  rm  rn  ro  rm  rF   rF   r!   r^   r_   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  )ZabcZcabZbcaZcbaZacbZbac)r   r   r   r   r   rb   markparametrizer|  r  r  r  r  r  r  r  r  tupler  r  r  r  r  r  r  r  r  r  r   r   r   r   r9   rk  rk    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/ /r;   rk  c                 s   \         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)rf  r3   Nrd  )r^   r!   )r!   rF   )r$   r%   r&   Zsubplot2gridre  r  )r3   r   r|   r#  r"  Zgs2Zgs3rX   r9   test_reused_gridspecr  !  s    
**,C
//!Q
'C
//!Q
"C


661#
>C




,
,
.C




,
,
.C




,
,
.C::::r;   ztest_subfigure.png)r<   r   c                  s   \         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,rA   r   ZvminZvmaxrI   	Left Sider   Zbottom)r5   Zlocationz
Right SideFigure suptitlexx-largefontsizezLine{}rN   r@   )Zhandlesr?   N)r(   rS   seedr$   r%   r   rB   rK   rR   rT   rU   rw   r   r   r+   r<  r  Z
set_zorderZ
get_zorder)r3   subrD   r5   rW   r6   ZlegrX   r9   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                  s    \         P                  ! R R7      p V P                  ^^4      p\        P                  P                  V P                  V P                  P                  4       4      P                  R4       R# )rA   r   g       @N)
r$   r%   r   r(   rP   rQ   rD  r   rC  r   )r3   r  r   r9   test_subfigure_tightbboxr  N  sV    
**M
*C
..A
CJJcjj5578>>r;   c                  s   \         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# )r4  r   N)r$   r%   r   Zget_dpiZset_dpir3   sub_figr   r9   test_subfigure_dpir  X  sl    
**
CnnG??---OOC??###;;=Cr;   ztest_subfigure_ss.png{Gz?)r<   r   r   c                  s   \         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  rA   r   Zpinkr  r  rI   r  r   r  r  r  Nr  )r(   rS   r  r$   r%   r  r  rB   rK   rR   rT   rU   rw   r&   r'   r)   rC   )r3   r4   r  rD   r5   rW   rF  r9   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8r;   ztest_subfigure_double.pngc                  s   \         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  rA   )r   r   r3   gQ?)r  Zcoralz
subfigs[0]z
subfigs[1]gffffff?r  zsubfigsnest[0]r~   Tr   g      @r  zx-labelr  zy-labelTitlerI   zsubfigsnest[1]r   rH  ylabelr   r   N)r   i   g      )r(   rS   r  r$   r%   rw   r   r   rB   rR   rT   r,   r*   rC   rU   rJ   r   r   )
r3   rY  ZsubfigsnestZaxsnest0r5   r  rW   Zaxsnest1rV   ZaxsRights
             r9   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(Hr;   c                  s   \         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# )
TrG       r   Nr  ):r    r!   NrF   )r!   rF   r^   N):r    NN:rF   NN)r$   r%   r  r  r(   rP   rQ   rb  minmaxr+   r&   rL   )r3   r4   sub_figsr   r   r6   rF  r9   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!  r;   c                  s\   \         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)rH   r   r   )r  r=   )rN  r-  gkX.8@i  i  )r   r   r  gRϫW@i,  N)r   r^   )r    rp  g!<L)r    r  g YI_)r    :r^   i   N)r$   r%   r   r  r&   r`  r   rL   Z
get_xticksr(   rP   rQ   )	r3   Z	subfig_blZ	subfig_brr4   r   r|   r#  Zticks120Zticks300s	            r9   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2r;   ztest_subfigure_scatter_size.png)r<   rh  c            	      s   \         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# )
rF   s)r  markerr~   )r  r  r   r   Nr  )r^   r_   r`   )r   r   i(   )r$   r%   r  r&   r`  r  rB   )r3   r4   r   r[  rD   r5   rF  r9   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 r;   c                  s   \         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# )rA   r   r  r  N)	r$   r%   r   r&   r  Z	bar_labelr  r  r   )r3   r  r5   r   Zbufferr8   r9   test_subfigure_pdfr    sa    
**M
*CnnG			S	!B
q!ALLOZZ\FKKuK%r;   c                  s   \         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!   rv   )hspacer  r  r  r   r   r  gffffff?g?r5  r   NgUUUUUU?r  r]  r#   rq  rr  r   )	r$   r%   r   r(   rP   rQ   rb  r  r  )r  r   r   r   r9   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Er;   c                  s    \         P                  ! 4       p V P                  ^^4      pVR,          P                  4        \	        V P
                  4      ^8X  g   Q hR# )r!   Nrr  )r$   r%   r   r   r   rY  )r3   Zsfsr   r9   test_subfigure_remover    sD    
**,C
..A
CIs{{q   r;   c                  sf   \         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# )rF   Nr   r   rectilinear)r$   r%   r&   ra   r  r3   r5   r   r   r9   test_add_subplot_kwargsr    s   
**,C	Aq	!B
//!Q
"C>>==IIK
**,C	AqW	5B
//!Qg/
6C>>==IIK
**,C	AqW	5B
//!Q
"C>>88}$$$==IIKr;   c                  sf   \         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   r  r   )r$   r%   r   ra   r  r  r   r9   test_add_axes_kwargsr  /  s    
**,C	l	#B
,,|
$C>>==IIK
**,C	lw	7B
,,|,
8C>>==IIK
**,C	lw	7B
,,|
$C>>88}$$$==IIKr;   c                 s  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                  sd   < \        R S P                  .S! R4      O^N5!  P                  4        R# )button_press_eventNr   r   )r
   r   _processr3   trans   r9   single_pressZ!test_ginput.<locals>.single_pressM  s)    'IeHoIqIRRTr;   r   c                  s  < \        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_eventZ	backspaceNr  r  r   rv   r   r  )r
   r   r  r	   r  r  r9   multi_pressesZ"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Rr;   Nr  r  r  )r   r   r$   rB   Z	transDatar9  r   startZginputr(   rP   rQ   )recwarnr5   r  r  r3   r  s   &   @@r9   test_ginputr  H  s    H&>?llnGCLL""EU 
"l!!#::<H:%%%S 
"m""$JJszz!}x.BCr;   c           
      s   \         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  r   )ZtimeoutNr  r   Tr  F)r   r   r$   r%   Zwaitforbuttonpressr   r	   r   r  r  r
   )r  r3   r  r9   test_waitforbuttonpressr  ^  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,,,r;   c                  s    \        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  r   r9   test_kwargs_passr  h  sK    
~
&CnnQn6G==?n,,,,...r;   c           
      sj   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)Zxlabelr   )r   r   r  r  Zlightzfigure.labelweightzfigure.labelsizezfigure.titleweightzfigure.titlesizeN)r   r   rw   rk   r0  )r   r!  r   r9   test_rcparamsr  p  s    hvB7hvB7WW26	-v+R-w+R1 
2 
2 	8$8$'"
2 
2 
2 
2s   #4B!!B2	c                  s   \         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    r   Zlinearr         Y@N)r   r  r]  )r$   rB   r'   r   copyZdeepcopyr   r  rB  rL   Zget_xlim)rz   r5   r{   r   r9   test_deepcopyr  ~  s    ||~HDGGQFQFMM%==D 99Q<r!!!99Q<""$---IIaLH%==?e### KKc!!;;=K'''99Q<  "f,,,r;   c                  s    \        ^*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# )i*   r  Ni&  )r   r   r  r   pickleZloadsZdumps)r3   r{   r   r9   %test_unpickle_with_device_pixel_ratior    sT    
R.CJJ&&q)77d??<<S)*D88r>>r;   c                  s    R R/p \        V 4      p\        P                  ! ^^^^.V R7       W8X  g   Q h\        P                  ! R^^.V R7       R# )r>   r   )r=   Zgridspec_kwZABN)Zdictr$   rB   rs  )r4   Zgs_origr   r9   test_gridspec_no_mutate_inputr    sJ    
"B2hGLLAQF;==t1a&bAr;   c                 sd    \        4       P                  \        P                  ! 4       V / R 7       R# )r  ZmetadataN)r   r   r  r  r>  r  r9   test_savefig_metadatar    s    
HRZZ\#;r;   c                 s    \         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 supportedrh   r   N)rb   rc   rd   r   r   r  r  r  r  r9   test_savefig_metadata_errorr    sA    	z)A	B	BcB? 
C	B	B	Bs   0AA0	c                  sl   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   Zh_padr  r  gQ?r  g{Gz?r   zwill be deprecatedrh   Nrr   )r  r  r$   r%   rk   Zlayout_enginer   rb   rj   ZPendingDeprecationWarningZget_constrained_layout_pads)ZparamsZexpectedr3   r   r9    test_get_constrained_layout_padsr    s    tWdHdHdKF'v}}'(H
**C--EEOO
PC	/7K	L	L..0H<<< 
M	L	L	Ls   ?B""B3	c                  s|   \        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  ZStringIOr   Zseekr?  r  )r3   r  r   r9   test_not_visible_figurer    s    
(C
++-CKKEK"HHQKCHHJOOE
++-CKKEK"HHQK
"""r;   c                  s   \         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 Figurerh   NrI   )Zcax)	r$   rB   r   rU   rb   rj   r)  r%   r   )rz   r   r{   Zax2_1Zax2_2r   Zfig3Zfig4Z	subfig3_1Z	subfig3_2Z	subfig4_1Zax3_1Zax3_2Zax4_1Zim3_1Zim3_2Zim4_1s                    r9   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                  s   \         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 changedrh   )
r$   r%   r   rb   rj   rk   rl   Z
set_figurerc   rd   )r3   sfig1sfig2Zfr   r9   test_set_figurer	    s    
**,CNNEE\\#::;;LL <;  
z)<	=	= 
> 
z)<	=	=& 
>	= <;; 
>	= 
>	=	=s$   )D+D,)%D?D),D<	?E	c                  s    \         P                  ! 4       p V P                  ^^4      p\        VP	                  4       V P
                  4       F  w  r#W#J d   K  Q h	  R# )r_   N)r$   r%   r   r/  r   rY  )r3   Zsf_arrr   r   r   r9   test_subfigure_row_orderr
    sC    
**,C^^Aq!FFLLNCKK0vv 1r;   c                  s   \         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%   rL   ra  r   )r3   r  r  r   r9    test_subfigure_stale_propagationr    s    
**,C yyy=NNE9999 yyy={{{?E9999;;;; yyy={{{?{{{?EK;;;;9999r;   r   )r   r   r   )r"   rF   )r   r  psepsr   )r   r  r  r   )r  r  r   r  r   Zsvgz)Zjpegr  r  ZtiffZwebpZrawZrgba)r  r   r  r  ZplatformZ	threadingr   Ztypesr   r   Znumpyr(   rb   ZPILr   Z
matplotlibrk   r   Zmatplotlib.testing.decoratorsr   r   Zmatplotlib.axesr   Zmatplotlib.backend_basesr	   r
   Zmatplotlib.figurer   r   Zmatplotlib.layout_enginer   r   r   Zmatplotlib.tickerr   r   r   Zmatplotlib.pyplotZpyplotr$   Zmatplotlib.datesZdatesr   Zmachiner:   rE   rY   rf   ro   rq   rs   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r   r<   Zcontextr   r   Zinfr   r   r   r  r  r
  Zparamr	  r  r  r  r0  r$  r%  r&  r,  r1  r2  r3  r=  rA  rG  rI  rK  r^  r_  rc  rg  ri  rj  rk  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r
  r  rr   r;   r9   <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' r;   