首页 >后端开发 >Python教程 >您可以在 Matplotlib 中独立于图形创建 AxesSubplot 对象吗?

您可以在 Matplotlib 中独立于图形创建 AxesSubplot 对象吗?

Patricia Arquette
Patricia Arquette原创
2024-11-13 00:46:02731浏览

Can You Create AxesSubplot Objects Independently of Figures in Matplotlib?

解耦 AxesSubplot 创建和图形添加

问题:
自定义 matplotlib 图通常需要创建 AxesSubplot对象。然而,这些对象通常在创建时绑定到图形。这限制了跨多个图形重用 AxesSubplots 的能力。

问题:
是否可以独立于 Figure 实例创建 AxesSubplot 对象,然后根据需要将它们添加到不同的图形中?

答案:

是的,它可以在 matplotlib 中解耦 AxesSubplot 创建和图形添加。主要有两种方法:

使用 Axes 实例传递函数:

  • 创建一个以 Axes 实例作为参数的函数。
  • 在此函数中实现绘图代码。
  • 传递现有的或新创建的函数的 Axes 实例。
  • 通过将相同的 Axes 实例传递给不同的函数调用,可以在多个图形中重用相同的子图。

将轴附加到图形:

  • 独立于 Axes 实例Figure。
  • 使用Figure.axes.append() 方法将 Axes 实例添加到Figure。
  • 在append() 方法中指定所需的几何图形。
  • This方法允许跨多个图形重用 Axes 实例,无论图形大小或图形数量如何

示例代码:

使用轴实例传递函数:

import numpy as np
import matplotlib.pyplot as plt

def plot_sin(ax):
    x = np.linspace(0, 6 * np.pi, 100)
    ax.plot(x, np.sin(x))
    ax.set_ylabel('Yabba dabba do!')

fig1, (ax1, ax2) = plt.subplots(nrows=2)
plot_sin(ax1)
plot_sin(ax2)

fig2 = plt.figure()
ax3 = fig2.add_subplot(111)
plot_sin(ax3)

plt.show()

将轴附加到人物:

import numpy as np
import matplotlib.pyplot as plt

fig1 = plt.figure()
ax1 = fig1.add_subplot(111)

fig2 = plt.figure()
ax2 = fig2.add_subplot(111)
fig2.axes.append(ax1)

plt.show()

以上是您可以在 Matplotlib 中独立于图形创建 AxesSubplot 对象吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn