[英]Python saving multiple figures into one PDF file
在 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”文件中:
要將它們保存到同一個文件中,請使用子圖:
>>> 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 文件中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.