在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")
我想有很多数字,而不是一个有很多子图的虚假图形。 如何在不使用子图的情况下保存多个图形?
答案 0 :(得分:0)
初始化图形并为每个循环添加一个子图。然后在循环完成后保存!