Wie man mit den in Matplotlib angezeigten Figuren identische Figuren speichert
Beim Speichern der Abbildung mit matplotlib.pyplot.savefig()
haben wir einen Parameter namens dpi
, der die relative Größe des Textes und die Breite der Striche auf den Linien angibt. Standardmäßig ist der Wert von dpi
für matplotlib.pyplot.show()
80, während der Standardwert von dpi
für matplotlib.pyplot.savefig()
100 ist.
Um sicherzustellen, dass die Zahlen für die show()
und savefig()
Methode identisch aussehen, müssen wir dpi=fig.dpi
in der savefig()
Methode verwenden. Wir können auch den Parameter figsize
in der matplotlib.pyplot.figure()
Methode setzen, um die absoluten Dimensionen des Plots so anzupassen, dass beide Figuren identisch sind.
Setzen Sie dpi=fig.dpi
in der savefig()
Methode, um Figuren zu speichern, die mit den in Matplotlib angezeigten Figuren identisch sind
import matplotlib.pyplot as plt
x = [1, 3, 4, 5, 8]
y = [3, 1, 5, 4, 9]
fig = plt.figure()
plt.plot(x, y)
plt.xlabel("X")
plt.ylabel("Y")
plt.title("X vs Y")
fig.savefig("plot.png", dpi=fig.dpi)
plt.show()
Ausgabe:
Gespeicherte Abbildung:
Dieses Verfahren speichert die Abbildung als plot.png
, die mit der angezeigten identisch ist.
Manchmal können wir große Ränder auf den erstellten Figuren erhalten. Um diesen Wert zu lösen, können wir entweder die Methode matplotlib.pyplot.tight_layout()
verwenden oder bbox_inches='tight'
in der Methode savefig()
setzen.
import matplotlib.pyplot as plt
x = [1, 3, 4, 5, 8]
y = [3, 1, 5, 4, 9]
fig = plt.figure()
plt.plot(x, y)
plt.xlabel("X")
plt.ylabel("Y")
plt.title("X vs Y")
fig.savefig("plot.png", dpi=fig.dpi, bbox_inches="tight")
plt.show()
Ausgabe:
Gespeicherte Abbildung:
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn