Como plotar e salvar um gráfico em alta resolução em Matplotlib

Suraj Joshi 30 janeiro 2023
  1. Gráfico de plotagem em alta resolução em Matplotlib
  2. Salvar figura em Alta Resolução em Matplotlib
Como plotar e salvar um gráfico em alta resolução em Matplotlib

Para salvar um gráfico em alta resolução em Matplotlib, controlamos vários parâmetros da função savefig(). Da mesma forma, podemos plotar gráficos em alta resolução definindo um alto valor de parâmetro dpi na função figure().

Gráfico de plotagem em alta resolução em Matplotlib

Podemos traçar números em altas resoluções estabelecendo altos valores de dpi na função matplotlib.pyplot.figure().

Sintaxe da função matplotlib.pyplot.figure():

matplotlib.pyplot.figure(num=None, 
                         figsize=None, 
                         dpi=None, 
                         facecolor=None, 
                         edgecolor=None, 
                         frameon=True, 
                         FigureClass=<class 'matplotlib.figure.Figure'>,
                         **kwargs)

dpi significa pontos por polegada. Ela representa o número de pixels por polegada na figura. O valor padrão para dpi em matplotlib.pyplot.figure() função é 100. Podemos definir valores mais altos de dpi para gerar gráficos de alta resolução. Entretanto, aumentar a dpi também ampliará a figura e temos que afinar o valor apropriado de dpi para que a figura não seja recortada.

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 20)
m = 1.5
c = 2
y = m * x + c

plt.figure(dpi=150)
plt.plot(x, y)
plt.title("y=mx+c")
plt.xlabel("x-axis")
plt.ylabel("y-axis")

plt.show()

Resultado:

Plotagem com alta resolução

Salvar figura em Alta Resolução em Matplotlib

Podemos traçar números em altas resoluções definindo altos valores de dpi em matplotlib.pyplot.savefig() função.

Sintaxe da função matplotlib.pyplot.savefig():

matplotlib.pyplot.savefig(fname, 
                          dpi=None,
                          facecolor='w',
                          edgecolor='w',
                          orientation='portrait',
                          papertype=None, 
                          format=None,
                          transparent=False,
                          bbox_inches=None, 
                          pad_inches=0.1,
                          frameon=None, 
                          metadata=None)

Podemos controlar a resolução da figura salva através do parâmetro dpi na função savefig(). Da mesma forma, também podemos variar os formatos enquanto salvamos o gráfico. Geralmente, pngs são melhores que jpeg para gráficos de alta resolução, pois png é um formato de compressão sem perdas e o outro é um formato de compressão com perdas.

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 5)
m = 1.5
c = 2
y = m * x + c

plt.plot(x, y)
plt.title("y=mx+c")
plt.xlabel("x-axis")
plt.ylabel("y-axis")
plt.savefig("High resoltion.png", dpi=300)

Isto salva o gráfico como High resoltion.png no diretório de trabalho atual com resolução mais alta do que o caso padrão.

Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn