o
    ¡:´a  ã                   @   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)ÚFuncFormatterZ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ÓÐ iÝ0 iìƒ iÆr )i/\ i¨: iîS i=™ i5	 )iO2 iÂ? i€L iïò i )ia  iõ i|< iDì i-Ì  Ú é   g333333Ó?gš™™™™™Ù?é   ZedgeÚb)ÚbottomZalignZcolorr   )g333333ó?çš™™™™™É?)Úloc)r   r   z
lower left©Zbbox_to_anchorr   r   )ZcellTextZ	rowLabelsZ	colLabelsr   )ÚlenÚnpÚarangeZzerosÚpltÚsubplotsÚrangeZbarÚappendZxticksZxlimÚlegendÚreverseÚtable)ÚdataZ
col_labelsZ
row_labelsZrowsZindZ	cell_textÚwidthZyoffÚfigÚaxÚrow© r    úB/usr/lib/python3/dist-packages/matplotlib/tests/test_bbox_tight.pyÚtest_bbox_inches_tight   s2   ü


ÿr"   Z 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)Z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Úposr    r    r!   Úy_formatter6   s   z:test_bbox_inches_tight_suptile_legend.<locals>.y_formatterzX axis)r   Úplotr   r   r   ÚtitleÚsuptitleÚgcaÚyaxisZset_major_formatterr   Zxlabel)r)   r    r    r!   Ú%test_bbox_inches_tight_suptile_legend-   s   

r/   z)bbox_inches_tight_suptile_non_default.pngçš™™™™™¹?)r   r   Ztolc                  C   s    t  ¡ \} }| jdddd d S )NZBoooç      à?gš™™™™™ñ?)Úxr'   )r   r   r,   ©r   r   r    r    r!   Ú+test_bbox_inches_tight_suptitle_non_default@   s   r4   Z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 )Nr#   r   r
   iÎÿÿÿéd   Zbluer1   )Ú	transformZ	facecolorZalphag      Ð?)r6   )r   Zscatterr   r   r-   Zset_xlimZset_ylimÚmpatchesZ	RectangleZ	transDataÚmpathZPathZunit_regular_starZdeepcopyZverticesZset_clip_pathZ	transAxesZgcfZartistsr   )r   ZpatchÚpathr    r    r!   Útest_bbox_inches_tight_clippingH   s   þr:   Zbbox_inches_tight_rasterc                  C   s"   t  ¡ \} }|jddgdd dS )z$Test rasterization with tight_layoutç      ð?g       @T©Z
rasterizedN)r   r   r*   r3   r    r    r!   Útest_bbox_inches_tight_raster]   s   r=   c                  C   s@   t  ¡ \} }|jddtdƒfd | ¡  | jtƒ ddd d S )Nr	   r   Únan)Zxyr   Zpng)r   Úformat)r   r   ZannotateÚfloatÚset_axis_offÚsavefigr   r3   r    r    r!   Útest_only_on_non_finite_bboxe   s   rC   c                  C   sn   t  ¡ \} }| t d¡ d¡¡ |jdd tƒ }| j|dd | 	d¡ t  
|¡j\}}}||ks5J ‚d S )Nr$   )é   rD   )r   r0   )Zylimr   )r   r   )r   r   Z
pcolorfastr   r   ÚreshapeÚsetr   rB   ÚseekZimreadÚshape)r   r   ÚbufZheightr   Ú_r    r    r!   Útest_tight_pcolorfastm   s   
rK   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s–J ‚d S )Nr   )ÚImage)r#   é   r5   F)ZframeonÚdpiZfigsize)ç        rO   r;   r;   Tr<   r   Zpdf)r   Ú
pad_inchesr?   )r   rP   é   éÿ   )rM   r#   r$   )ZPILrL   r   ZfigureZAxesZadd_axesrA   ZxaxisZset_visibler.   r   r   rE   ZimshowrB   r   rG   ZasarrayÚopenÚallrH   )	rL   Zx_sizeZy_sizerN   r   r   r   ÚoutZimr    r    r!   Útest_noop_tight_bboxz   s&   

"&rV   )Úior   Znumpyr   Zmatplotlib.testing.decoratorsr   Zmatplotlib.pyplotZpyplotr   Zmatplotlib.pathr9   r8   Zmatplotlib.patchesZpatchesr7   Zmatplotlib.tickerr   r"   r/   r4   r:   r=   rC   rK   rV   r    r    r    r!   Ú<module>   s>    ÿ
ÿ
þ
ÿ
ÿ
