+
    i6                        ^ RI t ^ RIt^ RIHt ^ RIt^ RIt^ RIH	t	 ^ RI
Ht ^ RIHtHt ^ RIHt ]P$                  P'                  R4      .tR2R lt]	! R.R	R
7      R 4       t]	! R.R	R
7      R 4       t]	! R.R	R
7      R 4       t]	! R.R	R
7      R 4       t]	! R.R	R
7      R 4       t]	! R.R	R
7      R 4       t]	! R.R	R
7      R 4       t]	! R.R	RR7      R 4       t]	! R.R	R
7      R 4       tR tR3R lt R  t!R! t"]P$                  PG                  R"R#R$.4      R% 4       t$R& t%R' t&R( t'R) t(R* t)]P$                  PU                  R+4      R, 4       t+R- t,R. t-R/ t.R0 t/R1 t0R# )4    N)assert_array_equal)image_comparison)AnchoredOffsetboxDrawingArea)	Rectangletext_placeholdersc                     V P                  ^^.4       V P                  ^R7       V P                  RVR7       V P                  RVR7       V P	                  RVR7       R# )   nbinsx-labelfontsizey-labelTitleN)plotlocator_params
set_xlabel
set_ylabel	set_title)axr   s   &&ځ/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/matplotlib/tests/test_tightlayout.pyexample_plotr      sR    GGQFOAMM)hM/MM)hM/LL8L,    tight_layout1mpl20)stylec                 x    \         P                  ! 4       w  r\        V^R7       \         P                  ! 4        R# )z'Test tight_layout for a single subplot.r   Npltsubplotsr   tight_layoutfigr   s     r   test_tight_layout1r%      s'     llnGCb!r   tight_layout2c                     \         P                  ! ^^R7      w  p w  w  rw  r4\        V4       \        V4       \        V4       \        V4       \         P                  ! 4        R# )(Test tight_layout for multiple subplots.)nrowsncolsNr   )r$   ax1ax2ax3ax4s        r   test_tight_layout2r/   #   sN     %(LLq$B!C	!*3jsr   tight_layout3c                     \         P                  ! ^4      p \         P                  ! ^4      p\         P                  ! ^z4      p\        V 4       \        V4       \        V4       \         P                  ! 4        R# )r(   N)r    subplotr   r"   )r+   r,   r-   s      r   test_tight_layout3r3   .   sR     ++c
C
++c
C
++c
Cr   tight_layout4c                 N   \         P                  ! RR4      p \         P                  ! RR^R7      p\         P                  ! RR^^R7      p\         P                  ! RR	^R7      p\        V 4       \        V4       \        V4       \        V4       \         P                  ! 4        R# )
z#Test tight_layout for subplot2grid.)colspanr6   rowspan)r8   N)   r9   r   r   )r   r
   )r
   r   )r
      )r    subplot2gridr   r"   )r+   r,   r-   r.   s       r   test_tight_layout4r=   :   s     

66
*C


661
5C


661a
@C


661
5Cr   tight_layout5c                     \         P                  ! 4       p \        P                  ! ^d4      P	                  R4      pV P                  VRR7       \         P                  ! 4        R# )zTest tight_layout for image.none)interpolationN
   rC   )r    r2   nparangereshapeimshowr"   )r   arrs     r   test_tight_layout5rI   H   sC     
B
))C.
 
 
*CIIcI(r   tight_layout6c                    \         P                  ! 4       ;_uu_ 4        \         P                  ! R\        4       \        P
                  ! 4       p \        P                  P                  ^^4      pV P                  V^ ,          4      pV P                  V^,          4      p\        V4       \        V4       VP                  V . R
OR7       \        P                  P                  ^^4      pV FA  pV P                  V4      p\        V4       VP                  R4       VP                  R4       KC  	  XP                  R^R7       VP                  V . RORR7       \        VP                  VP                  4      p\!        VP"                  VP"                  4      pVP                  V R	^ WP"                  ,
          ,           R^VP                  V,
          ,
          .R7       VP                  V R^ WP"                  ,
          ,           R	^VP                  V,
          ,
          .RR7       R	R	R	4       R	#   + '       g   i     R	# ; i)zTest tight_layout for gridspec.ignore      ?rect r   r   g?)rO   h_padN)r   r   rM   r
   )rM   r   r
   r
   )warningscatch_warningssimplefilterUserWarningr    figuremplgridspecGridSpecadd_subplotr   r"   r   r   mintopmaxbottom)	r$   gs1r+   r,   gs2ssr   r\   r^   s	            r   test_tight_layout6rb   Q   s    
	 	 	"	"h4jjlll##Aq)ooc!f%ooc!f%SS>2ll##Aq)B$BLLMM"	  	i"->>#''377#SZZ,D!vjj/@*A$'cggck):$< 	=CfZZ.?)@$(!swws{*;$=# 	 	%= 
