+
     ]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-   labelZget_positionr2   testingassert_allclose
pcolormeshrandomrandncolorbar)r3   rD   nnr5   ZxnZynpc          r9   test_align_labels_stray_axesrX   _   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       \         P                  ! 4        \         P                  ! ^4       \         P                  ! R4       \         P                  ! V 4       \        P                  ! \
        4      ;_uu_ 4        \         P                  ! \        4       4       RRR4       R#   + '       g   i     R# ; i)alltodaytomorrowN)r$   closer%   pytestraises
ValueErrorr   )Z	fig_today    r9   test_figure_labelra      s    IIe

7#IJJqMJJzJJLJJqMJJqMJJqM IIbMIIKIIaLIIj JJy	z	"	"

68 
#	"	"	"s   ?E((E9	c                  s   \         P                  ! R 4       \         P                  ! ^4      p \        P                  ! \
        P                  RR7      ;_uu_ 4        ^V n        RRR4       R#   + '       g   i     R# ; i)rY   &Changing 'Figure.number' is deprecatedmatchN)r$   r\   r%   r]   warnsmplMatplotlibDeprecationWarningnumberr3   r`   r9   test_figure_label_replacedrj      sY    IIe
**Q-C	c66D
F 
F

F 
F 
F 
Fs   A--A>	c                  sR   \        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       R #   + '       g   i     LP; i  + '       g   i     R # ; i)Nrb   rc   )r   r]   r^   ZAttributeErrorrh   re   rf   rg   ri   r`   r9   test_figure_no_labelrk      ss    
(C	~	&	&

 
' 
c66D
F 
F

F 
F 
'	&
F 
F 
Fs   B0BB	B&	c                  s   \         P                  ! R 4       \         P                  ! ^4       \         P                  ! R4       \         P                  ! 4        \         P                  ! R 4       \         P                  ! ^4       R# )ZoneZthreeN)r$   r%   r\    r;   r9   test_fignum_existsrm      sG    JJuJJqMJJwJJL
 IIeIIaLr;   c                  s    R p Rp\         P                  ! ^R7      pVP                  V 4       \         P                  ! ^RR7      pVP                  RRV4       \         P                  ! ^^^RR7      w  rER# )zA fancy plotzReally fancy!)numF)rn   clear      ?TN)r$   r%   suptitletextrB   )Ztext1Ztext2Zfig0fig1fig2ax2         r9   test_clf_keywordrw      sb    EE::!DMM% ::!5)DIIc3 Qq5ID#r;   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# )rZ   r[   rN)	r$   r%   r&   rC   	get_labelr'   r(   r)   r\   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yrx   rp   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                  ^o4      pV P                  V4       V P	                  V4       V P                  V4       R# )r    Nr    r    rF   rF   )r$   r%   add_axesr&   Zsca)r3   ax0ax1      r9   test_gcar      sV    
**,C ,,|
$C //#
C
 LL
 GGCL
 OOC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   r]   r^   r_   	TypeErrorri   r`   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 integerrc   Nz)Number of rows must be a positive integerz)num must be an integer with 1 <= num <= 4rp   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%   r]   r^   r_   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hellorx   )r   Ztitler~   )r   ZrotationN)r$   rB   rq   )r3   r   r{   r9   test_suptitler   E  s1    \\^FCLLL$LLbL1r;   c                  s    \         P                  ! 4       w  r\        P                  P	                  R RR7      pV P                  RVR7      pR# )Zlargebold)sizeweightzfontprops title)ZfontpropertiesN)r$   rB   rf   Zfont_managerZFontPropertiesrq   )r3   r5   ZfpsZtxt       r9   test_suptitle_fontpropertiesr   L  s=    llnGC



)
)wv
)
FC
,,(,
=Cr;   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       R# )   figsizewhitezThis is a visible suptitle.N)r      )r$   r%   
subfiguresset_facecolorrB   rq   )r3   Zsf1Zsf2r   r9   test_suptitle_subfiguresr   T  sO    
**V
$C~~a#HCgLLNLLNLL./r;   c                  s    \         P                  ! 4       w  rV P                  R 4       V P                  R4       V P	                  R4       R# )rq   	supxlabel	supylabelN)r$   rB   rq   r   r   rz   r{   r9   %test_get_suptitle_supxlabel_supylabelr   b  s5    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appendrf   ZCirclePolygonri   r`   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)r]   re   ZRuntimeWarningr+   rf   ZrcParamsr$   r%   )r6   r`   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;   rl   )__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)r_   )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   rl   )r   r   s   &r9   _as_mpl_axesZ<test_iterability_axes_argument.<locals>.MyClass._as_mpl_axes  s    It,,,r;   rl   N)r   r   r   r   r   r   r   r   )r   r   s   @r9   MyClassr     s     	5	- 	-r;   r   r   N)r   r$   r%   r&   r\   )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       V P	                  ^^4       V P	                  R4       R# )   N)rF   r   )r$   r%   Zset_figwidthZset_figheightset_size_inchesri   r`   r9   test_set_fig_sizer     sO    
**,C Q a 1
 r;   c                  s    \         P                  ! ^^4      w  rVR,          P                  4        VP                  4       RR  F  pK  	  R# )r!   Nr"   r"   r"   )r$   rB   removeravelr3   rD   r5   r   r9   test_axes_remover     s9    ||Aq!HCKiik#2r;   c                  st   \         P                  ! \        P                  ! ^4      \        P                  ! ^4      ,          4      w  r\         P                  ! ^4      w  r\         P                  ! \        P                  ! R4      4      w  r\         P                  ! \        P                  ! R4      4      w  rR# )r!   NrF   r!   )r!   r!   )r$   Z	figaspectr(   Zfloat64rM   )whr{   r9   test_figaspectr     sk    ==AA67DA==DA==&)*DA==&)*DAqr;   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   d+   VP                   ^ ,          P#                  RR4       F  p	K  	  V R9   d-   VP                   ^ ,          P#                  R	R4       F  p	K  	  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_xdateaxesr0   )
r   ZdateZtimeZangleZminorsr}   r   r3   r5   rN   s
   &         r9   test_autofmt_xdater     s3   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@ !!XXa[00w?E? " 
#	"s   <FF	c                  s   \         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R# )rA   r   r   )r   N)rF   r   r   )r!   r   r   )r$   rB   imshowrT   r   rL   r0   )r3   r5   imrN   r   r9   'test_autofmt_xdate_colorbar_constrainedr     sc    
 ll-0GC	Iy)	*BLL W-a0Er;   Zdefaultc                  s    \         P                  ! RR7      p V P                  4        ^2V n        V P                  4        R# )r   r   N)r   r   )r$   r%   rL   dpiri   r`   r9   test_change_dpir     s1    
**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)r]   r^   r_   r$   r%   r   )widthheightr3   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'rc   N皙?rp   z#multiple values for argument 'rect')Zrectr   z)add_axes\(\) takes 1 positional argumentszextra positional argumentr   )r$   r%   r]   r^   r   r   r_   r(   nanrB   Zdelaxes)r3   rt   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                  sV   \         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K  	  VR,           F  pK  	  VR	,           F  pK  	  VR
,           F  pK  	  R# )r!   TF)sharexshareyZsqueezelogN)
         )r    NNN)rF   r   )r   rF   )r   r    )r$   rB   rK   r'   
set_yscaleZ
set_xscaler   r   r9   test_subplots_shareax_loglabelsr   5  s    ||AqdEJHChh
l+  MM%MM%$iii $iii $iii $iiir;   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 givenrc   z
fname1.pngz
fname2.pngN)r$   r%   r]   r^   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%   r]   r^   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'rc   Ztestzmodule://@absent)backendNz-The 'pdf' backend does not support png outputztest.pngr   )r$   r%   r]   r^   ZModuleNotFoundErrorr   r_   ri   r`   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       R#   + '       g   i     L; i  + '       g   i     R# ; i)rF   r   r   NrF   r!   r   )r$   rB   r'   r   r   r   r   openZloadcanvas_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 
 
 
s   :D0,:E0E 	E	c                  s    \         P                  ! R R7      p V P                  \        P                  ! 4       RR7       R# )
compressedr   r   bbox_inchesN)r$   r%   r   r   r   ri   r`   r9   #test_savefig_preserve_layout_enginer  y  s&    
**L
)CKK

'K2r;   c                  sJ   \         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       R# )r!   )Zaspectr	  N)r$   rB   rQ   r(   rR   rS   rT   r   r   r   rf   Z
transformsZBbox)r3   r5   rV   Zcbarr   r9   test_savefig_locate_colorbarr    sp    llnGC	ryyq!,	-B<<2<&DKK

#..*=*=1v1v>N*OKPr;   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iax2ru   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                  s6    \         P                  ! R^
R7      p R# )r   )r   r   N)r   r   )r$   r%   ri   r`   r9   test_figure_reprr    s    
**X2
.Cr;   c                  sN    \        R R7      p \        RR7      p \        RR7      p R # )Nr   r   rA   )r   ri   r`   r9   test_valid_layoutsr    s$    

