o
    g                     @   s   d dl m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	d
d Zedgdddid	dd Zedgdddidddd Zedgdddid	dd Zedgdddid	dd Zdd Zdd Zdd  ZdS )!    )BytesION)image_comparison)FuncFormatterbbox_inches_tightTbbox_inchestight)remove_textsavefig_kwargc               	   C   s  g dg dg dg dg dg} dgd  }}t | }tt |d }g }d	}tt |}td
d
\}}	t|D ]}
|	j|| |
 ||ddd || |
  }|dg q<t	g  t
dd tjdgd dd |jdgd ddd |  tj|||d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row r2   ^/home/ubuntu/cloudmapper/venv/lib/python3.10/site-packages/matplotlib/tests/test_bbox_tight.pytest_bbox_inches_tight   s2   


r4    bbox_inches_tight_suptile_legendFc                  C   s`   t jtddd t jddd t d t d d	d
 } t  j	t
|  t d d S )N
   za straight line)label)g?r   z
upper leftr   z
Axis titlezFigure titlec                 S   s   t | dkrdS t| S )N   zThe number 4)intstr)yposr2   r2   r3   y_formatter6   s   z:test_bbox_inches_tight_suptile_legend.<locals>.y_formatterzX axis)r   plotr   r   r$   titlesuptitlegcayaxisset_major_formatterr   xlabel)r=   r2   r2   r3   %test_bbox_inches_tight_suptile_legend-   s   

rE   z)bbox_inches_tight_suptile_non_default.png皙?)r   r	   tolc                  C   s    t  \} }| jdddd d S )NBooo      ?g?)xr;   )r   r   r@   r/   r0   r2   r2   r3   +test_bbox_inches_tight_suptitle_non_default@   s   rL   bbox_inches_tight_clippingc                  C   s   t tdtd t  } | ddg | ddg tjddgdd| j	ddd}t
jd }| jd	9  _|j|| jd
 t  j| d S )Nr6   r   r   id   bluerI   )	transform	facecoloralphag      ?)rP   )r   scatterr   r   rA   set_xlimset_ylimmpatches	Rectangle	transDatampathPathunit_regular_stardeepcopyverticesset_clip_path	transAxesgcfartistsr!   )r0   patchpathr2   r2   r3   test_bbox_inches_tight_clippingH   s   rd   bbox_inches_tight_rasterc                  C   s"   t  \} }|jddgdd dS )z$Test rasterization with tight_layout      ?g       @T
rasterizedN)r   r   r>   rK   r2   r2   r3   test_bbox_inches_tight_raster]   s   ri   c                  C   s@   t  \} }|jddtdfd |  | jt ddd d S )Nr
   r   nan)xyr   png)r   format)r   r   annotatefloatset_axis_offsavefigr   rK   r2   r2   r3   test_only_on_non_finite_bboxe   s   rr   c                  C   sn   t  \} }|tdd |jdd t }| j|dd |	d t 
|j\}}}||ks5J d S )Nr8   )   rs   )r   rF   )ylimr   )r   r   )r   r   
pcolorfastr   r   reshapesetr   rq   seekimreadshape)r/   r0   bufheightr-   _r2   r2   r3   test_tight_pcolorfastm   s   
r~   c            	      C   s0  ddl m}  d\}}d}tjd||| || fd}t|g d}|| |  |jd |j	d t
|| ||}|j|dd	 |jt d
ddd t }|j|d
dd |d t
| |}|d d d d df dk s|J |d d d d d df dk rJ |jdksJ d S )Nr   )Image)r6      rN   F)frameondpifigsize)        r   rf   rf   Trg   r   pdf)r   
pad_inchesrm   )r   r         )r   r6   r8   )PILr   r   figureAxesadd_axesrp   xaxisset_visiblerB   r   r   rv   imshowrq   r   rx   asarrayopenallrz   )	r   x_sizey_sizer   r/   r0   r'   outimr2   r2   r3   test_noop_tight_bboxz   s&   

"&r   )ior   numpyr   matplotlib.testing.decoratorsr   matplotlib.pyplotpyplotr   matplotlib.pathrc   rY   matplotlib.patchespatchesrV   matplotlib.tickerr   r4   rE   rL   rd   ri   rr   r~   r   r2   r2   r2   r3   <module>   s>    




