Cómo trazar y guardar un gráfico en alta resolución en Matplotlib
Para guardar un gráfico en alta resolución en Matplotlib, controlamos varios parámetros de la función savefig()
. Del mismo modo, podemos trazar gráficos en alta resolución configurando un valor alto del parámetro dpi
en la función figure()
.
Trazar gráfico en alta resolución en Matplotlib
Podemos trazar figuras en altas resoluciones estableciendo valores altos de dpi
en la función matplotlib.pyplot.figure()
.
Sintaxis de 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 puntos por pulgada. Representa el número de píxeles por pulgada en la figura. El valor predeterminado para dpi
en la función matplotlib.pyplot.figure()
es 100. Podemos establecer valores más altos de dpi
para generar gráficos de alta resolución. Sin embargo, el aumento de dpi
también aumentará la figura y tenemos que ajustar el valor apropiado de dpi
para que esa figura no se recorte.
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()
Producción:
Guardar figura en alta resolución en Matplotlib
Podemos trazar cifras en altas resoluciones estableciendo valores altos de dpi
en la función matplotlib.pyplot.savefig()
.
Sintaxis de 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 la resolución de la figura guardada a través del parámetro dpi
en la función savefig()
. Del mismo modo, también podemos variar los formatos mientras guardamos la trama. En general, pngs
es mejor que jpeg
para gráficos de alta resolución, ya que png
es un formato de compresión sin pérdida y el otro es un formato de compresión con pérdida.
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)
Esto guarda la trama como High resoltion.png
en el directorio de trabajo actual con una resolución más alta que el caso predeterminado.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn