Как использовать функцию 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 pandas:

 import pandas as pd

#createDataFrame
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. Используйте aline, чтобы нарисовать линию с определенным наклоном и пересечением.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *