如何在python中在单个文件上保存两个绘图?
我已经生成了两个不同的图。但我需要将它们都保存到一个“.png”文件中。我希望避免使用子图,因为当我这样做时,它似乎会改变我的图的大小和形状,我需要保持原样。以下是我的代码当前的外观:如何在python中在单个文件上保存两个绘图?,python,image,matplotlib,plot,save,Python,Image,Matplotlib,Plot,Save,我已经生成了两个不同的图。但我需要将它们都保存到一个“.png”文件中。我希望避免使用子图,因为当我这样做时,它似乎会改变我的图的大小和形状,我需要保持原样。以下是我的代码当前的外观: fig = plt.figure(1) plt.clf() plot1(*args) plt.savefig('plot1.png') plot2(*args) plt.savefig('plot2.png') 如果您能提供任何帮助,我们将不胜感激 否,查看plt.sub
fig = plt.figure(1)
plt.clf()
plot1(*args)
plt.savefig('plot1.png')
plot2(*args)
plt.savefig('plot2.png')
如果您能提供任何帮助,我们将不胜感激 否,查看
plt.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')
也可以将多个图形保存到一个文件中,而无需使用子图(如果您正在查找的话)。这可以使用
matplotlib
的PdfPages
后端来完成。这里创建了一个文件,可以在其中多次调用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行输入错误:它应该是matplotlib,而不是
matplitlib
。否则,它工作得很好。