Как добавить линию тренда в 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