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
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn