+
     ]i6  c                   s   ^ 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)	RectangleZtext_placeholdersc                 s    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# )   Znbinsx-labelfontsizey-labelZTitleN)plotlocator_params
set_xlabel
set_ylabel	set_title)axr
   s   &&H/usr/lib64/python3.14/site-packages/matplotlib/tests/test_tightlayout.pyexample_plotr      sR    GGQFOAMM)hM/MM)hM/LL8L,    Ztight_layout1Zmpl20)stylec                 sx    \         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        r   test_tight_layout1r      s'     llnGCb!r   Ztight_layout2c                 s    \         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.)ZnrowsZncolsNr   )r   ax1ax2ax3ax4        r   test_tight_layout2r$   #   sN     %(LLq$B!C	!*3jsr   Ztight_layout3c                 s    \         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!         r   test_tight_layout3r'   .   sR     ++c
C
++c
C
++c
Cr   Ztight_layout4c                 sN   \         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r(   rowspan)r*   N)   r+   r    r    )r    r   )r   r    )r      )r   subplot2gridr   r   )r   r    r!   r"          r   test_tight_layout4r0   :   s     

66
*C


661
5C


661a
@C


661
5Cr   Ztight_layout5c                 s    \         P                  ! 4       p \        P                  ! ^d4      P	                  R4      pV P                  VRR7       \         P                  ! 4        R# )zTest tight_layout for image.Znone)ZinterpolationN
   r2   )r   r%   nparangereshapeZimshowr   )r   arrr   r   test_tight_layout5r7   H   sC     
B
))C.
 
 
*CIIcI(r   Ztight_layout6c                 s   \         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.Zignore      ?rectZ r   r	   g?)r:   Zh_padN)r    r    r8   r   )r8   r    r   r   )warningsZcatch_warningsZsimplefilterUserWarningr   figuremplZgridspecZGridSpecadd_subplotr   r   r   r   ZmintopZmaxbottom)	r   Zgs1r   r    Zgs2Zssr   r@   rA   	            r   test_tight_layout6rC   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	Ztight_layout7c                  sH   ^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
# )i   r   r   r	   r   z
Left TitleZleft)locr
   zRight TitleZrightN)r   r   r   r   r   r   r   r   )r
   r   r   r&   r   test_tight_layout7rE   {   s     HllnGCGGQFOAMM)hM/MM)hM/LL6HL=LLGhL?r   Ztight_layout8{Gzt?)r   Ztolc                 s    \         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.Ztight皙?)Zlayoutpadr	   N)r   r=   Zset_layout_enginer?   r   draw_without_renderingr   r   r   test_tight_layout8rK      sD     **,Cc2		Bb! r   Ztight_layout9c                  s    \         P                  ! ^^4      w  rV^,          ^,          P                  R4       \         P                  ! 4        R# )r-   FN)r   r   set_visibler   )ZfZaxarrr   r   test_tight_layout9rM      s8     ||Aq!HA	!HQKE"r   c                 s   \         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# )rG   Zout)tickdirlengthwidthTminor)rN   rO   rP   Ztick1OnZwhich)rQ   ZinZinoutgZd;O?g\(\?gʡE?gB`"?gd;O?g/$?gDl?gm?N)r   r=   r?   ZxaxisZset_tick_paramsZyaxisZ	set_ticksr   Z	enumerateaxesr   r3   Zroundget_position
get_points)r   r   ZexpectedZnnr/   r   test_outward_ticksrU      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                s   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
r8   ZNoneF)rP   heightZ	facecolorZ	edgecolorZ	linewidthZantialiasedZcenterg        )rD   childrI   ZframeonZbbox_to_anchorZbbox_transformZ	borderpadNr,   )r   r   Z
add_artistr   	transAxes)r   ZsizeZmargincolormZmpZanchor_pointsZpointZdaZ
backgroundZanchored_boxs   &&&&       r   add_offsetboxesr[      s     AfHrb1"XBx1"b"Xx"b"XQBx)M $vT&*).)/)*+02
 	j!( << 	l#% r   c                  s  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                 s   < \         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# ))rY   )r   r   zipflatr   r[   )
Z
with_boxesr   axsr   rY   colorscolsrowsxys
   &    r   	_subplotsZ0test_tight_layout_offsetboxes.<locals>._subplots   sX    <<d+SXXv.IBGGAqG&zBe4 / xr   FTN)ZredZblueZgreenZyellow)r   r\   r]   rS   Zx0x1y0y1Zget_children
isinstancer   get_window_extentZoverlapsZappendrL   r   rT   )rd   Zfig0Zaxs0Zfig1Zaxs1Zax0r   Zbbox0Zbbox1ZbboxesrW   ZbboxZ
other_bboxZfig2Zaxs2r   r    Zbbox2r_   r`   ra   rb   rc   s                     @@@@@r   test_tight_layout_offsetboxesrj      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                 sP    \         P                  ! 4       p V P                  4        R# )zETest that tight layout doesn't cause an error when there are no Axes.N)r   Zgcfr   )r   s    r   test_empty_layoutrk   $  s    
'')Cr   labelZxlabelZylabelc                s`    \         P                  ! RR7      w  rVP                  ! R/ V R/B  R# )z8Test that no warning emitted when xlabel/ylabel too big.ZfigsizeNr+   r-    Zdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)r   r   Zset)rl   r   r   s   &  r   test_verybig_decoratorsrp   *  s(     ll6*GCFF eY r   c                 s    \         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.rm   Nrn   ZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb)r   r   r   r   r^   r   r   test_big_decorators_horizontalrr   1  :    ||Aq&1HCFhFhr   c                 s    \         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.rm   Nrn   ZaaaaaaaaaaaaaaaaaaaaZbbbbbbbbbbbbbbbbbbbb)r   r   r   rq   r   r   test_big_decorators_verticalrt   8  rs   r   c                  s   \         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)   r)   N)ru      r,   )rv   rv   )r    r+   )r   r.   pytestwarnsr<   r   ro   r   r   test_badsubplotgridry   ?  sP    VV$VVQ:	k	"	" 
#	"	"	"s   A44B	c                  s   \         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)ZxyZxytextZannotation_clipNr9   )g      ?r-   )g      %@g      ?)r    r    皙?r{   )r   r   Zset_xlimZset_ylimZannotaterS   rw   rx   r<   r   rP   )r   r   Zp1Zp2r/   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                  s"   \         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# )Trz   ZfooZbarN)	r   r   Zsuptitler   ZcanvasZdrawri   rf   rg   )r   r   ZstZtr/   r   test_suptitler}   ]  sh    ll-GC	e	B
UAJJOO!$$q':':'<'?'????r   Zpdfc                 s   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                 s   < \        V \        P                  P                  P                  4      '       g   Q hS! V .VO5/ VB  R # )N)rh   r>   ZbackendsZbackend_pdfZRendererPdf)ZselfZargsZkwargsunpatched_inits   &*,r   __init__Z'test_non_agg_renderer.<locals>.__init__i  s:     $ 8 8 D DEEEEt-d-f-r   r   N)r>   Zbackend_basesZRendererBaser   Zsetattrr   r   r   )ZmonkeypatchZrecwarnr   r   r   r~   s   &&   @r   test_non_agg_rendererr   e  sX    &&33<<N. ))66
HMllnGCr   c                  s   \         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   )ZcrF   gQ?)caxzThis figure includes AxesZmatchN)r   r   ZscatterrS   Zadd_axesre   rf   rV   Zcolorbarrw   rx   r<   r   )r   rR   ZptsZax_rectr   r#   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                  s   \         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	# )id   rm   Zrectilinear)Z
projectionZ	mollweideZpolarFr8   )Z	transformNr1   )i   r-   ):NNNr    r,   )r3   r4   r5   r   r=   r?   Zgridr   ZpcolorZ_fully_clipped_to_axesr   rX   Zset_clip_pathZget_pathZget_transform)	r6   r   r   r    r!   r   ZhrZ   r:   rB   r   test_clipped_to_axesr     s+    ))C.
 
 
*C
**V
$C
//#-/
8C
//#+/
6C
//#'/
2Co
WWSYIIcN''))))''))))cR\\B		););)=>++----++---- r   c                  s    \         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   rI   333333?N)r   r   rw   rx   PendingDeprecationWarningset_tight_layoutrJ   r   r   r   test_tight_padsr     sV    llnGC	/0
2 
2eT]+
2  
2 
2s   A**A:	c                  s\    \         P                  ! R R/R7      w  rV P                  4        R# )rI   r   rz   N)r   r   rJ   r   r   r   test_tight_kwargsr     s"    ll6GC r   c                  s   \         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   rw   rx   r   r   Zget_tight_layoutr   r   r   test_tight_toggler     s    llnGC	/	0	0T"##%%%%U#''))))T"##%%%% 
1	0	0	0s   AC(C4CC	)i   )r2   rH   Zblack)1r;   Znumpyr3   Znumpy.testingr   rw   Z
matplotlibr>   Zmatplotlib.testing.decoratorsr   Zmatplotlib.pyplotZpyplotr   Zmatplotlib.offsetboxr   r   Zmatplotlib.patchesr   ZmarkZusefixturesZ
pytestmarkr   r   r$   r'   r0   r7   rC   rE   rK   rM   rU   r[   rj   rk   Zparametrizerp   rr   rt   ry   r|   r}   Zbackendr   r   r   r   r   r   ro   r   r   <module>r      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   