Cómo guardar figuras idénticas a las mostradas en Matplotlib
 
Al guardar la figura usando matplotlib.pyplot.savefig(), tenemos un parámetro llamado dpi, que especifica el tamaño relativo del texto y el ancho del trazo de las líneas. Por defecto, el valor de dpi para matplotlib.pyplot.show() es 80, mientras que el valor por defecto de dpi para matplotlib.pyplot.savefig() es 100.
Para asegurarnos de que las cifras se vean idénticas para el método show() y savefig(), debemos usar dpi=fig.dpi en el método savefig(). También podemos establecer el parámetro figsize en el método matplotlib.pyplot.figure() para ajustar las dimensiones absolutas del gráfico de manera que ambas figuras sean idénticas.
Establezca dpi=fig.dpi en el método savefig() para guardar las figuras idénticas a las figuras mostradas en 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()
Resultado:

Figura salvada:

Este proceso guarda la figura como plot.png, que es idéntica a la que se muestra.
A veces, podemos obtener grandes bordes en las figuras creadas. Para resolver este valor, podemos usar el método matplotlib.pyplot.tight_layout() o establecer bbox_inches='tight' en el método 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()
Resultado:

Figura salvada:

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