C 
 C 
&Cr;   c                  s`   \         P                  ! R R7      w  r\        P                  ! \        4      ;_uu_ 4        V P                  RR7       RRR4       Rp\        P                  ! \        VR7      ;_uu_ 4        \        RRR	7      p RRR4       R
p\        P                  ! \        VR7      ;_uu_ 4        \        R RR7      p RRR4       \        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                  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       \        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       \        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L{; i  + '       g   i     ELV; i  + '       g   i     EL; i  + '       g   i     EL]; i  + '       g   i     L; i  + '       g   i     R# ; i)rA   r   皙?)r   Nz1The Figure parameters 'layout' and 'tight_layout'rc   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   r]   re   UserWarningZsubplots_adjustr   r^   r_   set_layout_enginerQ   r(   rR   rS   rT   ZRuntimeError)r3   r5   ZwstrV   r   r9   test_invalid_layoutsr!    sr   ll-0GC	k	"	"$ 
# >C	k	-	-G%8 
. DC	k	-	-MeD 
.
 
z9
; 
;h
;
 ll-0GC'"-( 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&! 
|+J	K	Km, 
L	K] 
#	"	" 
.	-	- 
.	-	-

; 
; 
; 
L	K	K 
L	K	K 
L	K
 
L	K	Ks_   L=L%9L93M M!M5&N	5NL"	%L6	9M
	M	!M2	5N		N	N-	c                 s    \        W.R R.4       FR  w  r#\        P                  ! RV/4      ;_uu_ 4        VP                  ^R7      pVP	                  ^
R7       RRR4       KT  	  R#   + '       g   i     Ki  ; i)FTzfigure.autolayout)ncols)w_padN)ziprf   
rc_contextrB   r  )r  r  r3   Z
autolayoutr   s   &&   r9   &test_tightlayout_autolayout_deconflictr&    se    2UDMB^^0*=>><<a<(D2& ?> C>>>s   %A((A9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 torc   N)r$   rB   r]   re   r  r  )r   r3   r5   s   &  r9   test_layout_change_warningr'    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  ri   r`   r9   test_repeated_tightlayoutr(    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)	transformr,  r  ZC2g?ZcrimsonZC3)r.  r   r,  )r.  r,  zorderF)r.  clip_onr/  r,  )r.  r   r0  r/  r,  )r   r   )r*  rp   )g      @r  )	r   rB   r$   Line2DZCircleZdpi_scale_transZ
add_artistr   ZtransFigure)	r  r  r+  r-  Zr1Zr2Zr3r   ru   s	   &&       r9   test_add_artistr2    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RRR4       R#   + '       g   i     R# ; i)ztest.ZrbN)r$   r   r  )r3  Ztmp_pathZoutZfile   &&  r9   test_fspathr5  "  s6    
uSE]
"CKK	$4s   AA	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                  R4       RpVP                  R4       RpR# )	r    g      ?rp   zThis dangles over endgR"@FgET@TN)r$   rB   set_xlimrr   r  get_rendererZset_in_layout)r3   r5   ZtZrendererZx1Nom0Zx1Nomrv   r9   test_tightbboxr8  ,  sm    llnGCKK1
C01Azz&&(HF OOEE OODEr;   c                  s   \         P                  ! ^^RR7      w  rV^,          P                  4        V^ ,          P                  \	        R^^4      \	        R^^4      .^ ^.4       \         P                  ! ^^RR7      w  rV^,          P
                  P                  \        4       4       V^,          P                  4        V^ ,          P                  \	        R^^4      \	        R^^4      .^ ^.4       R# )rF   Tr   i  N)r$   rB   r   r'   r   r-   Zset_major_formatterr   r   r{   r9   test_axes_removalr:  E  s    ||Aq.HCFMMOFKK$1%xa';<q!fE ||Aq.HCFLL$$_%67FMMOFKK$1%xa';<q!fEr;   c                  s    \         P                  ! ^RR7      w  rV^ ,          P                  4        V P                  P	                  4        R# )r!   Tr9  N)r$   rB   r   r  drawr   r{   r9   test_removed_axisr<  W  s/    ||Ad+HCFMMOJJOOr;   
clear_methro   Zclfc           	      s  a
 \         P                  ! 4       o
S
P                  4        S
P                  ^o4      p\	        S
V 4      ! 4        \        ^4       Uu. uF  pS
P                  ^^V^,           4      NK  	  pp\	        S
V 4      ! 4        S
P                  ^^R7      pS
P                  V^ ,          4      pVP                  ^o4      p\	        S
V 4      ! 4        S
P                  V^ ,          4      pVP                  ^o4      pS
P                  V^,          4      pVP                  4        S
P                  V^,          4      pVP                  4        VP                  ^o4      p\	        WP4      ! 4        VP                  ^o4      p\	        S
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	\	        V^ ,          V 4      ! 4        \	        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	\	        S
V 4      ! 4        R# u upi u upi u up	i u upi u up	i )io   )r"  nrowsNr    rF   )	r$   r%   ro   r&   Zgetattrr+   r  r  r   )r=  r5   r6   r   r4   ZsubfigZsubaxesZmainaxessubfigssfigr3   s   &         @r9   test_figure_clearrB  ^  s"    **,C IIK 
	BC 16a91COOAq!A#&D9C 
				+Br!u%F  %GC
 r!u%F  %Gr!u%H OO
 r!u%HNN
   %G F!   %GC
 288As  'G8189$G9
 GAJ
#% GAJ
#%178As  'G8189$G9 C} :Z 99 99s   #I" I'?I, I14I6c                  s>    \         P                  ! 4        F  p K  	  R # r   )r   Z__subclasses__)Zklassr`   r9   test_clf_not_redefinedrC    s    **,,r;   c                  s   \         P                  ! 4       w  rVP                  ^ .^ .R.RR7       V P                  P	                  4        \        VP                  P                  VP                  P                  ^,          ,           VP                  P                  VP                  P                  ^,          ,           VRR7      pV P                  V4       R# )r    r   T)ZpickerN)r}   r   ZinaxesZguiEvent)r$   rB   scatterr  r;  r   bboxZx0r   Zy0r   Zpick)r3   r5   Zmouse_eventr   r9   test_picking_does_not_stalerF    s    llnGCJJsQC$J-JJOO "BGGJJ1B$B$&GGJJ!1C$C)+d<K HH[r;   c                  sl   \         P                  ! 4       p V P                  ^^R4      pV P                  ^^R4      pV P                  ^^R4      pV P                  ^^R4      p\        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&   r]   r^   Z
IndexError)r3   r   ru   r  Zax4r8   r9   test_add_subplot_twotuplerH    s    
**,C
//!Q
'C //!Q
'C //!Q
'C //!Q
'C 
z	"	"1f% 
#	"	"	"s   B""B3	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   rp   Nr  r?  )r!   rF   rF   )r$   r%   r  r&   Zset_box_aspect)r3   r4   r   ru   r   r9   test_tightbbox_box_aspectrJ    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_testr4  r9    test_animated_with_canvas_changerK    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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}   	grid_axesr   r5   labelsr4   axAaxBaxCaxDs   &&&&         r9   
test_basicZTestSubplotMosaic.test_basic  s     ++A.	__&EALLO ' 		!% !!!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	# )rM  rN  rO  rP  EFGHrA   Nr  r?  )	r   rT  valuesrC   ry   r  subgridspecrJ   r&   )r   r  r  r}   r   rW  r5   r4   Zgs_leftZjrx   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   rM  rN  rO  rP  r_  NrR  r  r?  rS  )r   rT  rU  rC   r  rc  r&   )r   r  r  r}   r   rW  r   r5   r4   Zgs_nrY  rZ  r[  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# )rM  r_  NrM  rN  rN  rO  rO  rP  )rf  rg  )rT  )r   r  r  r}   Zxts   &&&  r9   test_nested_tupleZ#TestSubplotMosaic.test_nested_tupleF  s=    o./s|,#.r;   c                sR    R R.R....p^^.p\         P                  ! WR7      w  r4R# )rM  rN  rO  )r=   Nr$   rT  )r   r}   r=   r3   axd   &    r9   test_nested_width_ratiosZ*TestSubplotMosaic.test_nested_width_ratiosN  s<    SEE  1v%%aCSr;   c                sX    R R.R...RR..p^^.p\         P                  ! WR7      w  r4R# )rM  rN  rO  rP  height_ratiosNri  )r   r}   rn  r3   rj  rk  r9   test_nested_height_ratiosZ+TestSubplotMosaic.test_nested_height_ratiosX  sC    SEE !3Z)A%%aESr;   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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 )rq  empty_sentinelrp  Nr  rS  )rT  rU  rC   rV  r  r&   )r   r  r  r}   rr  r   rW  r   r5   ZrowZnamerX  r4   rY  rZ  s   &&&&&          r9   
test_emptyZTestSubplotMosaic.test_emptyb  s     V#&7FF++A88	__&EALLO ' /Qc34T3TQ/>32GG
 !!!Q'!!"T(+fQi !!"T(+fQi  0s   C-
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 2Drc   ZfoobarNr   r   Zc)rt  )r   r   )r]   r^   r_   r$   rT  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   )rx  Nr  r?  )rT  r  r&   )	r   r  r  rx  r}   rW  r4   rY  rZ  	   &&&&     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   rP  bluegreen)rx  per_subplot_kwr   N)r   r}  r}  r|  )rT  r  r$  r&   )	r   r  r  r{  r}   rW  r4   r   Zspecry  r9   test_per_subplot_kwZ%TestSubplotMosaic.test_per_subplot_kw  s|     ++#U+k6*k73 , 
	 !!!Q'@"EKE6 Fr;   c                s&    \         P                  pR # r   )r   Z_normalize_grid_stringr   Z	normalize   & r9   test_string_parserZ$TestSubplotMosaic.test_string_parser  s    11	r;   c                sl   \         P                  p\        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)zThe key rN  z appears multiple timesrc   N)rM  rN  )r   Z_norm_per_subplot_kwr]   r^   r_   r  r  r9   test_per_subplot_kw_expanderZ.TestSubplotMosaic.test_per_subplot_kw_expander  s    //	 ]]HSG3J"K
 
 z2sB/0
 ]]HSG3J"K
 
 sB
