2013-07-22 15 views
16

は(GUIで作成した図のために)私は.JPG下の図を保存することができましたし、また、どちらか使用して.PDF 1つのPDFファイルに複数の図を保存する:は、PythonはPythonで

plt.savefig(filename1 + '.pdf') 

または

plt.savefig(filename1 + '.jpg') 

1つのファイルを使用して、複数の図を.pdfまたは.jpg形式で保存したいと思います。誰でもこれを手伝ってもらえますか?

+1

グーグルfooの少しは私をここにもたらした:http://pybrary.net/pyPdf/上記のコメントを –

+0

更新リンク(それは今pyPdf2です):HTTPS ://github.com/mstamy2/PyPDF2 –

答えて

26

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() 
+1

ありがとうございました。 –

+0

私はあまりにも扱いに慣れましたが、 'Figure object is not callable'として' xrange(1、figure.number) 'を使わなければなりませんでした。 – FriskyGrub

+1

pyplot.gcf()。numberを使う必要がありました。より広く適用可能です。 – jimh

16

はあなたがに複数の図にを救う意味しますか1つのファイル、または1つのスクリプトを使用して複数の図を保存しますか?

スクリプトを使用して2つの異なる数字を保存する方法は次のとおりです。自分の ".PNG" のファイルにこれらの二つのグラフを生成

>>> 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') 

...:サブプロットを、同じファイルに保存し使用するには enter image description here

enter image description here

>>> 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」のファイルを生成し、上記: enter image description here

+2

これは、OPが実際には外部ライブラリを使用して2つのPDFファイルをマージせずに求めていたため、これが受け入れられた答えであるべきだと思います。 – Dilawar