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

可以独立于 Matplotlib 中的图形创建 AxesSubPlot 对象吗?

DDD
发布: 2024-11-13 08:51:02
原创
207 人浏览过

Can AxesSubPlot Objects Be Created Independently of Figures in Matplotlib?

可以独立创建 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中文网其他相关文章!

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