web-dev-qa-db-fra.com

Seaborn: annoter l'équation de régression linéaire

J'ai essayé d'installer un OLS pour l'ensemble de données de Boston. Mon graphique ressemble à ci-dessous.

Comment annoter l'équation de régression linéaire juste au-dessus de la ligne ou quelque part dans le graphique? Comment imprimer l'équation en Python?

Je suis relativement nouveau dans ce domaine. Explorer python dès maintenant. Si quelqu'un peut m'aider, cela accélérerait ma courbe d'apprentissage.

Merci beaucoup!

OLS fit

J'ai aussi essayé ça.

enter image description here

Mon problème est - comment annoter ce qui précède dans le graphique au format équation?

14
xkcvk2511

Vous pouvez utiliser des coefficients d'ajustement linéaire pour créer une légende comme dans cet exemple:

import seaborn as sns
import matplotlib.pyplot as plt
from scipy import stats

tips = sns.load_dataset("tips")

# get coeffs of linear fit
slope, intercept, r_value, p_value, std_err = stats.linregress(tips['total_bill'],tips['tip'])

# use line_kws to set line label for legend
ax = sns.regplot(x="total_bill", y="tip", data=tips, color='b', 
 line_kws={'label':"y={0:.1f}x+{1:.1f}".format(slope,intercept)})

# plot legend
ax.legend()

plt.show()

enter image description here

Si vous utilisez une fonction d'ajustement plus complexe, vous pouvez utiliser une notification au latex: https://matplotlib.org/users/usetex.html

17
Serenity