/ / Python salvando várias figuras em um arquivo PDF - python, matplotlib

Python salvando várias figuras em um arquivo PDF - python, matplotlib

Em python (para uma figura criada em uma GUI), consegui salvar a figura em .jpg e também em .pdf usando:

plt.savefig(filename1 +  ".pdf")

ou

plt.savefig(filename1 +  ".jpg")

Usando um arquivo, gostaria de salvar várias figuras em .pdf ou .jpg (assim como é feito no laboratório de matemática). Alguém por favor pode ajudar com isso?

Respostas:

29 para resposta № 1

Usar PdfPages para resolver seu problema. Passe seu figure objeto para o savefig método.

Por exemplo, se você tem uma pilha inteira de figure objetos abertos e você deseja salvá-los em um PDF de várias páginas, você pode fazer:

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

17 for answer № 2

Você quer dizer salvar vários números para dentro um arquivo ou salvar vários números usando um script?

Veja como você pode salvar duas figuras diferentes usando uma roteiro.

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

... que produz esses dois gráficos em seus próprios arquivos ".png": insira a descrição da imagem aqui

insira a descrição da imagem aqui

Para salvá-los para o mesmo Arquivo, usar subtramas:

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

O script acima produz este único arquivo ".png": insira a descrição da imagem aqui