Python中的 Matplotlib.artist.Artist.set_snap()
Matplotlib是Python中的一个库,它是 NumPy 库的数值数学扩展。 Artist 类包含呈现为 FigureCanvas 的对象的 Abstract 基类。图中所有可见元素都是 Artist 的子类。
matplotlib.artist.Artist.set_snap() 方法
matplotlib 库的艺术家模块中的set_snap() 方法用于设置捕捉行为。
Syntax: Artist.set_snap(self, snap)
Parameters: This method accepts the following parameters.
- snap: This parameter contains the boolean value or None.
Returns: This method does not return any value.
下面的示例说明了 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()
输出: