
    G8c                     X   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
        Z edgddi      d        Z edgddid      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              B/usr/lib/python3/dist-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)r
   c                  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_formatter6   s    q6Q;!q6Mr6   zX axis)r   plotr   r   r&   titlesuptitlegcayaxisset_major_formatterr   xlabel)rA   s    r4   %test_bbox_inches_tight_suptile_legendrI   -   sq     HHRYYr]"34JJhL9IIlLL 
 GGIOO''k(BCJJxr6   z)bbox_inches_tight_suptile_non_default.png皙?)r
   tolc                  Z    t        j                         \  } }| j                  ddd       y )NBooo      ?g?)xr?   )r   r    rD   r1   r2   s     r4   +test_bbox_inches_tight_suptitle_non_defaultrQ   @   s%     llnGCLL3#L&r6   bbox_inches_tight_clippingc                  V   t        j                  t        j                  d      t        j                  d             t        j                         } | j                  ddg       | j                  ddg       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 )Nr9   r   r   id   bluerN   )	transform	facecoloralphag      ?)rV   )r   scatterr   r   rE   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_clippingrj   H   s    
 KK		"ryy}-	BKKAKKA 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_layout      ?g       @T
rasterizedN)r   r    rB   rP   s     r4   test_bbox_inches_tight_rasterrp   ]   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_offsavefigr   rP   s     r4   test_only_on_non_finite_bboxrz   e   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   rJ   )ylimr   )r   r   )r   r    
pcolorfastr   r   reshapesetr   ry   seekimreadshape)r1   r2   bufheightr/   _s         r4   test_tight_pcolorfastr   m   s    llnGCMM"))A,&&v./FFF
)CKKK)HHQKzz#,,FE1 6>>r6   c                  4   ddl m}  d\  }}d}t        j                  d|||z  ||z  f      }t        j                  |g d      }|j                  |       |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)r9      rT   F)frameondpifigsize)        r   rm   rm   Trn   r   pdf)r   
pad_inchesru   )r   r         )r   r9   r<   )PILr   r   figureAxesadd_axesrx   xaxisset_visiblerF   r   r   r   imshowry   r   r   asarrayopenallr   )	r   x_sizey_sizer   r1   r2   r)   outims	            r4   test_noop_tight_bboxr   z   sV   NFF
C
**UfSj&*5M
NC	#'	(BLL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_aspectrt   )
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   equal)r   
rc_contextr    rB   rZ   
set_aspectrP   s     r4   test_bbox_inches_fixed_aspectr      sc     
8$?	@ ,,.R
A
Aq
g	  s   AA//A8)ior   numpyr   matplotlib.testing.decoratorsr   matplotlib.pyplotpyplotr   matplotlib.pathri   r_   matplotlib.patchespatchesr\   matplotlib.tickerr   r5   rI   rQ   rj   rp   rz   r   r   r    r6   r4   <module>r      s(     :   % + &'T!. 8::> 56!. 8::" >?!. 8''
 /0"='2JL$L$& -."='2JL)L)>
": -.E7"='2JLLr6   