#	"	"	"s   H	H11I	tight_layout7c                  H   ^p \         P                  ! 4       w  rVP                  ^^.4       VP                  ^R7       VP	                  RV R7       VP                  RV R7       VP                  RRV R7       VP                  RR	V R7       \         P                  ! 4        R
# )   r   r   r   r   z
Left Titleleft)locr   zRight TitlerightN)r    r!   r   r   r   r   r   r"   )r   r$   r   s      r   test_tight_layout7ri   {   s     HllnGCGGQFOAMM)hM/MM)hM/LL6HL=LLGhL?r   tight_layout8{Gzt?)r   tolc                     \         P                  ! 4       p V P                  RRR7       V P                  4       p\	        V^R7       V P                  4        R# )#Test automatic use of tight_layout.tight皙?)layoutpadr   N)r    rV   set_layout_enginerZ   r   draw_without_renderingr#   s     r   test_tight_layout8ru      sD     **,Cc2		Bb! r   tight_layout9c                      \         P                  ! ^^4      w  rV^,          ^,          P                  R4       \         P                  ! 4        R# )r;   FN)r    r!   set_visibler"   )faxarrs     r   test_tight_layout9r{      s8     ||Aq!HA	!HQKE"r   c                    \         P                  ! 4       p V P                  ^4      pVP                  P	                  R^^R7       VP
                  P	                  R^^R7       VP                  P	                  R^ ^RRR7       VP
                  P	                  R^ ^RRR7       VP                  P                  ^ .RR7       VP
                  P                  ^ .RR7       V P                  ^4      pVP                  P	                  R^ ^R7       VP
                  P	                  R^ ^R7       V P                  ^4      pVP                  P	                  R^ ^R7       VP
                  P	                  R^ ^R7       V P                  ^4      pVP                  P	                  R^ ^R7       VP
                  P	                  R^ ^R7       \         P                  ! 4        R	R
.RR..RR
.RR..R	R.RR..RR.RR...p\        V P                  4       FH  w  r1\        \        P                  ! VP                  4       P                  4       ^4      W#,          4       KJ  	  R# )rn   out)tickdirlengthwidthTminor)r~   r   r   tick1Onwhich)r   ininoutgZd;O?g\(\?gʡE?gB`"?gd;O?g/$?gDl?gm?N)r    rV   rZ   xaxisset_tick_paramsyaxis	set_ticksr"   	enumerateaxesr   rD   roundget_position
get_points)r$   r   expectednns       r   test_outward_ticksr      s   
**,C		BHHU2Q?HHU2Q?HHb4w  HHHb4w  HHHs$'HHs$'		BHHT"A>HHT"A>		BHHWRqAHHWRqA		BHHU2Q?HHU2Q? %(
%(
%(
%(	H CHH%288BOO$5$@$@$BAF#<	) &r   c                   T^V,           rTV) V) 3V) R3V) V3RV3WU3VR3WT) 3RV) 3.pV F^  p\        W4      p\        R	VVVR^ RR7      p	VP                  V	4       \        RVRRVV P                  RR7      p
V P                  V
4       K`  	  R# )
z
Surround ax with OffsetBoxes
rM   NoneF)r   height	facecolor	edgecolor	linewidthantialiasedcenterg        )rg   childrr   frameonbbox_to_anchorbbox_transform	borderpadNr:   )r   r   
add_artistr   	transAxes)r   sizemargincolormmpanchor_pointspointda
backgroundanchored_boxs   &&&&       r   add_offsetboxesr      s     AfHrb1"XBx1"b"Xx"b"XQBx)M $vT&*).)/)*+02
 	j!( << 	l#% r   c                    aaaaa ^;oo. ROo^ ^.;ooVVVVV3R lp V ! R4      w  rVP                  4        V ! R4      w  r4VP                  4        \        VP                  VP                  4       F  w  rVVP                  4       pVP                  4       pVP                  VP                  8  g   Q hVP
                  VP
                  8  g   Q hVP                  VP                  8  g   Q hVP                  VP                  8  d   K  Q h	  . p	VP                   Fu  pVP                  4        F^  p
\        V
\        4      '       g   K  V
P                  4       pV	 F  pVP                  V4      '       g   K  Q h	  V	P                  V4       K`  	  Kw  	  V ! R4      w  rVP                   FC  pVP                  4        F,  p
\        V
\        4      '       g   K  V
P                  R4       K.  	  KE  	  VP                  4        \        VP                  VP                  4       FN  w  ppVP                  4       pVP                  4       p\        VP!                  4       VP!                  4       4       KP  	  R# )r;   c                    < \         P                  ! SS4      w  r\        VP                  S4       F1  w  r4VP	                  SS	VR 7       V '       g   K#  \        V^VR 7       K3  	  W3# ))r   )r    r!   zipflatr   r   )

with_boxesr$   axsr   r   colorscolsrowsxys
   &    r   	_subplots0test_tight_layout_offsetboxes.<locals>._subplots   sX    <<d+SXXv.IBGGAqG&zBe4 / xr   FTN)redbluegreenyellow)r"   r   r   r   x0x1y0y1get_children
isinstancer   get_window_extentoverlapsappendrx   r   r   )r   fig0axs0fig1axs1ax0r+   bbox0bbox1bboxesr   bbox
other_bboxfig2axs2r   r,   bbox2r   r   r   r   r   s                     @@@@@r   test_tight_layout_offsetboxesr      s     OD4/FFNA  5!JD 4JD 		499-  "  "xx%(("""xx%(("""xx%(("""xx%((""" . Fyy%%'Ee%677**,D$
==4444 %MM$ (  4JDii__&E%!233!!%( '  	 		499-S  "  "5++-u/?/?/AB .r   c                 P    \         P                  ! 4       p V P                  4        R# )zETest that tight layout doesn't cause an error when there are no Axes.N)r    gcfr"   )r$   s    r   test_empty_layoutr   $  s    
'')Cr   labelxlabelylabelc                `    \         P                  ! RR7      w  rVP                  ! R/ V R/B  R# )z8Test that no warning emitted when xlabel/ylabel too big.figsizeNr9   r;    daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)r    r!   set)r   r$   r   s   &  r   test_verybig_decoratorsr   *  s(     ll6*GCFF eY r   c                     \         P                  ! ^^RR7      w  rV^ ,          P                  R4       V^,          P                  R4       R# )z+Test that doesn't warn when xlabel too big.r   Nr   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbb)r    r!   r   r$   r   s     r   test_big_decorators_horizontalr   1  :    ||Aq&1HCFhFhr   c                     \         P                  ! ^^RR7      w  rV^ ,          P                  R4       V^,          P                  R4       R# )z+Test that doesn't warn when ylabel too big.r   Nr   aaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbb)r    r!   r   r   s     r   test_big_decorators_verticalr   8  r   r   c                     \         P                  ! RR4       \         P                  ! RR^^R7       \        P                  ! \        4      ;_uu_ 4        \         P
                  ! 4        RRR4       R#   + '       g   i     R# ; i)   r7   N)r      r:   )r   r   )r   r9   )r    r<   pytestwarnsrU   r"   r   r   r   test_badsubplotgridr   ?  sP    VV$VVQ:	k	"	" 
#	"	"	"s   A44B	c                     \         P                  ! R R7      w  rVP                  ^ ^.4       VP                  ^ ^.4       VP	                  RRRRR7       VP                  4       p\        P                  ! \        4      ;_uu_ 4        \         P                  ! 4        VP                  4       pVP                  VP                  8X  g   Q h RRR4       \        P                  ! \        4      ;_uu_ 4        \         P                  ! . R	OR7       RRR4       R#   + '       g   i     LV; i  + '       g   i     R# ; i)
Tr"   zBIG LONG STRINGF)xyxytextannotation_clipNrN   )g      ?r;   )g      %@g      ?)r   r   皙?r   )r    r!   set_xlimset_ylimannotater   r   r   rU   r"   r   )r$   r   p1p2s       r   test_collapsedr   H  s    
 ll-GCKKAKKAKK!i %  '		B	k	"	"__xx288### 
#
 
k	"	"./ 
#	" 
#	"
 
#	"	"s   AD5D,D)	,D=	c                  "   \         P                  ! R R7      w  rV P                  R4      pVP                  R4      pV P                  P                  4        VP                  4       P                  VP                  4       P                  8  g   Q hR# )Tr   foobarN)	r    r!   suptitler   canvasdrawr   r   r   )r$   r   stts       r   test_suptitler  ]  sh    ll-GC	e	B
UAJJOO!$$q':':'<'?'????r   pdfc                    a \         P                  P                  P                  oV3R  lpV P	                  \         P                  P                  RV4       \
        P                  ! 4       w  r4VP                  4        R# )c                    < \        V \        P                  P                  P                  4      '       g   Q hS! V .VO5/ VB  R # )N)r   rW   backendsbackend_pdfRendererPdf)selfargskwargsunpatched_inits   &*,r   __init__'test_non_agg_renderer.<locals>.__init__i  s:     $ 8 8 D DEEEEt-d-f-r   r  N)rW   backend_basesRendererBaser  setattrr    r!   r"   )monkeypatchrecwarnr  r$   r   r  s   &&   @r   test_non_agg_rendererr  e  sX    &&33<<N. ))66
HMllnGCr   c                     \         P                  ! ^^4      w  rV^,          P                  ^ ^.^ ^.^^.R7      pV^,          P                  4       pV P	                  VP
                  R,           VP                  RVP                  .4      pV P                  W$R7       \        P                  ! \        RR7      ;_uu_ 4        V P                  4        RRR4       R#   + '       g   i     R# ; i)r
   )crk   gQ?)caxzThis figure includes AxesmatchN)r    r!   scatterr   add_axesr   r   r   colorbarr   r   rU   r"   )r$   r   ptsax_rectr  s        r   test_manual_colorbarr#  t  s    Q"IC
q'//1a&1a&QF/
3C1g""$G
,,	e	WZZ?C LLL	k)D	E	E 
F	E	E	Es   CC.	c                     \         P                  ! ^d4      P                  R
4      p \        P                  ! RR7      pVP                  ^RR7      pVP                  ^RR7      pVP                  ^RR7      pW#V3 F  pVP                  R4       VP                  V R,          4      w  pVP                  V 4      pVP                  4       '       g   Q hVP                  4       '       g   Q h\        RRRVP                  R7      pVP                  V4       VP                  VP                  4       VP                  4       4       VP                  4       '       d   Q hVP                  4       '       g   K  Q h	  R	# )d   r   rectilinear)
projection	mollweidepolarFrM   )	transformNrB   )   r;   ):NNNr   r:   )rD   rE   rF   r    rV   rZ   gridr   pcolor_fully_clipped_to_axesr   r   set_clip_pathget_pathget_transform)	rH   r$   r+   r,   r-   r   hr   rO   s	            r   test_clipped_to_axesr3    s+    ))C.
 
 
*C
**V
$C
//#-/
8C
//#+/
6C
//#'/
2Co
WWSYIIcN''))))''))))cR\\B		););)=>++----++---- r   c                      \         P                  ! 4       w  r\        P                  ! \        R R7      ;_uu_ 4        V P                  RR/4       RRR4       V P                  4        R#   + '       g   i     L"; i)zwill be deprecatedr  rr   333333?N)r    r!   r   r   PendingDeprecationWarningset_tight_layoutrt   r#   s     r   test_tight_padsr8    sV    llnGC	/0
2 
2eT]+
2  
2 
2s   A**A:	c                  \    \         P                  ! R R/R7      w  rV P                  4        R# )rr   r5  r   N)r    r!   rt   r#   s     r   test_tight_kwargsr:    s"    ll6GC r   c                     \         P                  ! 4       w  r\        P                  ! \        4      ;_uu_ 4        V P                  R 4       V P                  4       '       g   Q hV P                  R4       V P                  4       '       d   Q hV P                  R 4       V P                  4       '       g   Q h RRR4       R#   + '       g   i     R# ; i)TFN)r    r!   r   r   r6  r7  get_tight_layoutr#   s     r   test_tight_toggler=    s    llnGC	/	0	0T"##%%%%U#''))))T"##%%%% 
1	0	0	0s   AC(C4CC	)   )rC   rp   black)1rR   numpyrD   numpy.testingr   r   
matplotlibrW   matplotlib.testing.decoratorsr   matplotlib.pyplotpyplotr    matplotlib.offsetboxr   r   matplotlib.patchesr   markusefixtures
pytestmarkr   r%   r/   r3   r=   rI   rb   ri   ru   r{   r   r   r   r   parametrizer   r   r   r   r   r  backendr  r#  r3  r8  r:  r=  r   r   r   <module>rM     s     ,   :  ? ( KK/0

- ?#73 4 ?#73 4 ?#73 4 ?#73
 4
 ?#73 4 ?#73&% 4&%R ?#73
 4
 ?#7>! ?! ?#73 4 )F$:ECP 8X"67! 8!  0*@ U 
.0!!
&r   