Jak utworzyć wykres punktowy z linią regresji w pythonie
Często podczas wykonywania prostej regresji liniowej możesz chcieć utworzyć wykres rozrzutu, aby zwizualizować różne kombinacje wartości x i y, a także szacowaną linię regresji.
Na szczęście istnieją dwa proste sposoby tworzenia tego typu fabuły w Pythonie. W tym samouczku wyjaśniono obie metody, korzystając z następujących danych:
import numpy as np
#createdata
x = np.array([1, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9])
y = np.array([13, 14, 17, 12, 23, 24, 25, 25, 24, 28, 32, 33])
Metoda 1: Użyj Matplotlib
Poniższy kod pokazuje, jak utworzyć wykres rozrzutu z szacunkową linią regresji dla tych danych za pomocą Matplotlib:
import matplotlib.pyplot as plt #create basic scatterplot plt.plot(x, y, 'o') #obtain m (slope) and b(intercept) of linear regression line m, b = np.polyfit(x, y, 1) #add linear regression line to scatterplot plt.plot(x, m*x+b)
Możesz dowolnie zmieniać kolory wykresu. Oto jak na przykład zmienić poszczególne punkty na zielone, a linię na czerwoną:
#use green as color for individual points plt.plot(x, y, 'o', color=' green ') #obtain m (slope) and b(intercept) of linear regression line m, b = np.polyfit(x, y, 1) #use red as color for regression line plt.plot(x, m*x+b, color=' red ')
Metoda 2: Użyj Seaborn
Możesz także użyć funkcji regplot() biblioteki wizualizacji Seaborn, aby utworzyć wykres rozrzutu z linią regresji:
import seaborn as sns #create scatterplot with regression line sns.regplot(x, y, ci=None)
Należy zauważyć, że ci=None mówi Seabornowi, aby ukrył na wykresie pasma przedziałów ufności. Jeśli jednak chcesz, możesz je wyświetlić:
import seaborn as sns #create scatterplot with regression line and confidence interval lines sns.regplot(x,y)
Pełną dokumentację funkcji regplot() znajdziesz tutaj .
Dodatkowe zasoby
Jak wykonać prostą regresję liniową w Pythonie
Jak utworzyć wykres resztkowy w Pythonie