Как построить нормальное распределение в Python (с примерами)


Чтобы построить нормальное распределение в Python, вы можете использовать следующий синтаксис:

#x-axis ranges from -3 and 3 with .001 steps
x = np.arange (-3, 3, 0.001)

#plot normal distribution with mean 0 and standard deviation 1
plt.plot (x, norm. pdf (x, 0, 1))

Массив x определяет диапазон для оси x, а plt.plot() создает кривую для нормального распределения с указанным средним значением и стандартным отклонением.

В следующих примерах показано, как использовать эти функции на практике.

Пример 1: построение одного нормального распределения

Следующий код показывает, как построить одну кривую нормального распределения со средним значением 0 и стандартным отклонением 1:

import numpy as np
import matplotlib.pyplot as plt
from scipy. stats import norm

#x-axis ranges from -3 and 3 with .001 steps
x = np.arange (-3, 3, 0.001)

#plot normal distribution with mean 0 and standard deviation 1
plt.plot (x, norm. pdf (x, 0, 1)) 

Вы также можете изменить цвет и ширину линии на графике:

plt.plot (x, norm. pdf (x, 0, 1), color='red', linewidth= 3 ) 

Пример 2: построение нескольких нормальных распределений

Следующий код показывает, как построить несколько кривых нормального распределения с разными средними значениями и стандартными отклонениями:

import numpy as np
import matplotlib.pyplot as plt
from scipy. stats import norm

#x-axis ranges from -5 and 5 with .001 steps
x = np.arange (-5, 5, 0.001)

#define multiple normal distributions
plt.plot (x, norm. pdf (x, 0, 1), label='μ: 0, σ: 1')
plt.plot (x, norm. pdf (x, 0, 1.5), label='μ:0, σ: 1.5')
plt.plot (x, norm. pdf (x, 0, 2), label='μ:0, σ: 2')

#add legend to plot
plt.legend() 

Не стесняйтесь изменять цвета линий и добавлять заголовок и метки осей, чтобы сделать диаграмму завершенной:

import numpy as np
import matplotlib.pyplot as plt
from scipy. stats import norm

#x-axis ranges from -5 and 5 with .001 steps
x = np.arange (-5, 5, 0.001)

#define multiple normal distributions
plt.plot (x, norm. pdf (x, 0, 1), label='μ: 0, σ: 1', color='gold')
plt.plot (x, norm. pdf (x, 0, 1.5), label='μ:0, σ: 1.5', color='red')
plt.plot (x, norm. pdf (x, 0, 2), label='μ:0, σ: 2', color='pink')

#add legend to plot
plt.legend(title='Parameters')

#add axes labels and a title
plt.ylabel('Density')
plt.xlabel('x')
plt.title('Normal Distributions', fontsize= 14 ) 

Подробное описание функции plt.plot() см. в документации по matplotlib.