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

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

Вы можете использовать следующий базовый синтаксис, чтобы добавить линию тренда на график в 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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.