Wie man Plots als PDF-Datei in Matplotlib speichert
Die von Matplotlib erzeugten Plots können einfach als PDF-Datei gespeichert werden, indem man die Erweiterung .pdf
des Dateinamens in der savefig()
Methode verwendet. Um mehrere Plots in einer einzigen PDF-Datei zu speichern, verwenden wir die Klasse PdfPages
.
savefig()
Methode zum Speichern von Plots als PDF-Datei
Wir können einen Plot einfach mit der Methode savefig()
als Bilddatei in Matplotlib speichern.
Syntax für die Methode 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,
)
Der fname
in der Parameter-Sektion stellt den Namen und Pfad der Datei relativ zum Arbeitsverzeichnis dar. Wenn wir .pdf
als Erweiterung des Dateinamens verwenden, wird der Plot als PDF-Datei gespeichert.
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")
Dadurch wird der erzeugte Plot mit dem Dateinamen Save Plot as PDF file using savefig.pdf
im aktuellen Arbeitsverzeichnis gespeichert.
savefig()
Methode der Klasse PdfPages
Wenn wir mehrere Plots in einem einzigen Plot darstellen möchten, können wir die Methode savefig()
der Klasse PdfPages
verwenden.
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()
Dies speichert 4 generierte Figuren in Matplotlib in einer einzigen PDF-Datei mit dem Dateinamen Save multiple plots as PDF.pdf
im aktuellen Arbeitsverzeichnis.
Hier geben wir für jeden Plot Zahlen zurück und speichern dann alle Zahlen in einer einzigen PDF-Datei, indem wir einzelne Zahlen in der Methode savefig()
der Klasse PdfPages
übergeben.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn