如何在for循环中保存多个数字,而不是SUBPLOTS作为一个数字? [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

在Jupyter Notebook中,我编写了以下代码,as MCVE

import matplotlib.pyplot as plt
import numpy as np

x1 = np.linspace(-1, 1, 50)
for x in range(4):
    plt.figure()
    plt.plot(x1)
    plt.savefig(str(x)+".png") # save figures separately

正如预期的那样,它可以产生4个地块。它们在一排下面彼此相连。

我希望有一个保存的输出,包含所有4个图。我不介意Jupyter Notebook只要保存就不会显示这些图。

我的尝试:单独保存数字,如0.png,1.png,2.png,3.png,然后垂直合并它们。

我希望有一个更简单的方法来做到这一点。如何保存单个输出?

编辑:

正如所建议的,我可以做子图,像这样:

fig,axes = plt.subplots(nrows=4)
fig.set_size_inches(8,12)
x1 = np.linspace(-1, 1, 50)
for ax in axes:
    ax.plot(x1)
plt.savefig("save_fig.png")

我想要有很多数字,而不是一个包含许多子图的数字。如何在不使用子图的情况下保存多个数字?

python python-3.x matplotlib plot jupyter-notebook
1个回答
0
投票

初始化一个数字并为每个循环添加一个子图。循环结束后保存!

© www.soinside.com 2019 - 2024. All rights reserved.