Crear diagrama de dispersión con línea suave usando Python

Se puede suavizar una curva para alcanzar una idea aproximada de la visualización. En este artículo, trazaremos un diagrama de dispersión con la línea suave con la ayuda de la biblioteca SciPy. Para trazar un diagrama de dispersión de línea suave, usamos la siguiente función:

  • scipy.interpolate.make_interp_spline() de la biblioteca SciPy calcula los coeficientes de interpolación de B-spline. Al importar, esta función de la biblioteca Scipy y agregar el parámetro, es bastante más fácil obtener la línea suave para el diagrama de dispersión.

Sintaxis:

 scipy.interpolate.make_interp_spline(x, y, k=3, t=Ninguno, bc_type=Ninguno, axis=0, check_finite=True)

Parámetros:

  • x:-Abscisas
  • y:-ordenadas
  • k:-grado B-spline
  • t:-nudos
  • bc_type:-Condiciones de contorno
  • eje:-eje de interpolación
  • check_finite:-Ya sea para verificar que las arrays de entrada contienen solo números finitos

Devuelve: un objeto BSpline de grado k y con nudos t.

  • La función np.linspace() se importa de la biblioteca NumPy y se usa para obtener números espaciados uniformemente durante un intervalo específico que se usa para dibujar un gráfico de dispersión de líneas suaves.

Sintaxis:

 numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=Ninguno, axis=0)

Parámetros:

  • start:-El valor inicial de la secuencia.
  • detener:-El valor final de la secuencia.
  • num:-Número de muestras a generar.
  • punto final:-Si es verdadero, la parada es la última muestra.
  • retstep:-Si es verdadero, devuelve (muestras, paso), donde el paso es el espacio entre muestras.
  • dtype:-El tipo de la array de salida.
  • eje:- El eje en el resultado para almacenar las muestras.

Retorno: una array de números de muestras igualmente espaciadas en el intervalo cerrado

Acercarse

  • Módulo de importación
  • Crear o cargar datos
  • Crear un diagrama de dispersión
  • Cree una curva suavizada a partir de los puntos del diagrama de dispersión
  • Gráfico de visualización

Comencemos con un diagrama de dispersión de muestra.

Ejemplo: 

Python3

import numpy as np
import matplotlib.pyplot as plt
  
x = np.array([1, 2, 3, 4, 5])
  
y = np.array([4, 9, 1, 3, 5])
  
plt.scatter(x, y)
  
plt.show()

Producción:

Ahora visualicemos el gráfico de dispersión uniendo puntos del gráfico para que pueda aparecer una curva irregular, es decir, sin suavizar, para que la diferencia sea evidente.

Ejemplo:

Python3

import numpy as np
import matplotlib.pyplot as plt
  
x = np.array([1, 2, 3, 4, 5])
  
y = np.array([4, 9, 1, 3, 5])
  
plt.plot(x, y)
  
plt.show()

Producción:

Ahora, veremos el mismo ejemplo anterior con el uso de la función np.linspace() y scipy.interpolate.make_interp_spline().

Ejemplo:

Python3

import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import make_interp_spline
  
x = np.array([1, 2, 3, 4, 5])
y = np.array([4, 9, 1, 3, 5])
  
xnew = np.linspace(x.min(), x.max(), 300)
  
gfg = make_interp_spline(x, y, k=3)
  
y_new = gfg(xnew)
  
plt.plot(xnew, y_new)
  
plt.show()

Producción:

Publicación traducida automáticamente

Artículo escrito por deepanshu_rustagi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *