¿Cómo trazar una distribución normal con Matplotlib en Python?

requisitos previos:

Distribución normal 

La función de densidad de probabilidad de la distribución normal o gaussiana viene dada por:

Función de densidad de probabilidad

Donde, x es la variable, mu es la media y la desviación estándar sigma

Módulos necesarios

  • Matplotlib es la biblioteca de visualización de datos de python que se usa ampliamente para la visualización de datos.
  • entumecido
  • Scipy
  • El módulo de estadísticas proporciona funciones para calcular estadísticas matemáticas de datos numéricos.

Funciones utilizadas

  • Para calcular la media de los datos

Sintaxis:

mean(data)
  • Para calcular la desviación estándar de los datos

Sintaxis:

stdev(data)
  • Para calcular la densidad de probabilidad normal de los datos, se usa norm.pdf, se refiere a la función de densidad de probabilidad normal, que es un módulo en la biblioteca scipy que usa la función de densidad de probabilidad anterior para calcular el valor.

Sintaxis:

norma.pdf(Datos, ubicación, escala)

Aquí, el parámetro loc también se conoce como la media y el parámetro de escala también se conoce como desviación estándar.

Acercarse

  • Módulo de importación
  • Crear datos
  • Calcular media y desviación
  • Calcular la densidad de probabilidad normal
  • Trazar utilizando los valores calculados anteriormente
  • Gráfico de visualización

A continuación se muestra la implementación.

Python3

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
import statistics
  
# Plot between -10 and 10 with .001 steps.
x_axis = np.arange(-20, 20, 0.01)
  
# Calculating mean and standard deviation
mean = statistics.mean(x_axis)
sd = statistics.stdev(x_axis)
  
plt.plot(x_axis, norm.pdf(x_axis, mean, sd))
plt.show()

Producción:

La salida del código anterior

Publicación traducida automáticamente

Artículo escrito por rajataro0 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 *