📌  相关文章
📜  为来自一个Python脚本的相同数据绘制多个单独的图表(1)

📅  最后修改于: 2023-12-03 15:21:38.041000             🧑  作者: Mango

为来自一个Python脚本的相同数据绘制多个单独的图表

有时候,在一个Python脚本中,我们需要绘制多个单独的图表,而这些图表的数据是相同的。在这种情况下,我们可以使用Matplotlib的subplots方法来实现。

subplots方法

subplots方法允许我们在一个figure中绘制多个子图。我们可以通过指定子图的行数和列数,以及每个子图的位置来完成这个过程。下面是一个使用subplots方法的例子:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0, 10, 0.1)
y = np.sin(x)

fig, axs = plt.subplots(2, 2)
axs[0, 0].plot(x, y)
axs[0, 1].scatter(x, y)
axs[1, 0].plot(x, y ** 2)
axs[1, 1].scatter(x, y ** 2)

plt.show()

在这个例子中,我们创建了一个长度为100的x数组和对应的正弦函数y数组。然后,我们使用subplots方法创建了一个2x2的子图节点矩阵。最后,我们绘制了在每个子图位置上。

多次调用plt.subplots方法

如果我们想要绘制多个单独的图表,我们可以在一个循环中多次调用subplots方法,并且在每次调用之后使用plt.close()关闭前一个打开的figure对象。下面是一个使用这种方法的例子:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0, 10, 0.1)
y = np.sin(x)

for i in range(4):
    fig, ax = plt.subplots()
    if i % 2 == 0:
        ax.plot(x, y)
    else:
        ax.scatter(x, y)
    plt.savefig(f"plot_{i}.png")
    plt.close()

在这个例子中,我们循环四次,创建了四个单独的Figure对象,并且在每个图表中,我们根据i的值使用plot或scatter方法绘制了不同的图像。我们使用plt.savefig保存每个图像,并在每次循环结束时使用plt.close()关闭Figure对象。

Markdown

以上是本次主题的介绍,主要讲解了使用Matplotlib的subplots方法为来自一个Python脚本的相同数据绘制多个单独的图表。相关的例子代码和解释已经给出。如果有不明白的地方,可以在评论区留言。