B/0
 
	
 

 
 
s   B8B"B	"B3	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 rN  z are inrc   rM  )r~  N)r]   r^   r_   r  r   rT  ru  rv  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)rT  ZstripZsplitZlist)r   r  r  r  rW  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)rc   N)r$   r%   r]   r^   r_   rT  )r   r}   rd   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# )rM  rN  N)rT  Zobject)r   r  r  s   &&&r9   test_hashable_keysZ$TestSubplotMosaic.test_hashable_keys  s0    &(FH!5 67c
|,r;   c                sR    \         P                  ! 4       pVP                  V4      pR # r   r$   r%   rT  )r   r  r3   ax_dictr4  r9   test_user_orderZ!TestSubplotMosaic.test_user_order  s     jjl$$[1r;   c                s    R RR.RR...RR.RRR	.R......p\         P                  ! 4       pVP                  V4      pR
# )rM  rN  rO  rP  r^  r_  r`  rp  ra  INr  r   r   r3   r     &   r9   test_nested_user_orderZ(TestSubplotMosaic.test_nested_user_order  si    C::  #JC3%%! " # $	
 jjl$$V,r;   c                s    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       R# )rM  rN  rO  rP  r^  r_  r`  rp  ra  r  T)r   r   r   Zlogit)ZxscaleZyscaleN)r$   r%   rT  r  r  r  r9   test_share_allZ TestSubplotMosaic.test_share_all  s    C::  #JC3%%! " # $	
 jjl$$VD$Fg6r;   rl   rM  rM  rN  rO  rP  rN  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   r]   markparametrizer]  rd  re  rh  rl  ro  rs  rw  rz  tupler  r  r  r  r  r  r  r  r  r  r   r   r   r   r9   rL  rL    s&    UG,[[o.	"."	
! -!. UG,E -E, UG, -B UG,/ -/JL UG,[[DkD#;'.Cj3*%v.AhC!1%$i$#T*#ha!6*!fq!fq!	

!
 -!.@ UG,[[\Bw0G+NO: P -: UG,[[]T5;,?@7 A -7F&1C UG,[[]E
 -
 [[ sc3Z(@ sdc3Z#s$<=>F Gc
SE*+c3Z89	
*"+*"
 UG,- -- [[]GI8I88/ /r;   rL  c                 sd   \         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R# )z)Test that these all use the same gridspec)Zcolspanr3   NrG  )r   r!   )r!   rF   )r$   r%   r&   Zsubplot2gridZget_subplotspecZget_gridspec)r3   r   ru   r  r  Zgs2Zgs3rW   r9   test_reused_gridspecr  !  s    
**,C
//!Q
'C
//!Q
"C


661#
>C




,
,
.C




,
,
.C




,
,
.Cr;   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(   rR   seedr$   r%   r   rB   rK   rQ   rS   rT   rq   r   r   r+   r1  r   Z
set_zorderZ
get_zorder)r3   subrD   r5   rV   r6   ZlegrW   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(   rO   rP   Zget_tightbboxr  r7  r   )r3   r  r{   r9   test_subfigure_tightbboxr  N  sV    
**M
*C
..A
CJJcjj5578>>r;   c                  sv    \         P                  ! ^dR7      p V P                  4       pVP                  ^4       R# )r)  r   N)r$   r%   r   Zset_dpir3   sub_figr{   r9   test_subfigure_dpir  X  s*    
**
CnnG OOC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(   rR   r  r$   r%   r  r  rB   rK   rQ   rS   rT   rq   r&   r'   r)   rC   )r3   r4   r  rD   r5   rV   rv   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?rm  zsubfigsnest[0]rx   Tr   g      @r  zx-labelr  zy-labelTitlerI   zsubfigsnest[1]r~   r9  ylabelr   r   N)r   i   g      )r(   rR   r  r$   r%   rq   r   r   rB   rQ   rS   r,   r*   rC   rT   rJ   r   r   )
r3   r@  ZsubfigsnestZaxsnest0r5   r  rV   Zaxsnest1rU   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               Nr  ):r    r!   NrF   )r!   rF   r   N):r    NN:rF   NN)r$   r%   r  r  r(   rO   rP   rE  minmaxr+   r&   rL   )r3   r4   sub_figsr   r   r6   rv   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=   )r>  r"  gkX.8@i  i  )r}   r   r  gRϫW@i,  N)r   r   )r    rQ  g!<L)r    r  g YI_)r    :r   i   N)r$   r%   r   r  r&   rD  r   rL   Z
get_xticksr(   rO   rP   )	r3   Z	subfig_blZ	subfig_brr4   r   ru   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<   rI  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  markerrx   )r  r  r   r~   Nr  )r   r   r   )r   r   i(   )r$   r%   r  r&   rD  r  rB   )r3   r4   r   rA  rD   r5   rv   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&   rt  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!   rp   )hspacer  r  r  r  r   r  gffffff?g?r*  r   NgUUUUUU?r  r?  r#   rR  rS  r   )	r$   r%   r   r(   rO   rP   rE  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        R# )r!   NrS  )r$   r%   r   r   )r3   Zsfsr{   r9   test_subfigure_remover    s-    
**,C
..A
CIr;   c                  s   \         P                  ! 4       p V P                  ^^^4      pV P                  ^^^4      p\         P                  ! 4        \         P                  ! 4       p V P                  ^^^RR7      pV P                  ^^^RR7      p\         P                  ! 4        \         P                  ! 4       p V P                  ^^^RR7      pV P                  ^^^4      p\         P                  ! 4        R# )rF   r   r   N)r$   r%   r&   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 IIKr;   c                  s   \         P                  ! 4       p V P                  . RO4      pV P                  . RO4      p\         P                  ! 4        \         P                  ! 4       p V P                  . RORR7      pV P                  . RORR7      p\         P                  ! 4        \         P                  ! 4       p V P                  . RORR7      pV P                  . RO4      p\         P                  ! 4        R# )r    r   r   Nr   )r$   r%   r   r\   r  r   r9   test_add_axes_kwargsr  /  s    
**,C	l	#B
,,|
$C IIK
**,C	lw	7B
,,|,
8C IIK
**,C	lw	7B
,,|
$C IIKr;   c                 sz  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        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   rp   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$   rB   Z	transDatar.  r   startr(   rO   rP   Zginput)recwarnr5   r  r  r3   r  s   &   @@r9   test_ginputr  H  s    H&>?llnGCLL""EU 
"l!!#S 
"m""$JJszz!}x.BCr;   c           
      sF   \         P                  ! R R4       \        P                  ! 4       p\	        R\        RVP                  R4      P                  4      P                  4        \	        R\        RVP                  ^ ^ ^4      P                  4      P                  4        R# )r   r  r   r  r   r  N)
r   r   r$   r%   r   r	   r  r  r  r
   )r  r3   r  r9   test_waitforbuttonpressr  ^  sp    H&>?
**,C	"h(#**c:CCDJJL	"j-szz1aCLLMSSUr;   c                  sF    \        R R7      p V P                  ^^RR7      pR# )zwhole Figurer  z
sub figureN)r   r   r  r{   r9   test_kwargs_passr  h  s     
~
&CnnQn6Gr;   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   rq   rf   r%  )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                  sV   \         P                  ! 4       w  rVP                  ^ ^.^^.4       VP                  R4       \        P
                  ! V 4      pVP                  ^ ,          P                  R4       VP                  RR4       V P                  4        VP                  4        R# )r    r   Zlinearr   g      Y@N)	r$   rB   r'   r   copyZdeepcopyr   r6  rL   )rs   r5   rt   r   r9   test_deepcopyr  ~  s    ||~HDGGQFQFMM%==D 	IIaLH% KKc!!r;   c                  s    \        ^*R7      p V P                  P                  ^4       \        P                  ! \        P
                  ! V 4      4      pR# )i*   r  N)r   r  r  pickleZloadsZdumps)r3   rt   r{   r9   %test_unpickle_with_device_pixel_ratior    s4    
R.CJJ&&q)<<S)*Dr;   c                  s    R R/p \        V 4      p\        P                  ! ^^^^.V R7       \        P                  ! R^^.V R7       R# )r>   r   )r=   Zgridspec_kwZABN)Zdictr$   rB   rT  )r4   Zgs_origr{   r9   test_gridspec_no_mutate_inputr    s@    
"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   r3  rv  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 supportedrc   r  N)r]   r^   r_   r   r   r   r   r  rv  r9   test_savefig_metadata_errorr    sA    	z)A	B	BcB? 
C	B	B	Bs   0AA0	c                  s<   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        RRR4       R#   + '       g   i     R# ; i)r#  r   Zh_padr  r  gQ?r  g{Gz?r   zwill be deprecatedrc   Nrl   )
r  rb  r$   r%   rf   Zlayout_enginer   r]   re   ZPendingDeprecationWarning)ZparamsZexpectedr3   r   r9    test_get_constrained_layout_padsr    sp    tWdHdHdKF'v}}'(H
**C--EEOO
PC	/7K	L	L	L	L	L	Ls   ?B

B	c                  s    \        4       p \        P                  ! 4       pV P                  VR R7       VP	                  ^ 4       V P                  R4       \        P                  ! 4       pV P                  VR R7       VP	                  ^ 4       R# )r   r  FN)r   r   ZStringIOr   Zseekr  )r3   r  r{   r9   test_not_visible_figurer    sc    
(C
++-CKKEK"HHQK OOE
++-CKKEK"HHQKr;   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 Figurerc   NrI   )Zcax)	r$   rB   r   rT   r]   re   r  r%   r   )rs   r   rt   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 changedrc   )
r$   r%   r   r]   re   rf   rg   Z
set_figurer^   r_   )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#K  	  R# )r   N)r$   r%   r   r$  r   r@  )r3   Zsf_arrr   r   r   r9   test_subfigure_row_orderr    s:    
**,C^^Aq!FFLLNCKK010r;   c                  s    \         P                  ! 4       p V P                  4        V P                  4       pV P                  4        VP                  4       pV P                  4        R Vn        R# )TN)r$   r%   rL   r   Zstale)r3   r  r  r   r9    test_subfigure_stale_propagationr    s\    
**,C  NNE   E  
 EKr;   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(   r]   ZPILr   Z
matplotlibrf   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   rX   ra   rj   rk   rm   rw   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  r%  r  r  r  r!  r&  r'  r(  r2  r5  r8  r:  r<  rB  rC  rF  rH  rJ  rK  rL  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  rl   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;   