Cómo trazar una curva suave en Matplotlib

Puedes opinar sobre este contenido:
  • 0
  • 0
  • 0
  • 0

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/

Redactor del artículo

  • Luis Benites
    Director de Statologos.com

    Tengo una Maestría en Ciencias en Estadística Aplicada y he trabajado en algoritmos de aprendizaje automático para empresas profesionales tanto en el sector de la salud como en el comercio minorista.

    Ver todas las entradas

¿Te hemos ayudado?

Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:

La ayuda no cuesta nada

Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo:

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!