Cómo trazar una curva suave en Matplotlib

A menudo, es posible que desee trazar una curva suave en Matplotlib para un gráfico de líneas. Afortunadamente, esto es fácil de hacer con la ayuda de las siguientes funciones de SciPy:

Este tutorial explica cómo utilizar estas funciones en la práctica.

Ejemplo: trazar una curva suave en Matplotlib

El siguiente código muestra cómo crear un gráfico de líneas simple para un conjunto de datos:

importar numpy como np
 importar matplotlib.pyplot como plt

#crear datos
x = np.array ([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array ([4, 9, 12, 30, 45, 88, 140, 230])

#create line chart 
plt. trama (x, y)
plt. mostrar ()

Tenga en cuenta que el gráfico de líneas no es completamente uniforme ya que los datos subyacentes no siguen una línea uniforme. Podemos usar el siguiente código para crear una curva suave para este conjunto de datos:

desde scipy.interpolate import make_interp_spline, BSpline

#crear datos
x = np.array ([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array ([4, 9, 12, 30, 45, 88, 140, 230])

#define x como 200 valores igualmente espaciados entre el mínimo y el máximo del original x  
xnew = np. linspace (x. min (), x. max (), 200 )

#define spline 
spl = make_interp_spline (x, y, k = 3 )
y_suave = spl (xnuevo)

#create gráfico de líneas suaves  
plt. trama (xnuevo, y_suave)
plt. mostrar ()

Curva suave en Matplotlib

Tenga en cuenta que cuanto mayor sea el grado que utilice para el argumento k , más «ondulada» será la curva. Por ejemplo, considere la siguiente tabla con k = 7 :

desde scipy.interpolate import make_interp_spline, BSpline

#crear datos
x = np.array ([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array ([4, 9, 12, 30, 45, 88, 140, 230])

#define x como 200 valores igualmente espaciados entre el mínimo y el máximo del original x  
xnew = np. linspace (x. min (), x. max (), 200 )

#define spline con grado k = 7 
spl = make_interp_spline (x, y, k = 7 )
y_suave = spl (xnuevo)

#create gráfico de líneas suaves  
plt. trama (xnuevo, y_suave)
plt. mostrar ()

Ranura curva suave en Matplotlib

Dependiendo de qué tan curva desee que sea la línea, puede modificar el valor de k.

Recursos adicionales

Cómo mostrar líneas de cuadrícula en gráficos de Matplotlib
Cómo eliminar marcas de gráficos de Matplotlib
Cómo crear gráficos de Matplotlib con escalas logarítmicas

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

Una ojiva es un gráfico que muestra cuántos valores de datos se encuentran por encima o por debajo de un…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!