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