跨图形共享 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中文网其他相关文章!