可以独立创建 AxesSubPlot 对象吗?
正如 matplotlib 文档所建议的,在图窗中创建 AxesSubPlot 实例通常是通过 Figure 实现的。添加子图。但是,最好独立于图形创建这些对象,以便在多个图形中重用它们。
在不同图形中重用 AxesSubPlots
尽管无法为了将轴的创建与图形完全解耦,可以在新的或现有的图形中重用以前创建的轴。这可以通过一个简单的函数来完成:
def plot_axes(ax, fig=None, geometry=(1, 1, 1)): if fig is None: fig = plt.figure() if ax.get_geometry() != geometry: ax.change_geometry(*geometry) ax = fig.axes.append(ax) return fig
此函数采用现有的轴实例 ax 并可选择将其添加到新的或现有的图形 Fig,确保它具有指定的几何形状(行、列、组内的数字)。
示例用法
要演示此功能,请考虑以下内容code:
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 6 * np.pi, 100) # Create axes subplots independently ax1 = plt.axes() ax2 = plt.axes() # Add ax1 to figure 1 fig1 = plt.figure() plt.axes.append(ax1) # Add ax2 to figure 2 fig2 = plt.figure() plt.axes.append(ax2) # Plot data on ax1 ax1.plot(x, np.sin(x)) ax1.set_ylabel("Sin(x)") # Plot data on ax2 ax2.plot(x, np.cos(x)) ax2.set_ylabel("Cos(x)") plt.show()
在此示例中,独立创建两个轴子图,然后将其添加到两个单独的图形中。每个子图都包含自己的数据和标签。
以上是可以独立于 Matplotlib 中的图形创建 AxesSubPlot 对象吗?的详细内容。更多信息请关注PHP中文网其他相关文章!