在 python 中(对于在 GUI 中创建的一个图形),我可以使用以下任一方法将图形保存在 .jpg 和 .pdf 下:
plt.savefig(filename1 + '.pdf')
或者
plt.savefig(filename1 + '.jpg')
使用一个文件,我想以 .pdf 或 .jpg 格式保存多个数字(就像在数学实验室中所做的那样)。有人可以帮忙吗?
在 python 中(对于在 GUI 中创建的一个图形),我可以使用以下任一方法将图形保存在 .jpg 和 .pdf 下:
plt.savefig(filename1 + '.pdf')
或者
plt.savefig(filename1 + '.jpg')
使用一个文件,我想以 .pdf 或 .jpg 格式保存多个数字(就像在数学实验室中所做的那样)。有人可以帮忙吗?
用来PdfPages
解决你的问题。将您的figure
对象传递给savefig
方法。
例如,如果您打开了一大堆figure
对象,并且想要将它们保存到多页 PDF 中,您可以这样做:
import matplotlib.backends.backend_pdf
pdf = matplotlib.backends.backend_pdf.PdfPages("output.pdf")
for fig in xrange(1, figure().number): ## will open an empty extra figure :(
pdf.savefig( fig )
pdf.close()
您是指将多个图形保存到一个文件中,还是使用一个脚本保存多个图形?
这是使用一个脚本保存两个不同图形的方法。
>>> from matplotlib import pyplot as plt
>>> fig1 = plt.figure()
>>> plt.plot(range(10))
[<matplotlib.lines.Line2D object at 0x10261bd90>]
>>> fig2 = plt.figure()
>>> plt.plot(range(10,20))
[<matplotlib.lines.Line2D object at 0x10263b890>]
>>> fig1.savefig('fig1.png')
>>> fig2.savefig('fig2.png')
...将这两个图生成到它们自己的“.png”文件中:
要将它们保存到同一个文件中,请使用subplots:
>>> from matplotlib import pyplot as plt
>>> fig = plt.figure()
>>> axis1 = fig.add_subplot(211)
>>> axis1.plot(range(10))
>>> axis2 = fig.add_subplot(212)
>>> axis2.plot(range(10,20))
>>> fig.savefig('multipleplots.png')
上面的脚本产生了这个单一的“.png”文件:
我在同样的问题上苦苦挣扎。我试图将 2,000 个散点图放入一个 .pdf 文件中。我能够启动该程序,但它在几百后中止。即使我在一个 .pdf 中创建了六个散点图,.pdf 文件也很大(如 7mb),只有六个 .jpg,每个 30kb。当我打开 .pdf 文件时,似乎 .pdf 文件正在绘制图表上的每个点(每个图表都有数千个点),而不是显示图像。总有一天,我会找出正确的选项,但这是一个快速而肮脏的解决方法。我将散点图打印到本地目录中的单个 .jpg 文件中。