Чтобы построить распределение хи-квадрат в Python, вы можете использовать следующий синтаксис:
#x-axis ranges from 0 to 20 with .001 steps
x = np.arange (0, 20, 0.001)
#plot Chi-square distribution with 4 degrees of freedom
plt.plot (x, chi2. pdf (x, df= 4 ))
Массив x определяет диапазон для оси x, а plt.plot() создает кривую для распределения хи-квадрат с указанными степенями свободы.
В следующих примерах показано, как использовать эти функции на практике.
Пример 1: построение одного распределения хи-квадрат
В следующем коде показано, как построить одну кривую распределения хи-квадрат с 4 степенями свободы.
import numpy as np
import matplotlib.pyplot as plt
from scipy. stats import chi2
#x-axis ranges from 0 to 20 with .001 steps
x = np.arange (0, 20, 0.001)
#plot Chi-square distribution with 4 degrees of freedom
plt.plot (x, chi2. pdf (x, df= 4 ))

Вы также можете изменить цвет и ширину линии на графике:
plt.plot (x, chi2. pdf (x, df= 4 ), color='red', linewidth= 3 )

Пример 2: построение нескольких распределений хи-квадрат
В следующем коде показано, как построить несколько кривых распределения хи-квадрат с разными степенями свободы:
import numpy as np
import matplotlib.pyplot as plt
from scipy. stats import chi2
#x-axis ranges from 0 to 20 with .001 steps
x = np.arange (0, 20, 0.001)
#define multiple Chi-square distributions
plt.plot (x, chi2. pdf (x, df= 4 ), label='df: 4')
plt.plot (x, chi2. pdf (x, df= 8 ), label='df: 8')
plt.plot (x, chi2. pdf (x, df= 12 ), label='df: 12')
#add legend to plot
plt.legend()

Не стесняйтесь изменять цвета линий и добавлять заголовок и метки осей, чтобы сделать диаграмму завершенной:
import numpy as np
import matplotlib.pyplot as plt
from scipy. stats import chi2
#x-axis ranges from 0 to 20 with .001 steps
x = np.arange (0, 20, 0.001)
#define multiple Chi-square distributions
plt.plot (x, chi2. pdf (x, df= 4 ), label='df: 4', color='gold')
plt.plot (x, chi2. pdf (x, df= 8 ), label='df: 8', color='red')
plt.plot (x, chi2. pdf (x, df= 12 ), label='df: 12', color='pink')
#add legend to plot
plt.legend(title='Parameters')
#add axes labels and a title
plt.ylabel('Density')
plt.xlabel('x')
plt.title('Chi-Square Distributions', fontsize= 14 )

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