Python сохраняет несколько фигур в один PDF файл
В python (для одной фигуры, созданной в графическом интерфейсе) мне удалось сохранить фигуру под .jpg, а также .pdf, либо используя:
plt.savefig(filename1 + '.pdf')
или
plt.savefig(filename1 + '.jpg')
Используя один файл, я хотел бы сохранить несколько цифр в .pdf или .jpg(как и в математической лаборатории). Кто-нибудь может помочь с этим?
Ответы
Ответ 1
Используйте 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()
Ответ 2
Вы хотите сохранить несколько фигур в один файл или сохранить несколько цифр, используя один script?
Здесь вы можете сохранить две разные цифры, используя один script.
>>> 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 файлы:
![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')
Вышеупомянутый script создает этот единственный файл .png:
![enter image description here]()