Чтобы построить нормальное распределение в 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.