Как использовать функцию 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
Как рассчитать обратную накопительную сумму в пандах