Wie man mit den in Matplotlib angezeigten Figuren identische Figuren speichert

Suraj Joshi 15 Februar 2024
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:

Angezeigte Abbildung speichert Abbildungen, die mit den angezeigten Abbildungen identisch sind Matplotlib

Gespeicherte Abbildung:

Gespeicherte Abbildung: gespeicherte Abbildungen identisch mit den angezeigten Abbildungen Matplotlib

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:

Angezeigte Abbildung speichert Abbildungen, die mit den angezeigten Abbildungen identisch sind Matplotlib

Gespeicherte Abbildung:

Gespeicherte Abbildung: gespeicherte Abbildungen identisch mit den angezeigten Abbildungen Matplotlib

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Verwandter Artikel - Matplotlib Images