Як використовувати функцію 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, '--')

Наступні приклади показують, як використовувати цей синтаксис на практиці з наступними pandas DataFrame:

 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
Як обчислити зворотну кумулятивну суму в pandas

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *