"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo suavizar líneas en Matplotlib para una mejor visualización?

¿Cómo puedo suavizar líneas en Matplotlib para una mejor visualización?

Publicado el 2024-11-10
Navegar:164

How can I smooth lines in Matplotlib for better visualization?

Suavizado de líneas en Matplotlib

En Matplotlib, los gráficos normalmente conectan puntos de datos con líneas rectas. Si bien esto puede ser aceptable en ciertos escenarios, el gráfico resultante puede parecer irregular o visualmente poco atractivo. Este problema se puede solucionar suavizando las líneas, lo que da como resultado una visualización más pulida e informativa.

Usando la interpolación de SciPy

Para suavizar las líneas en Matplotlib, puede aprovechar las capacidades de la biblioteca SciPy. Al invocar scipy.interpolate.spline, puede generar una función de interpolación que producirá una curva suave que pasa por los puntos de datos originales.

from scipy.interpolate import spline

T = np.array([6, 7, 8, 9, 10, 11, 12])
power = np.array([1.53E 03, 5.92E 02, 2.04E 02, 7.24E 01, 2.72E 01, 1.10E 01, 4.70E 00])

xnew = np.linspace(T.min(), T.max(), 300)  # Define the number of points for smoothing

power_smooth = spline(T, power, xnew)

plt.plot(xnew, power_smooth)

En las versiones 0.19.0 y posteriores de SciPy, spline ha quedado obsoleto y reemplazado por la clase BSpline. Para lograr resultados similares, puede emplear el siguiente código:

from scipy.interpolate import make_interp_spline, BSpline

spl = make_interp_spline(T, power, k=3)  # k=3 indicates cubic spline interpolation
power_smooth = spl(xnew)

plt.plot(xnew, power_smooth)

Visualización de los efectos de suavizado

El gráfico original con líneas rectas y el gráfico suavizado se pueden comparar para claridad:

[Antes](https://i.sstatic.net/dSLtt.png)
[Después](https://i.sstatic.net/olGAh.png)

Como se desprende de las imágenes, al suavizar las líneas se eliminan las irregularidades, lo que da como resultado un gráfico visualmente más atractivo e informativo.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3