Salva i grafici come file di immagine senza visualizzarli in Matplotlib
-
Metodo Matplotlib
savefig()
per salvare l’immagine -
Metodo
matplotlib.pyplot.imsave()
per salvare l’immagine
Possiamo semplicemente salvare i grafici generati da Matplotlib usando i metodi savefig()
e imsave()
. Se siamo in modalità interattiva, la trama potrebbe essere visualizzata. Per evitare la visualizzazione del grafico usiamo i metodi close()
e ioff()
.
Metodo Matplotlib savefig()
per salvare l’immagine
Possiamo salvare i grafici generati da Matplotlib usando matplotlib.pyplot.savefig(). Possiamo specificare il percorso e il formato in savefig()
in cui il grafico deve essere salvato.
Sintassi:
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,
)
Qui, fname
rappresenta il nome del file relativo al percorso rispetto alla directory corrente.
Salva grafico senza visualizzare in modalità interattiva
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 5, 100)
y = np.sin(x)
plt.plot(x, y)
plt.title("Plot generated using Matplotlib")
plt.xlabel("x")
plt.ylabel("sinx")
plt.savefig("Plot generated using Matplotlib.png")
Questo salva il grafico generato con il nome Plot generated using Matplotlib.png
nella directory di lavoro corrente.
Possiamo anche salvare i grafici in altri formati come png
, jpg
, svg
, pdf
e molti altri. Allo stesso modo, possiamo usare diversi argomenti del metodo figsave()
per personalizzare l’immagine.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 5, 100)
y = np.sin(x)
plt.plot(x, y)
plt.title("Plot generated using Matplotlib")
plt.xlabel("x")
plt.ylabel("sinx")
plt.savefig("Customed Plot.pdf", dpi=300, bbox_inches="tight")
Questo salva il grafico come Customed Plot.pdf
all’interno della directory di lavoro. Qui, dpi=300
rappresenta 300 punti per pollice nell’immagine salvata e bbox_inches='tight'
non rappresenta alcun riquadro di delimitazione intorno all’immagine di output.
Salva grafico senza visualizzare in modalità non interattiva
Tuttavia, se siamo in modalità interattiva, la figura viene sempre mostrata. Per evitare ciò, chiudiamo con forza la finestra della figura per impedire la visualizzazione del grafico utilizzando i metodi close()
e ioff()
. La modalità interattiva è attivata grazie al metodo ion()
.
Evita la visualizzazione con il metodo close()
matplotlib.pyplot.close
può essere utilizzato per chiudere la finestra della figura.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 5, 100)
y = np.sin(x)
fig = plt.figure()
plt.ion()
plt.plot(x, y)
plt.title("Plot generated using Matplotlib")
plt.xlabel("x")
plt.ylabel("sinx")
plt.close(fig)
plt.savefig("Plot generated using Matplotlib.png")
Evita la visualizzazione con il metodo ioff()
Possiamo disattivare la modalità interattiva usando i metodi matplotlib.pyplot.ioff()
. Ciò impedisce la visualizzazione della cifra.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 5, 100)
y = np.sin(x)
fig = plt.figure()
plt.ion()
plt.plot(x, y)
plt.title("Plot generated using Matplotlib")
plt.xlabel("x")
plt.ylabel("sinx")
plt.ioff()
plt.savefig("Plot generated using Matplotlib.png")
Metodo matplotlib.pyplot.imsave()
per salvare l’immagine
Possiamo usare matplotlib.pyplot.imsave()
per salvare gli array come file immagine in Matplotlib.
import numpy as np
import matplotlib.pyplot as plt
image = np.random.randn(100, 100)
plt.imsave("new_1.png", image)
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn