Вы можете использовать следующий базовый синтаксис, чтобы добавить линию тренда на график в Matplotlib:
#create scatterplot
plt.scatter (x, y)
#calculate equation for trendline
z = np.polyfit (x, y, 1)
p = np.poly1d (z)
#add trendline to plot
plt.plot (x, p(x))
В следующих примерах показано, как использовать этот синтаксис на практике.
Пример 1: создание линейной линии тренда в Matplotlib
В следующем коде показано, как создать базовую линию тренда для диаграммы рассеяния в Matplotlib:
import numpy as np
import matplotlib.pyplot as plt
#define data
x = np.array([8, 13, 14, 15, 15, 20, 25, 30, 38, 40])
y = np.array([5, 4, 18, 14, 20, 24, 28, 33, 30, 37])
#create scatterplot
plt.scatter (x, y)
#calculate equation for trendline
z = np.polyfit (x, y, 1 )
p = np.poly1d (z)
#add trendline to plot
plt.plot (x, p(x))

Синие точки представляют точки данных, а прямая синяя линия представляет собой линейную линию тренда.
Обратите внимание, что вы также можете использовать аргументы color , linewidth и linestyle для изменения внешнего вида линии тренда:
#add custom trendline to plot
plt.plot (x, p(x), color=" purple", linewidth= 3 , linestyle=" -- ")

Пример 2: создание полиномиальной линии тренда в Matplotlib
Чтобы создать полиномиальную линию тренда, просто измените значение в функции np.polyfit() .
Например, мы могли бы использовать значение 2 для создания квадратичной линии тренда:
import numpy as np
import matplotlib.pyplot as plt
#define data
x = np.array([8, 13, 14, 15, 15, 20, 25, 30, 38, 40])
y = np.array([5, 4, 18, 14, 20, 24, 28, 33, 30, 37])
#create scatterplot
plt.scatter (x, y)
#calculate equation for quadratic trendline
z = np.polyfit (x, y, 2 )
p = np.poly1d (z)
#add trendline to plot
plt.plot (x, p(x))

Обратите внимание, что линия тренда теперь изогнута, а не прямая.
Эта полиномиальная линия тренда особенно полезна, когда ваши данные демонстрируют нелинейный шаблон, а прямая линия плохо отражает тренд в данных.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные функции в Matplotlib:
Как скрыть оси в Matplotlib
Как повернуть метки галочки в Matplotlib
Как изменить количество тиков в Matplotlib