
    g              	          d dl mZ d dlZd dlZd dlmZ d dlmZ	 d dl
mZ d dlmZ d dlmZ  edgdddi	      d
        Z edgddi ej&                         dk(  rdnd       d        Z edgddid      d        Z edgdd edd            d        Zd Z edgdddi	      d        Z edgdddi	      d        Zd Zd Zd  Z ed!gd"gdddi#      d$        Zy)%    )BytesION)image_comparison)FuncFormatterbbox_inches_tightTbbox_inchestight)remove_textsavefig_kwargc            	         g dg dg dg dg dg} dgdz  x}}t        |       }t        j                  t        |            dz   }g }d	}t        j                  t        |            }t	        j
                  d
d
      \  }}	t        |      D ]6  }
|	j                  || |
   ||dd       || |
   z   }|j                  dg       8 t	        j                  g        t	        j                  dd       t	        j                  dgdz  d       |j                  dgdz  dd       |j                          t	        j                  |||d       y )N)iR iب i{% it i}  )iv  i i0 i ir )i/\ i: iS i= i5	 )iO2 i? iL i i )ia  i i|< iD i-      g333333?g?   edgeb)bottomaligncolorr   )g333333?皙?)loc)r   r   z
lower leftbbox_to_anchorr   r   )cellText	rowLabels	colLabelsr   )lennparangezerospltsubplotsrangebarappendxticksxlimlegendreversetable)data
col_labels
row_labelsrowsind	cell_textwidthyofffigaxrows              ]/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/matplotlib/tests/test_bbox_tight.pytest_bbox_inches_tightr5      s0    21213	5D  "dQh&Jt9D
))C
O
$s
*CIE88C
O$Dll1a GCT{ 
sDIuTsKd3i" JJrNHHQNJJtaxZ(JJtaxlJCIIyJ*     bbox_inches_tight_suptile_legendarm64g{Gz?)r
   tolc                  v   t        j                  t        j                  d      d       t        j                  dd       t        j
                  d       t        j                  d       d	 } t        j                         j                  j                  t        |              t        j                  d
       y )N
   za straight line)label)g?r   z
upper leftr   z
Axis titlezFigure titlec                 6    t        |       dk(  ryt        |       S )N   zThe number 4)intstr)yposs     r4   y_formatterz:test_bbox_inches_tight_suptile_legend.<locals>.y_formatter8   s    q6Q;!q6Mr6   zX axis)r   plotr   r   r&   titlesuptitlegcayaxisset_major_formatterr   xlabel)rC   s    r4   %test_bbox_inches_tight_suptile_legendrK   .   sq     HHRYYr]"34JJhL9IIlLL 
 GGIOO''k(BCJJxr6   z)bbox_inches_tight_suptile_non_default.png皙?c                  Z    t        j                         \  } }| j                  ddd       y )NBooo      ?g?)xrA   )r   r    rF   r1   r2   s     r4   +test_bbox_inches_tight_suptitle_non_defaultrR   B   s%     llnGCLL3#L&r6   zbbox_inches_tight_layout.pngmpl20layoutr   
pad_inches)r	   styler
   c                      t        j                  d      \  } }| j                         j                  d       |j	                  d       y )Nconstrained)rT   rO   )h_padequal)r   r    get_layout_engineset
