Часто, когда вы выполняете простую линейную регрессию, вам может быть интересно создать диаграмму рассеяния для визуализации различных комбинаций значений x и y вместе с оценочной линией регрессии.
К счастью, в Python есть два простых способа создать такой график. В этом руководстве объясняются оба метода с использованием следующих данных:
import numpy as np
#create data
x = np.array([1, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9])
y = np.array([13, 14, 17, 12, 23, 24, 25, 25, 24, 28, 32, 33])
Способ 1: использование Matplotlib
В следующем коде показано, как создать диаграмму рассеяния с предполагаемой линией регрессии для этих данных с помощью Matplotlib:
import matplotlib.pyplot as plt
#create basic scatterplot
plt.plot(x, y, 'o')
#obtain m (slope) and b(intercept) of linear regression line
m, b = np.polyfit(x, y, 1)
#add linear regression line to scatterplot
plt.plot(x, m\*x+b)

Не стесняйтесь изменять цвета графика по своему усмотрению. Например, вот как изменить отдельные точки на зеленый, а линию на красный:
#use green as color for individual points
plt.plot(x, y, 'o', color='green')
#obtain m (slope) and b(intercept) of linear regression line
m, b = np.polyfit(x, y, 1)
#use red as color for regression line
plt.plot(x, m\*x+b, color='red')

Способ 2: Использование Seaborn
Вы также можете использовать функцию regplot() из библиотеки визуализации Seaborn, чтобы создать диаграмму рассеяния с линией регрессии:
import seaborn as sns
#create scatterplot with regression line
sns.regplot(x, y, ci=None)

Обратите внимание, что ci=None указывает Seaborn скрыть полосы доверительного интервала на графике. Однако вы можете показать их, если хотите:
import seaborn as sns
#create scatterplot with regression line and confidence interval lines
sns.regplot(x, y)

Вы можете найти полную документацию по функции regplot() здесь .
Дополнительные ресурсы
Как выполнить простую линейную регрессию в Python
Как создать остаточный график в Python