Как использовать функцию abline в Matplotlib

Как использовать функцию abline в Matplotlib

Функция abline в R может использоваться для добавления прямой линии на график.

К сожалению, этой функции нет в Matplotlib, но мы можем определить следующую функцию для репликации функции abline в Python:

import matplotlib.pyplot as plt
import numpy as np

def abline (slope, intercept):
 axes = plt.gca ()
 x_vals = np.array (axes. get_xlim ())
 y_vals = intercept + slope \* x_vals
 plt.plot (x_vals, y_vals, '--')

В следующих примерах показано, как использовать этот синтаксис на практике со следующими пандами DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'x': [1, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 11],
 'y': [13, 14, 17, 12, 23, 24, 25, 25, 24, 28, 32, 33, 35, 40]})

#view first five rows of DataFrame
df.head ()

 x y
0 1 13
1 1 14
2 2 17
3 3 12
4 4 23

Пример 1. Использование abline для построения горизонтальной линии

Мы можем использовать следующий код для построения горизонтальной линии с помощью функции abline , определенной ранее:

#create scatterplot
plt.scatter (df.x , df.y )

#add horizontal line at y=30
abline( 0 , 30 ) 

Результатом является горизонтальная линия при y=30.

Пример 2. Использование аблайна для построения линии с заданным наклоном и точкой пересечения

Мы можем использовать следующий код для построения прямой линии с наклоном 3 и точкой пересечения 15 :

#create scatterplot
plt.scatter (df.x , df.y )

#add straight line with slope=3 and intercept=15
abline( 3 , 15 ) 

В результате получается прямая линия с наклоном 3 и точкой пересечения 15.

Пример 3. Использование abline для построения линии регрессии

Мы можем использовать следующий код для построения линии регрессии с функцией abline , определенной ранее:

#calculate slope and intercept of regression line
slope = np.polyfit (df.x , df.y ,1)[ 0 ]
intercept = np.polyfit (df.x , df.y ,1)[ 1 ]

#create scatterplot
plt.scatter (df.x , df.y )

#add regression line
abline(slope, intercept) 

В результате получается подобранная линия регрессии, которая проходит непосредственно через точки на графике.

Примечание.Полную документацию по функции polyfit в NumPy можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:

Как суммировать определенные столбцы в Pandas
Как суммировать столбцы на основе условия в Pandas
Как рассчитать обратную кумулятивную сумму в Pandas

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