首页 > 后端开发 > Python教程 > 如何在 Matplotlib 中的不同图形中重用 AxesSubplot 对象?

如何在 Matplotlib 中的不同图形中重用 AxesSubplot 对象?

Susan Sarandon
发布: 2024-11-28 16:18:11
原创
585 人浏览过

How to Reuse AxesSubplot Objects Across Different Figures in Matplotlib?

跨图形共享 AxesSubplot 对象

在 matplotlib 中,通常使用 Figure.add_subplot() 方法创建 AxesSubplot 对象。但是,您可能希望将轴子图的创建与图形实例分离,以便在不同的图形中重用它们。

独立创建 AxesSubplot 对象

要实现这一点,您可以利用替代方法:

import matplotlib.pyplot as plt

axes = plt.AxesSubplot(fig, 1, 1, 1)  # Create an empty axes subplot
axes.set_xlabel("X-Label")  # Populate axes settings
axes.set_ylabel("Y-Label")
登录后复制

这允许您创建 AxesSubplot 对象,而无需将其与特定图形关联起来。

将 AxesSubplot 对象添加到图形

独立创建轴子图后,可以使用以下方法将它们添加到图形中:

# Add axes to figure 1
fig1 = plt.figure()
fig1.axes.append(axes)

# Add axes to figure 2
fig2 = plt.figure()
fig2.axes.append(axes)
登录后复制

重复使用轴子图

通过向多个图形添加轴子图,您可以方便地重复使用它们。例如,您可以定义一个函数来在指定轴子图上绘制数据:

def plot_on_axes(axes, data):
    axes.plot(data)
登录后复制

然后可以在各种图形中使用此函数在共享轴子图上绘制相同的数据。

调整轴的大小

将 AxesSubplot 对象从一个图形移动到另一个图形可能需要调整大小以匹配新人物的布局。要调整坐标区的大小,您可以使用 set_geometry() 方法:

axes.set_geometry(1, 2, 1)  # Update axes geometry for figure 1, with two columns
登录后复制

示例

以下代码片段演示了如何独立创建和重用坐标区子图:

import matplotlib.pyplot as plt

# Create independent axes subplots
ax1 = plt.AxesSubplot(None, 1, 1, 1)
ax2 = plt.AxesSubplot(None, 1, 1, 1)

# Populate axes settings
ax1.set_xlabel("X1")
ax1.set_ylabel("Y1")
ax2.set_xlabel("X2")
ax2.set_ylabel("Y2")

# Add axes subplots to figure 1
fig1 = plt.figure()
fig1.axes.append(ax1)
fig1.axes.append(ax2)

# Add axes subplots to figure 2
fig2 = plt.figure()
fig2.axes.append(ax1)

plt.show()
登录后复制

此示例创建两个轴子图,将它们添加到两个不同的图形中,并显示他们。

以上是如何在 Matplotlib 中的不同图形中重用 AxesSubplot 对象?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板