set_aspectrQ   s     r4   )test_bbox_inches_tight_layout_constrainedr_   J   s<     ll-0GCc*MM'r6   c                 `    t        j                         \  }}|j                  | dz  dd       y )Nzfoo.pngr   rT   rU   )r   r    savefig)tmp_pathr1   r2   s      r4   ,test_bbox_inches_tight_layout_notconstrainedrc   S   s*     llnGCKK9$'hKOr6   bbox_inches_tight_clippingc                  R   t        j                  t        j                  d      t        j                  d             t        j                         } | j                  dd       | j                  dd       t        j                  ddgdd| j                  dd      }t        j                  j                  d      j                         }|xj                  d	z  c_        |j                  || j                   
       t        j"                         j$                  j'                  |       y )Nr;   r   r   id   bluerO   )	transform	facecoloralphag      ?)rh   )r   scatterr   r   rG   set_xlimset_ylimmpatches	Rectangle	transDatampathPathunit_regular_stardeepcopyverticesset_clip_path	transAxesgcfartistsr#   )r2   patchpaths      r4   test_bbox_inches_tight_clippingr|   Z   s    
 KK		"ryy}-	BKK1KK1 Sz3)+)/s<E ::''*335DMMTM	5GGIU#r6   bbox_inches_tight_rasterc                  \    t        j                         \  } }|j                  ddgd       y)z$Test rasterization with tight_layoutg      ?g       @T
rasterizedN)r   r    rD   rQ   s     r4   test_bbox_inches_tight_rasterr   o   s'     llnGCGGS#J4G(r6   c                      t        j                         \  } }|j                  ddt        d      f       |j	                          | j                  t               dd       y )Nr   r   nan)xyr   png)r   format)r   r    annotatefloatset_axis_offra   r   rQ   s     r4   test_only_on_non_finite_bboxr   w   sH    llnGCKK5<(K)OOKK	wuK=r6   c                  l   t        j                         \  } }|j                  t        j                  d      j                  d             |j                  d       t               }| j                  |d       |j                  d       t        j                  |      j                  \  }}}||kD  sJ y )Nr>   )   r   )r   rL   )ylimr   )r   r   )r   r    
pcolorfastr   r   reshaper]   r   ra   seekimreadshape)r1   r2   bufheightr/   _s         r4   test_tight_pcolorfastr      s    llnGCMM"))A,&&v./FFF
)CKKK)HHQKzz#,,FE1 6>>r6   c                     ddl m}  d\  }}d}t        j                  d|||z  ||z  f      }|j	                  d      }|j                          |j                  j                  d       |j                  j                  d       t        j                  ||z        j                  ||      }|j                  |d	       |j                  t               d
dd       t               }|j                  |d
d       |j                  d       t        j                   | j#                  |            }|d d d d df   dk(  j%                         sJ |d d d d d df   dk(  j%                         rJ |j&                  dk(  sJ y )Nr   )Image)r;      rf   F)frameondpifigsize)r   r   r   r   Tr   r   pdf)r   rV   r   rU         )r   r;   r>   )PILr   r   figureadd_axesr   xaxisset_visiblerH   r   r   r   imshowra   r   r   asarrayopenallr   )	r   x_sizey_sizer   r1   r2   r)   outims	            r4   test_noop_tight_bboxr      sG   NFF
C
**UfSj&*5M
NC	l	#BOOHHHH99Vf_%--ff=DIIdtI$
 KK	w1UKK
)CKKQK7HHQK	EJJsO	$Bq!QwK3##%%%1a!8#((***88z!!!r6   bbox_inches_fixed_aspectr   )
extensionsr	   r
   c                      t        j                  ddi      5  t        j                         \  } }|j                  ddg       |j	                  dd       |j                  d       d d d        y # 1 sw Y   y xY w)Nzfigure.constrained_layout.useTr   r   r[   )r   
rc_contextr    rD   rl   r^   rQ   s     r4   test_bbox_inches_fixed_aspectr      sc     
8$?	@ ,,.R
A
Aq
g	  s   AA//A8)ior   platformnumpyr   matplotlib.testing.decoratorsr   matplotlib.pyplotpyplotr   matplotlib.pathr{   rq   matplotlib.patchespatchesrn   matplotlib.tickerr   r5   machinerK   rR   dictr_   rc   r|   r   r   r   r   r    r6   r4   <module>r      sz      :   % + &'T!. 8::> 56!. 8.h..0G;dDD" >?!. 8''
 12 $X NPPP /0"='2JL$L$& -."='2JL)L)>
"8 -.E7"='2JLLr6   