
    ^j              	       
   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 d dlmZ  edgddd	d
i      d        Z edgd	d
id ej*                         dk(  rd nd      d        Z edgd	d
idd      d        Z edgdd ed
d            d        Zd Z edgdd	d
id      d        Z edgddd	d
id       d!        Zd" Zd# Zd$ Z ed%gdd	d
id      d&        Z  ed'gdd	d
id      d(        Z!y))    )BytesION)image_comparison)FuncFormatter)
inset_axesbbox_inches_tightTmpl20bbox_inchestight)remove_textstylesavefig_kwargc                    g dg dg dg dg dg}d}dD cg c]  }| d	 }}t        |      }t        j                  t        |            d	z   }g }d
}t        j                  t        |            }	t	        j
                  dd      \  }
}t        |      D ]G  }|j                  |||   ||	d       |	||   z   }	|j                  |	D cg c]	  }|dz  d c}       I t	        j                  g        t	        j                  dd       t	        j                  g dd       |
j                  g ddd       |j                          t	        j                  |||d       y c c}w c c}w )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-  )FreezeWindFloodQuakeHail)d   2      
      z yearg333333?g?   edge)bottomaligni  z1.1fr   r   )12345)g333333?皙?)loc)abcde)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)text_placeholdersdata
col_labelsx
row_labelsrowsind	cell_textwidthyofffigaxrows                k/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/matplotlib/tests/test_bbox_tight.pytest_bbox_inches_tightrJ      sP    21213	5D >J';<!QCu+<J<t9D
))C
O
$s
*CIE88C
O$Dll1a GCT{ =
sDIuT@d3id;QXdO,;<= JJrNHHQNJJ(j9JJ(|JTIIyJ*' = <s   E&E+
 bbox_inches_tight_suptile_legendx86_64g~jt?)r   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 )Nr   za straight line)label)g?r   
upper leftr)   z
Axis titlezFigure titlec                 6    t        |       dk(  ryt        |       S )N   zThe number 4)intstr)yposs     rI   y_formatterz:test_bbox_inches_tight_suptile_legend.<locals>.y_formatter:   s    q6Q;!q6M    zX axis)r2   plotr/   r0   r9   titlesuptitlegcayaxisset_major_formatterr   xlabel)rW   s    rI   %test_bbox_inches_tight_suptile_legendr`   0   sq     HHRYYr]"34JJhL9IIlLL 
 GGIOO''k(BCJJxrX   z)bbox_inches_tight_suptile_non_default.png皙?c                  Z    t        j                         \  } }| j                  ddd       y )NBooo      ?g?)r?   rU   )r2   r3   r[   rF   rG   s     rI   +test_bbox_inches_tight_suptitle_non_defaultrf   D   s%     llnGCLL3#L&rX   zbbox_inches_tight_layout.pnglayoutr	   
pad_inchesc                      t        j                  d      \  } }| j                         j                  d       |j	                  d       y )Nconstrained)rg   rd   )h_padequal)r2   r3   get_layout_engineset
set_aspectre   s     rI   )test_bbox_inches_tight_layout_constrainedrq   L   s<     ll-0GCc*MM'rX   c                 `    t        j                         \  }}|j                  | dz  dd       y )Nzfoo.pngr
   rg   rh   )r2   r3   savefig)tmp_pathrF   rG   s      rI   ,test_bbox_inches_tight_layout_notconstrainedru   U   s*     llnGCKK9$'hKOrX   bbox_inches_tight_clipping_classic_test)r   r   r   c                  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   ir   bluerd   )	transform	facecoloralphag      ?)rz   )r2   scatterr/   r0   r\   set_xlimset_ylimmpatches	Rectangle	transDatampathPathunit_regular_stardeepcopyverticesset_clip_path	transAxesgcfartistsr6   )rG   patchpaths      rI   test_bbox_inches_tight_clippingr   \   s     KK		"ryy}-	BKK1KK1 Sz3)+)/s<E ::''*335DMMTM	5GGIU#rX   bbox_inches_tight_rasterg333333?)rM   r   r   r   c                  \    t        j                         \  } }|j                  ddgd       y)z$Test rasterization with tight_layoutg      ?g       @T
rasterizedN)r2   r3   rY   re   s     rI   test_bbox_inches_tight_rasterr   r   s'    
 llnGCGGS#J4G(rX   c                      t        j                         \  } }|j                  ddt        d      f       |j	                          | j                  t               dd       y )N r   nan)xyr
   png)r	   format)r2   r3   annotatefloatset_axis_offrs   r   re   s     rI   test_only_on_non_finite_bboxr   {   sH    llnGCKK5<(K)OOKK	wuK=rX   c                  l   t        j                         \  } }|j                  t        j                  d      j                  d             |j                  d       t               }| j                  |d       |j                  d       t        j                  |      j                  \  }}}||kD  sJ y )NrR   )   r   )r   ra   )ylimr
   )r	   r   )r2   r3   
pcolorfastr/   r0   reshapero   r   rs   seekimreadshape)rF   rG   bufheightrD   _s         rI   test_tight_pcolorfastr      s    llnGCMM"))A,&&v./FFF
)CKKK)HHQKzz#,,FE1 6>>rX   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      r   F)frameondpifigsize)r   r   r   r   Tr   r
   pdf)r	   ri   r   rh         )r   r   rR   )PILr   r2   figureadd_axesr   xaxisset_visibler]   r/   r0   r   imshowrs   r   r   asarrayopenallr   )	r   x_sizey_sizer   rF   rG   r=   outims	            rI   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!!!rX   zbbox_inches_fixed_aspect.pngc                      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   rm   )r2   
rc_contextr3   rY   r~   rp   re   s     rI   test_bbox_inches_fixed_aspectr      sc     
8$?	@ ,,.R
A
Aq
g	  s   AA//A8z bbox_inches_inset_rasterized.pdfc                      t        j                         \  } }t        j                  d      j	                  dd      }|j                  |      }t        |dddd|j                        }| j                  ||d	       y )
Nr   r   z10%z30%rP   )g
ףp=
?g        r   r   )rD   r   r#   r*   bbox_transform
horizontal)caxorientation)	r2   r3   r/   r0   r   r   r   r   colorbar)rF   rG   arrr   insets        rI   !test_bbox_inches_inset_rasterizedr      sk     llnGC
))C.
 
 R
(C	3B
%<(GE LLLL9rX   )"ior   platformnumpyr/   matplotlib.testing.decoratorsr   matplotlib.pyplotpyplotr2   matplotlib.pathr   r   matplotlib.patchespatchesr   matplotlib.tickerr   %mpl_toolkits.axes_grid1.inset_locatorr   rJ   machiner`   rf   dictrq   ru   r   r   r   r   r   r   r    rX   rI   <module>r      s      :   % + < &'T!. 8::@ 56!. 8+8++-9auFF" >?!. 8''
 12 $X NPPP /0"='2J')$)$& -.D"='2J!)!)>
"8 12!. 8II 56D!. 8I	:I	:rX   