我生成了两个不同的情节。我需要将它们保存到一个“.png”上。虽然文件。我想避免使用子图,因为当我这样做时,似乎改变了我需要保持的情节的大小和形状。这就是我的代码目前的样子:
fig = plt.figure(1)
plt.clf()
plot1(*args)
plt.savefig('plot1.png')
plot2(*args)
plt.savefig('plot2.png')
非常感谢您给予的任何帮助!
答案 0 :(得分:2)
您是否可以更改图的大小并使用subplot()
?
默认大小为(8“,6”)
你可以制作它(16“,6”)并将它们并排放置?
fig = plt.figure(figsize=(16,6))
ax0 = fig.add_subplot(121)
ax0.plot(*args0)
ax1 = fig.add_subplot(122)
ax1.plot(*args1)
plt.tight_layout()
plt.savefig('plots.png')
答案 1 :(得分:2)
如果您正在寻找的话,也可以将多个数字保存到单个文件中而不使用子图。这可以使用PdfPages
matplotlib
后端来完成。这里创建了一个文件,其中可以多次调用savefig
来保存图像。
import numpy
import matplitlib.pylab as plt
from matplotlib.backends.backend_pdf import PdfPages
x = numpy.linspace(0, 100, 101)
y = numpy.cos(x)
z = numpy.sin(x)
cos_plot = plt.figure(1)
plt.plot(x, y)
sin_plot = plt.figure(2)
plt.plot(x, z)
pp = PdfPages("Cosine and sine plots.pdf")
pp.savefig(cos_plot, dpi = 300, transparent = True)
pp.savefig(sin_plot, dpi = 300, transparent = True)
pp.close()
请注意,选项dpi
和transparent
是可选的。
希望这有帮助!
答案 2 :(得分:0)
不,请看plt.subplot()
。您可以在一个图中绘制两个图并将其保存到一个文件中。