如何在python中的单个文件中保存两个图?

时间:2014-04-02 00:15:34

标签: python image matplotlib plot save

我生成了两个不同的情节。我需要将它们保存到一个“.png”上。虽然文件。我想避免使用子图,因为当我这样做时,似乎改变了我需要保持的情节的大小和形状。这就是我的代码目前的样子:

fig = plt.figure(1)
    plt.clf()
    plot1(*args)
    plt.savefig('plot1.png')
    plot2(*args)
    plt.savefig('plot2.png')

非常感谢您给予的任何帮助!

3 个答案:

答案 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()

请注意,选项dpitransparent是可选的。

希望这有帮助!

答案 2 :(得分:0)

不,请看plt.subplot()。您可以在一个图中绘制两个图并将其保存到一个文件中。