Salva figure identiche a quelle visualizzate in Matplotlib
Salvando la figura usando matplotlib.pyplot.savefig(), abbiamo un parametro chiamato dpi, che specifica la dimensione relativa del testo e la larghezza del tratto sulle linee. Per impostazione predefinita, il valore di dpi per matplotlib.pyplot.show() è 80, mentre il valore predefinito di dpi per matplotlib.pyplot.savefig() è 100.
Per assicurarci che le cifre siano identiche per i metodi show() e savefig(), dobbiamo usare dpi=fig.dpi nel metodo savefig(). Possiamo anche impostare il parametro figsize nel metodo matplotlib.pyplot.figure() per regolare le dimensioni assolute del grafico in modo che entrambe le figure siano identiche.
Imposta dpi=fig.dpi nel metodo savefig() per salvare le figure identiche alle figure visualizzate in Matplotlib
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()
Produzione:

Figura salvata:

Questo processo salva la figura come plot.png, che è identico a quello visualizzato.
A volte, possiamo ottenere grandi bordi sulle figure create. Per risolvere questo valore, possiamo utilizzare il metodo matplotlib.pyplot.tight_layout() o impostare bbox_inches='tight' nel metodo savefig().
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()
Produzione:

Figura salvata:

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