📜  Python中的 Matplotlib.axes.Axes.inset_axes()

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

Python中的 Matplotlib.axes.Axes.inset_axes()

Matplotlib是Python中的一个库,它是 NumPy 库的数值数学扩展。 Axes 类包含大部分图形元素:Axis、Tick、Line2D、Text、Polygon 等,并设置坐标系。 Axes 的实例通过回调属性支持回调。

matplotlib.axes.Axes.inset_axes()函数

matplotlib 库的 axes 模块中的Axes.inset_axes()函数也用于向现有轴添加子插入轴。

注意:此函数适用于 Matplotlib 版本 >= 3.0

下面的示例说明了 matplotlib.axes 中的 matplotlib.axes.Axes.inset_axes()函数:

示例 1:

# Implementation of matplotlib function
import matplotlib.pyplot as plt
   
fig, ax = plt.subplots()
ax.plot(range(10))
axin1 = ax.inset_axes([0.8, 0.1, 
                       0.15, 0.15])
axin2 = ax.inset_axes(
        [5, 7, 2.3, 2.3], transform = ax.transData)
  
ax.set_title('matplotlib.axes.Axes.inset_axes() Example',
              fontsize = 14, fontweight ='bold')
plt.show()

输出:

示例 2:

# Implementation of matplotlib function
import matplotlib.pyplot as plt
import numpy as np
  
  
def geeks():
    from matplotlib.cbook import get_sample_data
    import numpy as np
    f = get_sample_data("axes_grid / bivariate_normal.npy", 
                        asfileobj = False)
    z = np.load(f)
    return z, (-3, 4, -4, 3)
  
fig, ax = plt.subplots()
  
X, extent = geeks()
Z2 = np.zeros([150, 150], dtype ="g")
ny, nx = X.shape
Z2[30:30 + ny, 30:30 + nx] = X
  
ax.imshow(Z2, extent = extent, 
          interpolation ="nearest",
          origin ="lower", cmap ="Greens")
  
axins = ax.inset_axes([0.5, 0.5, 0.47, 0.47])
  
axins.imshow(Z2, extent = extent,
            interpolation ="nearest",
            origin ="lower", cmap ="Greens")
x1, x2, y1, y2 = -1.5, -0.9, -2.5, -1.9
axins.set_xlim(x1, x2)
axins.set_ylim(y1, y2)
  
ax.indicate_inset_zoom(axins)
  
ax.set_title('matplotlib.axes.Axes.inset_axes() Example',
             fontsize = 14, fontweight ='bold')
plt.show()

输出: