
    P/Ph              	       $   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dS )%    )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 ]D}
|	                    || |
         ||dd           || |
         z   }|                    dg           Et	          j	        g            t	          j
        dd           t	          j        dgdz  d           |                    dgdz  dd           |                                 t	          j        |||d           d S )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/html/test/jupyter/venv/lib/python3.11/site-packages/matplotlib/tests/test_bbox_tight.pytest_bbox_inches_tightr5      s    211111222111333	5D  "dQh&Jt99D
)C
OO
$
$s
*CIE8C
OO$$Dl1a  GCT{{  
sDIuTsKKKd3i"JrNNNHQNNNJtaxZ((((JJtaxlJCCCIyJ*          bbox_inches_tight_suptile_legendarm64g{Gz?)r
   tolc                  p   t          j        t          j        d          d           t          j        dd           t          j        d           t          j        d           d	 } t          j                    j        	                    t          |                      t          j        d
           d S )N
   za straight line)label)g?r   z
upper leftr   z
Axis titlezFigure titlec                 J    t          |           dk    rdS t          |           S )N   zThe number 4)intstr)yposs     r4   y_formatterz:test_bbox_inches_tight_suptile_legend.<locals>.y_formatter8   s!    q66Q;;!>q66Mr6   zX axis)r   plotr   r   r&   titlesuptitlegcayaxisset_major_formatterr   xlabel)rC   s    r4   %test_bbox_inches_tight_suptile_legendrK   .   s     HRYr]]"34444JhL9999IlL     
 GIIO''k(B(BCCCJxr6   z)bbox_inches_tight_suptile_non_default.png皙?c                  b    t          j                    \  } }|                     ddd           d S )NBooo      ?g?)xrA   )r   r    rF   r1   r2   s     r4   +test_bbox_inches_tight_suptitle_non_defaultrR   B   s1     lnnGCLL3#L&&&&&r6   zbbox_inches_tight_layout.pngmpl20layoutr   
pad_inches)r	   styler
   c                      t          j        d          \  } }|                                                     d           |                    d           d S )Nconstrained)rT   rO   )h_padequal)r   r    get_layout_engineset
set_aspectrQ   s     r4   )test_bbox_inches_tight_layout_constrainedr_   J   sU     l-000GCc***MM'r6   c                 h    t          j                    \  }}|                    | dz  dd           d S )Nzfoo.pngr   rT   rU   )r   r    savefig)tmp_pathr1   r2   s      r4   ,test_bbox_inches_tight_layout_notconstrainedrc   S   s6     lnnGCKK9$'hKOOOOOr6   bbox_inches_tight_clippingc                  H   t          j        t          j        d          t          j        d                     t          j                    } |                     dd           |                     dd           t          j        ddgdd| j	        dd          }t          j                            d                                          }|xj        d	z  c_        |                    || j        
           t          j                    j                            |           d S )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    
 K	"ry}}---	BKK1KK1 Sz3)+)/s< < <E :''**3355DMMTMM	555GIIU#####r6   bbox_inches_tight_rasterc                  d    t          j                    \  } }|                    ddgd           dS )z$Test rasterization with tight_layoutg      ?g       @T
rasterizedN)r   r    rD   rQ   s     r4   test_bbox_inches_tight_rasterr   o   s3     lnnGCGGS#J4G(((((r6   c                      t          j                    \  } }|                    ddt          d          f           |                                 |                     t                      dd           d S )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   sd    lnnGCKK5<<(K)))OOKK		wuK=====r6   c                     t          j                    \  } }|                    t          j        d                              d                     |                    d           t                      }|                     |d           |	                    d           t          j
        |          j        \  }}}||k    sJ d S )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    lnnGCMM")A,,&&v..///FFF
))CKKK)))HHQKKKz#,FE1 6>>>>>>r6   c                  d   ddl m}  d\  }}d}t          j        d|||z  ||z  f          }|                    d          }|                                 |j                            d           |j                            d           t          j
        ||z                                ||          }|                    |d	           |                    t                      d
dd           t                      }|                    |d
d           |                    d           t          j        |                     |                    }|d d d d df         dk                                    sJ |d d d d d df         dk                                    rJ |j        dk    sJ d S )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      s   NFF
C
*UfSj&*5M
N
N
NC	l	#	#BOOHH9Vf_%%--ff==DIIdtI$$$
 KK		w1UKKKK
))CKKQK777HHQKKK	EJJsOO	$	$Bqqq!!!QwK3##%%%%%111aaa!8#((*****8z!!!!!!r6   bbox_inches_fixed_aspectr   )
extensionsr	   r
   c                     t          j        ddi          5  t          j                    \  } }|                    ddg           |                    dd           |                    d           d d d            d S # 1 swxY w Y   d S )Nzfigure.constrained_layout.useTr   r   r[   )r   
rc_contextr    rD   rl   r^   rQ   s     r4   test_bbox_inches_fixed_aspectr      s     
8$?	@	@  ,..R
A
Aq
g	                 s   AA==BB)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      s              : : : : : :             % % % % % % + + + + + + &'T!. 8: : : : :> 56!. 8.h.00G;;ddD D D D D" >?!. 8  ' ' '
 12 $X N N NP P P P PP P P /0"='2JL L L$ $L L$& -."='2JL L L) )L L)> > >
 
 
" " "8 -.E7"='2JL L L L L  r6   