Salvar figuras idênticas às figuras exibidas em Matplotlib
Ao salvar a figura utilizando matplotlib.pyplot.savefig()
, temos um parâmetro chamado dpi
, que especifica o tamanho relativo do texto e a largura do traço nas linhas. Por defeito, o valor de dpi
para matplotlib.pyplot.show()
é 80, enquanto o valor por defeito de dpi
para matplotlib.pyplot.savefig()
é 100.
Para garantir que as figuras pareçam idênticas para o método show()
e savefig()
, devemos utilizar dpi=fig.dpi
no método savefig()
. Podemos também definir o parâmetro figsize
no método matplotlib.pyplot.figure()
para ajustar as dimensões absolutas da parcela de modo a que ambas as figuras sejam idênticas.
Defina dpi=fig.dpi
no método savefig()
para salvar figuras idênticas às figuras exibidas no 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 Guardada:
Este processo guarda a figura como plot.png
, que é idêntica à que é apresentada.
Por vezes, podemos obter grandes fronteiras sobre as figuras criadas. Para resolver este valor, podemos utilizar o método matplotlib.pyplot.tight_layout()
ou definir bbox_inches='tight'
no 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 Guardada:
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn