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