Cómo guardar figuras idénticas a las mostradas en Matplotlib

Suraj Joshi 15 febrero 2024
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 visualizada guardar las figuras idénticas a las figuras visualizadas Matplotlib

Figura salvada:

Figura guardada guardar figuras idénticas a las figuras mostradas Matplotlib

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 mostrada guardar las figuras idénticas a las figuras mostradas Matplotlib

Figura salvada:

Figura guardada guardar figuras idénticas a las figuras mostradas Matplotlib

Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Artículo relacionado - Matplotlib Images