📌  相关文章
📜  Python中的 Matplotlib.axis.Axis.set_snap()函数

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

Python中的 Matplotlib.axis.Axis.set_snap()函数

Matplotlib是Python中的一个库,它是 NumPy 库的数值数学扩展。它是Python中用于二维数组图的惊人可视化库,用于处理更广泛的 SciPy 堆栈。

Matplotlib.axis.Axis.set_snap()函数

matplotlib 库的轴模块中的Axis.set_snap()函数用于设置捕捉行为。

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

示例 1:

Python3
# Implementation of matplotlib function
from matplotlib.axis import Axis
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)  
      
Axis.set_snap(ax, True)  
  
fig.suptitle('matplotlib.axis.Axis.set_snap() \
function Example\n', fontweight ="bold")  
    
plt.show()


Python3
# Implementation of matplotlib function
from matplotlib.axis import Axis
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) 
      
Axis.set_snap(im, None)  
  
fig.suptitle('matplotlib.axis.Axis.set_snap() \
function Example\n', fontweight ="bold")  
    
plt.show()


输出:

示例 2:

Python3

# Implementation of matplotlib function
from matplotlib.axis import Axis
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) 
      
Axis.set_snap(im, None)  
  
fig.suptitle('matplotlib.axis.Axis.set_snap() \
function Example\n', fontweight ="bold")  
    
plt.show() 

输出: