Como salvar gráficos como arquivo PDF em Matplotlib
Os gráficos gerados a partir do Matplotlib podem ser simplesmente salvos como um arquivo PDF utilizando a extensão .pdf
do nome do arquivo no método savefig()
. Para salvar vários gráficos em um único arquivo PDF, utilizamos a classe PdfPages
.
savefig()
Método para salvar plotagens como arquivo PDF
Podemos simplesmente salvar uma trama como um arquivo de imagem em Matplotlib utilizando o método savefig()
.
Sintaxe para o método savefig()
:
matplotlib.pyplot.savefig(fname,
dpi=None,
facecolor='w',
edgecolor='w',
orientation='portrait',
papertype=None,
format=None,
transparent=False,
bbox_inches=None,
pad_inches=0.1,
frameon=None,
metadata=None)
O fname
na seção de parâmetros representa o nome e o caminho do arquivo em relação ao diretório de trabalho. Se utilizarmos .pdf
como extensão do nome do arquivo, a trama será salva como um arquivo PDF.
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(0,5,50)
y=np.cos(2 * np.pi * x)
plt.scatter(x, y)
plt.plot(x, y)
plt.title("Plot of cosx")
plt.xlabel("x")
plt.ylabel("cosx")
plt.show()
plt.savefig("Save Plot as PDF file using savefig.pdf")
Isto salva o gráfico gerado com o nome de arquivo Save Plot as PDF file using savefig.pdf
no diretório de trabalho atual.
savefig()
Método da classe PdfPages
Se desejarmos plotar vários lotes em um único, podemos utilizar o método savefig()
da classe PdfPages
.
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
x=np.linspace(-3,3,100)
y1=np.sin(x)
y2=np.cos(x)
y3=1/(1+np.exp(-x))
y4=np.exp(x)
def retFig(x, y):
fig = plt.figure()
a= plt.plot(x, y)
return fig
fig1 = retFig(x, y1)
fig2 = retFig(x, y2)
fig3 = retFig(x, y3)
fig4 = retFig(x, y4)
pp = PdfPages('Save multiple plots as PDF.pdf')
pp.savefig(fig1)
pp.savefig(fig2)
pp.savefig(fig3)
pp.savefig(fig4)
pp.close()
Isto salva 4 figuras geradas em Matplotlib em um único arquivo PDF com o nome do arquivo como Save multiple plots as PDF.pdf
no diretório de trabalho atual.
Aqui, retornamos figuras para cada gráfico e então salvamos todas as figuras em um único arquivo PDF, passando figuras individuais no método savefig()
da classe PdfPages
.