Como criar um gráfico de dispersão com uma linha de regressão em python
Freqüentemente, ao realizar uma regressão linear simples, você pode querer criar um gráfico de dispersão para visualizar as diferentes combinações de valores de x e y, bem como a linha de regressão estimada.
Felizmente, existem duas maneiras fáceis de criar esse tipo de gráfico em Python. Este tutorial explica ambos os métodos usando os seguintes dados:
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])
Método 1: usar Matplotlib
O código a seguir mostra como criar um gráfico de dispersão com uma linha de regressão estimada para esses dados usando 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)
Sinta-se à vontade para alterar as cores do gráfico como desejar. Por exemplo, veja como alterar os pontos individuais para verde e a linha para vermelho:
#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 ')
Método 2: Use Seaborn
Você também pode usar a função regplot() da biblioteca de visualização Seaborn para criar um gráfico de dispersão com uma linha de regressão:
import seaborn as sns #create scatterplot with regression line sns.regplot(x, y, ci=None)
Observe que ci=None diz ao Seaborn para ocultar as faixas do intervalo de confiança no gráfico. No entanto, você pode optar por exibi-los se desejar:
import seaborn as sns #create scatterplot with regression line and confidence interval lines sns.regplot(x,y)
Você pode encontrar a documentação completa da função regplot() aqui .
Recursos adicionais
Como realizar regressão linear simples em Python
Como criar um gráfico residual em Python