📌  相关文章
📜  Python中的 Matplotlib.artist.Artist.set_snap()

📅  最后修改于: 2022-05-13 01:55:36.255000             🧑  作者: Mango

Python中的 Matplotlib.artist.Artist.set_snap()

Matplotlib是Python中的一个库,它是 NumPy 库的数值数学扩展。 Artist 类包含呈现为 FigureCanvas 的对象的 Abstract 基类。图中所有可见元素都是 Artist 的子类。

matplotlib.artist.Artist.set_snap() 方法

matplotlib 库的艺术家模块中的set_snap() 方法用于设置捕捉行为。

下面的示例说明了 matplotlib 中的 matplotlib.artist.Artist.set_snap()函数:

示例 1:

# Implementation of matplotlib function
from matplotlib.artist import Artist  
import matplotlib.pyplot as plt 
from mpl_toolkits.axisartist.axislines import Subplot 
      
  
fig = plt.figure() 
      
ax = Subplot(fig, 111) 
fig.add_subplot(ax) 
      
ax.axis["left"].set_visible(False) 
ax.axis["top"].set_visible(False) 
    
Artist.set_snap(ax, True) 
  
fig.suptitle('matplotlib.artist.Artist.set_snap()\
function Example', fontweight ="bold") 
  
plt.show()

输出:

示例 2:

# Implementation of matplotlib function
from matplotlib.artist import Artist  
import numpy as np 
import matplotlib.cm as cm 
import matplotlib.pyplot as plt 
import matplotlib.cbook as cbook 
from matplotlib.path import Path 
from matplotlib.patches import PathPatch 
     
    
delta = 0.025
  
x = y = np.arange(-3.0, 3.0, delta) 
X, Y = np.meshgrid(x, y) 
  
Z1 = np.exp(-X**2 - Y**2) 
Z2 = np.exp(-(X - 1)**2 - (Y - 1)**2) 
Z = (Z1 - Z2) * 2
     
path = Path([[0, 1], [1, 0], [0, -1], 
            [-1, 0], [0, 1]]) 
patch = PathPatch(path, facecolor ='none') 
     
fig, ax = plt.subplots() 
ax.add_patch(patch) 
     
im = ax.imshow(Z, interpolation ='bilinear',  
               cmap = cm.gray, 
               origin ='lower', 
               extent =[-3, 3, -3, 3], 
               clip_path = patch, clip_on = True) 
  
im.set_clip_path(patch)
    
Artist.set_snap(ax, None) 
  
fig.suptitle('matplotlib.artist.Artist.set_snap()\
function Example', fontweight ="bold") 
  
plt.show()

输出: