Comment sauvegarder des chiffres identiques aux chiffres affichés dans Matplotlib
Lors de la sauvegarde de la figure en utilisant matplotlib.pyplot.savefig()
, nous avons un paramètre nommé dpi
, qui spécifie la taille relative du texte et la largeur des traits sur les lignes. Par défaut, la valeur de dpi
pour matplotlib.pyplot.show()
est 80, tandis que la valeur par défaut de dpi
pour matplotlib.pyplot.savefig()
est 100.
Pour s’assurer que les chiffres sont identiques pour les méthodes show()
et savefig()
, nous devons utiliser dpi=fig.dpi
dans la méthode savefig()
. Nous pouvons également définir le paramètre figsize
dans la méthode matplotlib.pyplot.figure()
afin d’ajuster les dimensions absolues du tracé de manière à ce que les deux figures soient identiques.
Définissez le paramètre dpi=fig.dpi
dans la méthode savefig()
pour enregistrer des figures identiques aux figures affichées dans 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()
Production:
Figure sauvegardée :
Ce processus enregistre le chiffre sous le nom de plot.png
, qui est identique à celui affiché.
Parfois, nous pouvons obtenir de larges bordures sur les figures créées. Pour résoudre cette valeur, nous pouvons soit utiliser la méthode matplotlib.pyplot.tight_layout()
ou mettre bbox_inches='tight'
dans la méthode 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()
Production:
Figure sauvegardée :
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn