
    hx[                     8   S SK r S SKrS SKrS SKrS SKrS SKJr  S SK	J
r  S SKJr  S SKJrJr  S[S jrS\S jr\" S/5      S 5       r\" S/5      S	 5       r\" S
/5      S 5       r\" S/5      S 5       r\" S/SS9S 5       r\" S/SS9S 5       rS rS r\" S/5      S 5       r\" S/5      S 5       r\" S/\R:                  " 5       S:X  a  S OSS9S 5       r\" S/5      S 5       r\" S /5      S! 5       r \" S"/5      S# 5       r!\" S$/S%S9S& 5       r"\" S'/5      S( 5       r#\" S)/5      S* 5       r$\" S+/5      S, 5       r%\" S-/5      S. 5       r&S/ r'S0 r(S1 r)S2 r*S3 r+S4 r,\" S5/S6S7S89S9 5       r-S: r.S; r/\" S</S7S=9S> 5       r0\" S?/S7S=9S@ 5       r1SA r2\" SB/S6S7SCSD0SE9SF 5       r3\" SG/S6S7SC\Rh                  " SHS /SISJ//5      0SE9SK 5       r5SL r6SM r7SN r8SO r9SP r:SQ r;SR r<SS r=\R|                  R                  STSUSV0 S64SWS0S64/5      SX 5       r@SY rASZ rBg)]    N)image_comparison)gridspectickerc                     U R                  SS/5        U R                  SS9  U(       d1  U R                  SUS9  U R                  SUS9  U R	                  SUS9  g U R                  / 5        U R                  / 5        g )	N         nbinsx-labelfontsizey-labelTitle)plotlocator_params
set_xlabel
set_ylabel	set_titleset_xticklabelsset_yticklabels)axr   nodecs      Y/var/www/html/env/lib/python3.13/site-packages/matplotlib/tests/test_constrainedlayout.pyexample_plotr      sq    GGQFOA
i(3
i(3
Wx0
2
2    c           
      x   Su  p#[         R                  [        SSU-   U5      [        SSU-   U5      4   u  pESUS-  -
  US-  -   US-  -   [         R                  " US-  * US-  -
  5      -  nU R	                  XTUS S2S S24   S	S
SSS9nU R                  SUS9  U R                  SUS9  U R                  SUS9  U$ )N)333333?r   r	   r          @   r   RdBu_rg            ?T)cmapvminvmax
rasterizedr   r   r   r   )npmgridsliceexp
pcolormeshr   r   r   )r   r   dxdyyxzpcms           r   example_pcolorr4      s    FB88E"a"fb)"a"fb)* +DA	
QVa1f	qAv	%a!q&0@)AAA
--aSbSks#'  )CMM)hM/MM)hM/LL8L,Jr   zconstrained_layout1.pngc                  `    [         R                  " SS9n U R                  5       n[        USS9  g)z,Test constrained_layout for a single subplotconstrainedlayout   r   N)pltfigureadd_subplotr   figr   s     r   test_constrained_layout1r?   '   s(     **M
*C		Bb!r   zconstrained_layout2.pngc                  n    [         R                  " SSSS9u  pUR                   H  n[        USS9  M     g)z(Test constrained_layout for 2x2 subplotsr   r6   r7   r9   r   N)r:   subplotsflatr   r>   axsr   s      r   test_constrained_layout2rE   /   s0     ||Aq7HChhR"% r   zconstrained_layout3.pngc                      [         R                  " SSSS9u  p[        UR                  5       H*  u  p#[	        USS9nUS:X  a  SnOSnU R                  XCUS	9  M,     g
)z3Test constrained_layout for colorbars with subplotsr   r6   r7   r9   r   r	   g{Gz?{Gz?)r   padN)r:   rA   	enumeraterB   r4   colorbar)r>   rD   nnr   r3   rH   s         r   test_constrained_layout3rL   7   sZ     ||Aq7HCCHH%R"-7CCSS) &r   zconstrained_layout4.pngc                      [         R                  " SSSS9u  pUR                   H  n[        USS9nM     U R	                  WUSSS9  g	)
z;Test constrained_layout for a single colorbar with subplotsr   r6   r7   r9   r   {Gz?r   r   rH   shrinkNr:   rA   rB   r4   rJ   r>   rD   r   r3   s       r   test_constrained_layout4rS   E   sF     ||Aq7HChhR"- LL$sL3r   zconstrained_layout5.pnggMb`?)tolc            	          [         R                  " SSSS9u  pUR                   H  n[        USS9nM     U R	                  WUSSSS	S
9  g)zN
Test constrained_layout for a single colorbar with subplots,
colorbar bottom
r   r6   r7   r9   r   FrN   r   bottom)r   use_gridspecrH   rP   locationNrQ   rR   s       r   test_constrained_layout5rY   O   sQ     ||Aq7HChhR"- LL#c"  $r   zconstrained_layout6.pngc                     S[         R                  S'   [         R                  " SS9n U R                  SSU S9nUS   R	                  SS5      nUS   R	                  SS5      n/ nU H#  nU R                  U5      nXE/-  n[        US	S
9  M%     WR                  S5        / nU H#  nU R                  U5      nXe/-  n[        US	S
9nM%     U R                  WUSSS[        R                  " SS9S9  g)z,Test constrained_layout for nested gridspecsFpcolormesh.snapr6   r7   r   r   r;   r      r   zx-label
MultiLinerN   gGz?rV   r!   r
   )r   rH   rP   rX   ticksN)r:   rcParamsr;   add_gridspecsubgridspecr<   r   r   r4   rJ   r   MaxNLocator)r>   gsgslgsraxslr   axsrr3   s           r   test_constrained_layout6rh   ^   s    ',CLL"#
**M
*C			!Qs		+B
Q%

Aq
!C
Q%

Aq
!CD__R R"%  MM&'D__R R"- 
 LL$))2  4r   c                     [         R                  " SS9n U R                  SS5      nUS   R                  SS5      nUS   R                  SS5      n/ n/ n[	        S5       H/  nX@R                  X&   5      /-  nXPR                  X6   5      /-  nM1     U R                  5         US   R                  5       R                  US   R                  5       R                  :  d   eg )NTconstrained_layoutr   r   r   r	   )
r:   r;   r`   ra   ranger<   draw_without_renderingget_positiony0y1)r>   GSGSAGSBaxaaxbis          r   test_identical_subgridspecrw   y   s    
**
-C			!Q	B
Q%

Aq
!C
Q%

Aq
!C
C
C1X'(('((   q6 ##c!f&9&9&;&>&>>>>r   c                     [         R                  " [        SS9   [        R                  " SS9n [
        R                  " SS5      n[
        R                  " SSUS   5      n[
        R                  " SSUS   5      nU H  nU R                  U5        M     U R                  5         SSS5        g! , (       d  f       g= f)	z2Test for proper warning if fig not set in GridSpeczhThere are no gridspecs with layoutgrids. Possibly did not call parent GridSpec with the "figure" keywordmatchr6   r7   r   r   r   N)
pytestwarnsUserWarningr:   r;   r   GridSpecGridSpecFromSubplotSpecr<   rm   )r>   rc   rd   re   s       r   test_constrained_layout7r      s    	 3
5 jj.q!$..q!RU;..q!RU;BOOB  	""$
5 
5 
5s   BB//
B=zconstrained_layout8.pngc                     [         R                  " SSS9n [        R                  " SSU S9n/ nS H}  nUS:X  a  S	/nOSS
/nU Hf  nU R	                  XU4   5      nX&/-  n[        USS9  US:  a  UR                  S5        US	:  a  UR                  S5        UR                  S5        Mh     M     U R	                  USSS24   5      nX&/-  n[        USS9nU R                  XrSSS9  g)z/Test for gridspecs that are not completely full)
   r!   r6   figsizer8   r	   r!   r\   r   r   r   r      	   r    r   NrN   r   rO   )
r:   r;   r   r~   r<   r4   r   r   r   rJ   )r>   rc   rD   jilistrv   r   r3   s           r   test_constrained_layout8r      s     **W]
;C			1a	,B
C6CEFEAqD*B4KC2*1ub!1ub!LL   
AqD	"B4KC
a
(CLL$sL3r   zconstrained_layout9.pngc                     [         R                  " SSSSSS9u  pUR                   H/  n[        USS9nUR	                  S5        UR                  S5        M1     WR                  S5        U R                  WUS	S
S9  U R                  SSS9  g)z4Test for handling suptitle and for sharex and shareyr   r6   Fr8   sharexshareyr9   r   r   r    rN   r   rO   zTest Suptitle   N)	r:   rA   rB   r4   r   r   
set_aspectrJ   suptitlerR   s       r   test_constrained_layout9r      s     ||Aq#(8HChhR"-
b
b  MM"LL$sL3LL2L.r   zconstrained_layout10.pngx86_64gMb?c                      [         R                  " SSSS9u  pUR                   H'  nUR                  [        R
                  " S5      SS9  M)     WR                  SSS	9  g
)z%Test for handling legend outside axisr   r6   r7   r]   zThis is a label)labelzcenter left)g?      ?)locbbox_to_anchorN)r:   rA   rB   r   r)   arangelegendrC   s      r   test_constrained_layout10r      sO     ||Aq7HChh
		"%67 II-
I;r   zconstrained_layout11.pngc                     [         R                  " SSS9n [        R                  " SSU S9n[        R                  " SSUS   5      n[        R                  " SSUS   5      nU R                  US   5      n[        USS	9  / nU H#  nU R                  U5      nXT/-  n[        USS	9nM%     U R                  WUS
SS9  U R                  US   5      n[        USS	9  g)z"Test for multiple nested gridspecsr6   )   r	   r8   r   r   r   r\   r   r   r   r        Q@r   rP   aspectN	r:   r;   r   r~   r   r<   r   r4   rJ   r>   gs0rd   gsl0r   rD   rc   r3   s           r   test_constrained_layout11r      s     **M7
;C


Aq
-C

*
*1aQ
8C++Aq#a&9D	Q	 Ba 
C__R tR!,  LLSL5	Q	 Ba r   zconstrained_layout11rat.pngc                     [         R                  " SSS9n [        R                  " SSU SS/S9n[        R                  " SSUS   5      n[        R                  " SSUS   SS/S	9nU R                  US   5      n[        US
S9  / nU H#  nU R                  U5      nXT/-  n[        US
S9nM%     U R                  WUSSS9  U R                  US   5      n[        US
S9  g)z4Test for multiple nested gridspecs with width_ratiosr6   )r   r	   r   r   r      )r;   width_ratiosr   )height_ratiosr   r   r   r   r   Nr   r   s           r   test_constrained_layout11ratr      s     **M7
;C


AqAq6
BC

*
*1aQ
8C++Aq#a&AOD	Q	 Ba 
C__R tR!,  LLSL5	Q	 Ba r   zconstrained_layout12.pngc                     [         R                  " SSS9n [        R                  " SSU S9nU R	                  USS2S	4   5      nU R	                  USS2S	4   5      n[        US
S9  [        US
S9  U R	                  USS2S4   5      n[        USS9  U R	                  USS2S4   5      n[        USS9  U R	                  USS2S4   5      n[        USS9  UR                  S5        g)z/Test that very unbalanced labeling still works.r6   )r      r   r   r   r\   Nr	   r      r   r   T)r   r   r   )r:   r;   r   r~   r<   r   r   )r>   r   ax1ax2r   s        r   test_constrained_layout12r      s     **M6
:C


Aq
-C
//#bqb!e*
%C
//#ab!e*
%Cr"r"	QqS!V	%B4 	QqS!V	%B4 	QRU	$B4 MM)r   zconstrained_layout13.pngrG   c            	      r   [         R                  " SSSS9u  pUR                   H  n[        USS9nU R	                  X2SSSS	9  M!     [
        R                  " [        5         U R                  5       R                  S
SS9  SSS5        U R                  5       R                  SSS9  g! , (       d  f       N-= f)Test that padding works.r   r6   r7   r]   r   r         4@rG   r   rP   r   rH   r   )wpadhpadNUUUUUU?w_padh_pad)
r:   rA   rB   r4   rJ   r{   raises	TypeErrorget_layout_enginesetrR   s       r   test_constrained_layout13r     s     ||Aq7HChhR"-SCTB  
y	!###3 
"gW= 
"	!s   "B((
B6zconstrained_layout14.pngc            	          [         R                  " SSSS9u  pUR                   H  n[        USS9nU R	                  X2SSSS	9  M!     U R                  5       R                  S
S
SSS9  g)r   r   r6   r7   r]   r   r   r   rG   r   gUUUUUU?皙?r   r   hspacewspaceN)r:   rA   rB   r4   rJ   r   r   rR   s       r   test_constrained_layout14r     sn     ||Aq7HChhR"-SCTB  s   $r   zconstrained_layout15.pngc                      S[         R                  S'   [        R                  " SS5      u  pUR                   H  n[        USS9  M     g)zTest that rcparams work.Tzfigure.constrained_layout.user   r]   r   N)mplr_   r:   rA   rB   r   rC   s      r   test_constrained_layout15r   (  s=     59CLL01||Aq!HChhR"% r   zconstrained_layout16.pngc                  j    [         R                  " SS9u  p[        USS9  U R                  / SQ5      ng)zTest ax.set_position.r6   r7   r]   r   )r   r   皙?r   N)r:   rA   r   add_axesr>   r   r   s      r   test_constrained_layout16r   1  s-     ll-0GCb!
,,+
,Cr   zconstrained_layout17.pngc                  l   [         R                  " SS9n [        R                  " SSU S9nU R	                  US   5      nU R	                  USSS24   5      nU R	                  USS2SS	24   5      nU R	                  USS2S
4   5      n[        U5        [        U5        [        U5        [        U5        g)zTest uneven gridspecsr6   r7   r	   r\   r   r   r   r   Nr   r"   )r:   r;   r   r~   r<   r   )r>   rc   r   r   ax3ax4s         r   test_constrained_layout17r   9  s     **M
*C			1a	,B
//"T(
#C
//"QU)
$C
//"QR1W+
&C
//"QRV*
%Cr   c                  $   [         R                  " SS9u  pUR                  5       n[        U5        [        USS9  U R	                  5         [        UR                  5       R                  UR                  5       R                  :H  5      (       d   eg)z
Test twinxr6   r7   r9   r   N)r:   rA   twinxr   rm   allrn   extentsr   s      r   test_constrained_layout18r   J  sm    ll-0GC
((*Cr" r ((C,<,<,>,F,FFGGGGr   c                  h   [         R                  " SS9u  pUR                  5       n[        U5        [        USS9  UR	                  S5        UR	                  S5        U R                  5         [        UR                  5       R                  UR                  5       R                  :H  5      (       d   eg)z
Test twinyr6   r7   r9   r   r   N)	r:   rA   twinyr   r   rm   r   rn   r   r   s      r   test_constrained_layout19r   T  s    ll-0GC
((*Cr"MM"LL r ((C,<,<,>,F,FFGGGGr   c                     [         R                  " SSS5      n [         R                  " X SS2S4   5      n[        R                  " 5       nUR                  / SQ5      nUR                  X USS2SS24   5      nUR                  U5        g)z)Smoke test cl does not mess up added Axesr!   r   N)r   r   r   r   r"   )r)   linspacehypotr:   r;   r   r-   rJ   )gximgr>   r   meshs        r   test_constrained_layout20r   `  so    	RA	B
((2!T'{
#C
**,C	l	#B==SbS#2#X/DLLr   c                     [         R                  " SS9u  pU R                  S5        U R                  5         [        R
                  " UR                  5       R                  5      nU R                  S5        U R                  5         [        R
                  " UR                  5       R                  5      n[        R                  R                  X#5        g)z>#11035: repeated calls to suptitle should not alter the layoutr6   r7   	Suptitle0	Suptitle1N)
r:   rA   r   rm   r)   copyrn   r   testingassert_allcloser>   r   extents0extents1s       r   test_constrained_layout21r   k  s    ll-0GCLL wwr(001HLL wwr(001HJJx2r   c                     [         R                  " SS9u  pU R                  5         [        R                  " UR                  5       R                  5      nU R                  SSS9  U R                  5         [        R                  " UR                  5       R                  5      n[        R                  R                  X#5        g)zC#11035: suptitle should not be include in CL if manually positionedr6   r7   Suptitler   r0   N)
r:   rA   rm   r)   r   rn   r   r   r   r   r   s       r   test_constrained_layout22r   z  s    ll-0GC wwr(001HLLsL# wwr(001HJJx2r   c                      [        S5       HT  n [        R                  " SSSS9nUR                  SS5      nUS   R	                  SS5      nUR                  SU  35        MV     g	)
zi
Comment in #11035: suptitle used to cause an exception when
reusing a figure w/ CL with ``clear=True``.
r   r6   T123)r8   clearnumr   r   r   N)rl   r:   r;   r`   ra   r   )rv   r>   rc   subs       r   test_constrained_layout23r     s^     1XjjTuEa#e1%xs^$	 r   ztest_colorbar_location.pngTmpl20)remove_textstylec                     S[         R                  S'   [         R                  " SSSS9u  pUR                   H0  n[	        U5      nUR                  S5        UR                  S5        M2     U R                  WUSS2S	4   S
S9  U R                  X1SSS24   SSS9  U R                  X1SSS24   SSSS9  U R                  X1SSS24   SSS9  U R                  X1S   SSS9  U R                  X1S	S2S4   SSS9  g)zM
Test that colorbar handling is as expected for various complicated
cases...
Fr[   r   r!   r6   r7   r   Nr   r   )r   rP   r"   r   r   rV   )r   rP   rX   r   g?)r   rP   rX   rH   r	   topr   leftright)r:   r_   rA   rB   r4   r   r   rJ   rR   s       r   test_colorbar_locationr    s     ',CLL"#||Aq7HChhR 
b
b  LLQT3L/LLR!VS8LDLLQUC(LMLLRVS5LALLT3L@LLQqS!VS7LCr   c                      [         R                  " SSSS9u  pUS   R                  S5        U R                  5         [        R
                  " US   R                  5       R                  5      n[        R                  R                  U/ SQSS	9  g )
Nr   r6   r7   r   Fr   )g|R?g\	b?g&:?g9?q?h㈵>)rtol)
r:   rA   set_visiblerm   r)   r   rn   r   r   r   )r>   rD   r   s      r   test_hidden_axesr    sw     ||Aq7HCI%  wws4y--/778HJJ9  Fr   c            
         S GH  n [         R                  " SSSS9u  p/ n[        UR                  5       H  u  pEUR	                  SS9  [        U5      nUR                  XeU SSS	9nX7/-  nUR                  R	                  SS9  US
:w  d  MW  UR                  R                  R                  / 5        UR                  R                  R                  / 5        UR                  / 5        UR                  / 5        M     UR                  5       R                  SSSSS9  UR                  5         U S;   a  [         R"                  R%                  US   R                  R'                  5       R(                  US   R                  R'                  5       R(                  5        [         R"                  R%                  US
   R                  R'                  5       R(                  US   R                  R'                  5       R(                  5        GM  [         R"                  R%                  US   R                  R'                  5       R*                  US
   R                  R'                  5       R*                  5        [         R"                  R%                  US   R                  R'                  5       R*                  US   R                  R'                  5       R*                  5        GM     g )N)r   r   r   rV   r   r6   r7   in)	directionr   g{Gz?)r   rX   rP   rH   r   gqq?g?r   )r   r   r   r	   )r:   rA   rI   rB   tick_paramsr4   rJ   r   xaxis	set_ticksyaxisr   r   r   r   rm   r)   r   r   rn   x0ro   )rX   r>   rD   cbsrK   r   pccbs           r   test_colorbar_alignr    s3   6<<1];)FBNNTN*#Bb(3"&  (B4KCEE-Qw%%b)%%b)""2&""2& * 	##&+.s 	$ 	< 	""$((JJ&&s1vyy'='='?'B'B'*1vyy'='='?'B'BDJJ&&s1vyy'='='?'B'B'*1vyy'='='?'B'BD JJ&&s1vyy'='='?'B'B'*1vyy'='='?'B'BDJJ&&s1vyy'='='?'B'B'*1vyy'='='?'B'BD7 7r   ztest_colorbars_no_overlapV.png)r   c                  P   [         R                  " SSS9n U R                  SSSSS9nU Hh  nUR                  R	                  [
        R                  " 5       5        UR                  SS	S
9  UR                  SS/SS//5      nU R                  X2SS9  Mj     U R                  S5        g )N)r   r   r6   r   r   r   Tr   r   bothr  axisr	  r	   r   verticalr   orientationfoo)r:   r;   rA   r  set_major_formatterr   NullFormatterr
  imshowrJ   r   r>   rD   r   ims       r   test_colorbars_no_overlapVr!    s    
**VM
:C
,,q!D,
6C
$$V%9%9%;<
Fd3YYAA'(RJ7	 
 LLr   ztest_colorbars_no_overlapH.pngc                  P   [         R                  " SSS9n U R                  S5        U R                  SSSSS9nU Hh  nUR                  R                  [        R                  " 5       5        UR                  S	S
S9  UR                  SS/SS//5      nU R                  X2SS9  Mj     g )N)r   r   r6   r   r  r   r   Tr  r  r  r  r	   r   
horizontalr  )r:   r;   r   rA   r  r  r   r  r
  r  rJ   r  s       r   test_colorbars_no_overlapHr$    s    
**VM
:CLL
,,q!D,
6C
$$V%9%9%;<
Fd3YYAA'(RL9	 r   c                  h   [         R                  " SSSS9u  pUS   R                  / SQ5        U R                  5         US   R	                  5       n[
        R                  R                  USS/SS//5        [         R                  " SSSS9u  pUS   R                  / SQ5        US   R                  [
        R                  R                  S	S	5      5      nU R                  X1S   S
9  U R                  5         US   R	                  5       n[
        R                  R                  USS/SS//5        g )Nr   r   r6   r7   r   r   r   333333?r'  r   r      r   g)\(?)r:   rA   set_positionrm   rn   r)   r   r   r-   randomrandrJ   )r>   rD   ppr  s       r   test_manually_set_positionr.    s   ||Aq7HCF,- 	Q			BJJrS#Jc
#;<||Aq7HCF,-	Q		299>>"b1	2BLLAL 	Q			BJJrS#Js#<=r   ztest_bboxtight.pngbbox_inchestight)r   r   savefig_kwargc                  R    [         R                  " SS9u  pUR                  S5        g Nr6   r7   r$   r:   rA   r   r=   s     r   test_bboxtightr5    s      ll-0GCMM"r   ztest_bbox.pngr   g      @r   c                  R    [         R                  " SS9u  pUR                  S5        g r3  r4  r=   s     r   	test_bboxr7  	  s     
 ll-0GCMM"r   c                     [         R                  " SSSSSS0S9u  n u  pnUR                  SS5        UR                  S	5        UR                  S
S5        UR                  S	5        UR                  SS5        UR                  S	5        U R	                  XU4S9  U R                  5         UR                  R                  R                  5       UR                  R                  R                  5       UR                  R                  R                  5       /n[        R                  R                  US   R                  US   R                  /US   R                  SSS9  US   R                  S:  d   eg)z
Tests for a bug in which constrained layout and align_ylabels on
three unevenly sized subplots, one of whose y tick labels include
negative numbers, drives the non-negative subplots' y labels off
the edge of the plot
r	   r   r6   )g@r   r   )r   r   gffffff?)r8   r   gridspec_kwr   Labelg      g      ?)rD   r   r  )r  atolN)r:   rA   set_ylimr   align_ylabelsrm   r  r   get_window_extentr)   r   r   r  )r>   r   r   r   after_aligns        r   test_align_labelsr@    sI    <<1]085D GL 5MNC#C
 LLANN7LLsNN7LLANN73S/* 99??44699??44699??4468K JJA 1 1;q>3D3DE*1~00qu  F q>!!!r   c                     [         R                  " SS9u  pU R                  5         UR                  U R                  R                  5       5      nU R                  S5        U R                  S5        U R                  5         UR                  U R                  R                  5       5      nUR                  UR                  S-   :  d   eUR                  UR                  S-   :  d   e[         R                  " SS9u  pU R                  5         UR                  U R                  R                  5       5      nU R                  SSS9  U R                  SSS9  U R                  5         UR                  U R                  R                  5       5      nUR                  UR                  S-   :  d   eUR                  UR                  S-   :  d   eg )	Nr6   r7   BooBooyg      $@r   )r1   r   )
r:   rA   rm   get_tightbboxcanvasget_renderer	supxlabel	supylabelro   r  )r>   r   pos0poss       r   test_suplabelsrK  4  sf   ll-0GC CJJ3356DMM%MM& 


3::224
5C66DGGdN"""66DGGdN"""ll-0GC CJJ3356DMM%3MMM%3M 


3::224
5C66DGGdN"""66DGGdN"""r   c                      [         R                  " 5       n U R                  SS5      nU R                  USS 2SS 24   5      nU R	                  5         g )Nr	   r   r   )r:   r;   r`   r<   rm   )r>   rc   sps      r   test_gridspec_addressingrN  K  sE    
**,C			!Q	B	ABF	$B r   c                     [         R                  " SS9u  pU R                  5         [        R                  " [
        SS9   [         R                  " 5       u  pU R                  S5        U R                  5         S S S 5        [        R                  " [
        SS9   [         R                  " 5       u  pU R                  SSS.5        U R                  5         S S S 5        g ! , (       d  f       Nl= f! , (       d  f       g = f)NTrj   zwill be deprecatedry   rG   r   )r:   rA   rm   r{   r|   PendingDeprecationWarningset_constrained_layoutr=   s     r   test_discouraged_apirR  R  s    lld3GC 	/0
2,,.""4(""$	
2 
/0
2,,.""TD#AB""$	
2 
2
2 
2
2 
2s    9C<C0
C-0
C>c                  T    [         R                  " SS0S9u  pU R                  5         g )Nr   rG   rj   )r:   rA   rm   r=   s     r   test_kwargsrT  c  s"    llwo>GC r   c                  0   [         R                  " SS9u  pU R                  5       R                  / SQS9  U R	                  5         UR                  5       nUR                  S:  d   eUR                  S:  d   e[         R                  " SS9u  pU R                  5       R                  / SQS9  U R	                  5         UR                  5       nUR                  S:  d   eUR                  S:  d   eUR                  S:  d   eUR                  S:  d   eg )Nr6   r7   )r   r   r   r   )rectr   r&  r   )
r:   rA   r   r   rm   rn   x1rp   r  ro   )r>   r   pposs      r   	test_rectrY  h  s    ll-0GC%56 ??D77S==77S==ll-0GC%9: ??D77S==77S==77S==77S==r   c            	      x   [         R                  " SSSSSS9u  pUR                   H2  nUR                  [        R
                  R                  SS5      5      nM4     U R                  WUS9  U R                  5         US   R                  5       n[        R                  R                  UR                  S	S
S9  US   R                  5       n[        R                  R                  UR                  SS
S9  [         R                  " SSSSSSS9u  pUR                   H2  nUR                  [        R
                  R                  SS5      5      nM4     U R                  X1S9  U R                  5         US   R                  5       n[        R                  R                  UR                  SS
S9  [        R                  R                  UR                  SS
S9  US   R                  5       n[        R                  R                  UR                  SS
S9  [        R                  R                  UR                  SS
S9  g )Nr	   r   
compressedTr   r(  r)  r   gX ?MbP?)r;  r   gz?)r!   r   )r8   r   r   r   gGr鷯?gQ?)r   r   gk+ݓ?goT?)r:   rA   rB   r  r)   r+  randnrJ   rm   rn   r   r   r  rW  rp   ro   )r>   rD   r   r  rJ  s        r   test_compressed1r^  z  s   ||Aq#'6HChhYYryyr2./  LLL 
d)
 
 
"CJJsvvvD9
d)
 
 
"CJJsvvvD9 ||Aq#'fFHChhYYryyr2./  LLL 
d)
 
 
"CJJsvvwT:JJsvvvD9
d)
 
 
"CJJsvvvD9JJsvvvD9r   c                  H   [         R                  " SSSSSS.S9u  n u  pUR                  S5        UR                  S	5        UR                  S5        UR                  S
5        U R	                  S5      nU R                  5         UR                  5       S
   [        R                  " SSS9:X  d   eU R	                  SSS9nU R                  5         UR                  5       S
   S:X  d   eU R	                  SSS9nU R                  5         UR                  5       S
   S:X  d   eg )Nr   )r   r   r[  )g      ?g      ?r   )r   r   )nrowsr   r8   r9  equalr   r   r   g??r\  )absg\(\?r   F)	in_layout)	r:   rA   r  set_box_aspectr   rm   rn   r{   approx)r>   ax0r   titles       r   test_compressed_suptitlerh    s   ll&4BDOC# HHWsHHWqLL!E "fmmF&EEEELLDL)E "d***LLEL2E "d***r   z
arg, state)TT)FFrV  c                 Z    [         R                  " U S9u  p#UR                  5       UL d   eg )Nrj   )r:   rA   get_constrained_layout)argstater>   r   s       r   test_set_constrained_layoutrm    s+     llc2GC%%'5000r   c                     [         R                  " 5       u  p[        R                  " [        5         U R                  S5        U R                  5       (       d   eU R                  S5        U R                  5       (       a   eU R                  S5        U R                  5       (       d   e S S S 5        g ! , (       d  f       g = f)NTF)r:   rA   r{   r|   rP  rQ  rj  r=   s     r   test_constrained_togglero    s    llnGC	/	0""4())++++""5)--////""4())++++ 
1	0	0s   A9B55
Cc                     [         R                  " SSS9n U R                  5         U R                  5         [         R                  " S5        A [
        R                  " 5         [        S [
        R                  " 5        5       5      (       a   eg )NT)r   r   )rk   r   r   c              3   j   #    U  H)  n[        U[        R                  R                  5      v   M+     g 7f)N)
isinstancer   _layoutgrid
LayoutGrid).0objs     r   	<genexpr>#test_layout_leak.<locals>.<genexpr>  s+      0.s c3??#=#=>>.s   13)	r:   r;   r<   rm   closegccollectanyget_objects)r>   s    r   test_layout_leakr~    sr     **h
?COO IIeJJL 0 nn.0 0 0 0 0 0r   )r]   F)r]   )Crz  platformnumpyr)   r{   
matplotlibr   matplotlib.testing.decoratorsr   matplotlib.pyplotpyplotr:   matplotlib.transforms
transformsmtransformsr   r   r   r4   r?   rE   rL   rS   rY   rh   rw   r   r   r   machiner   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r!  r$  r.  r5  Bboxr7  r@  rK  rN  rR  rT  rY  r^  rh  markparametrizerm  ro  r~   r   r   <module>r     s   	     :  + '	
 ,-." /" ,-.& /& ,-.
* /
* ,-.4 /4 ,-59$ :$ ,-594 :44?(%  ,-.4 /46 ,-./ // -.#++-9auF<F< -./! 0!& 012! 3!& -./ 0* -.E:> ;> -./$ 0$ -./& 0& -./- 0- -./ 0 H	H33
% /0"'3D3D*
FD@ 34GD E 34GD: E:>  '("'!. 8::
 ?#"'!.!,!1!1C8c1X2F!G!IJ	J
"D#.!%"!
$:>+0 Jd^T	( 11
,
0r   