首页 > 后端开发 > Python教程 > 如何在多个 Matplotlib 子图中高效地创建和绘图?

如何在多个 Matplotlib 子图中高效地创建和绘图?

Susan Sarandon
发布: 2024-12-20 13:57:09
原创
895 人浏览过

How to Efficiently Create and Plot in Multiple Matplotlib Subplots?

在多个子图中绘图

可以通过多种方法在 Matplotlib 中创建多个子图。理解fig和axes变量的作用至关重要。

fig,axes结构

在代码片段fig,axes = plt.subplots(nrows=2 , ncols=2)、fig 和axes 分别分配给返回的figure 和Axes 对象的二维数组。轴数组包含各个子图,可以对特定子图进行后续绘图操作。

子图的替代方法

虽然 subplots 方法同时创建一个图形及其子图,但它是也可以单独创建:

fig = plt.figure()
axes = fig.subplots(nrows=2, ncols=2)
登录后复制

但是这种方法比较少首选,因为它需要额外的步骤来在每个子图上绘制。

具有多个子图的示例

考虑以下代码,该代码在四个子图的每一个上绘制一条简单曲线:

import matplotlib.pyplot as plt

x = range(10)
y = range(10)

fig, ax = plt.subplots(nrows=2, ncols=2)

for row in ax:
    for col in row:
        col.plot(x, y)

plt.show()
登录后复制

此代码生成一个包含四个子图的图形,每个子图都有相同的曲线。 for 循环迭代 ax 数组的行和列,将每个子图分配给 col 变量进行绘图。

另一种替代方法

虽然不那么优雅,还可以手动创建并分别在每个子图上绘制:

fig = plt.figure()

plt.subplot(2, 2, 1)
plt.plot(x, y)

plt.subplot(2, 2, 2)
plt.plot(x, y)

plt.subplot(2, 2, 3)
plt.plot(x, y)

plt.subplot(2, 2, 4)
plt.plot(x, y)

plt.show()
登录后复制

这种方法涉及手动创建一个图形指定每个子图的位置,然后在它们上绘图。

以上是如何在多个 Matplotlib 子图中高效地创建和绘图?的详细内容。更多信息请关注PHP中文网其他相关文章!

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