我尝试为波士顿数据集拟合 OLS。我的图表如下所示。
如何在线上方或图中某处注释线性回归方程?如何在 Python 中打印方程式?
我对这个领域还很陌生。目前正在探索 python。如果有人可以帮助我,那将加快我的学习曲线。
非常感谢!
我也试过了。
我的问题是 - 如何以方程式格式在图中注释以上内容?
原文由 Naive_Natural2511 发布,翻译遵循 CC BY-SA 4.0 许可协议
我尝试为波士顿数据集拟合 OLS。我的图表如下所示。
如何在线上方或图中某处注释线性回归方程?如何在 Python 中打印方程式?
我对这个领域还很陌生。目前正在探索 python。如果有人可以帮助我,那将加快我的学习曲线。
非常感谢!
我也试过了。
我的问题是 - 如何以方程式格式在图中注释以上内容?
原文由 Naive_Natural2511 发布,翻译遵循 CC BY-SA 4.0 许可协议
要在使用 seaborn
lmplot
的情况下注释多个线性回归线,您可以执行以下操作。
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.read_excel('data.xlsx')
# assume some random columns called EAV and PAV in your DataFrame
# assume a third variable used for grouping called "Mammal" which will be used for color coding
p = sns.lmplot(x=EAV, y=PAV,
data=df, hue='Mammal',
line_kws={'label':"Linear Reg"}, legend=True)
ax = p.axes[0, 0]
ax.legend()
leg = ax.get_legend()
L_labels = leg.get_texts()
# assuming you computed r_squared which is the coefficient of determination somewhere else
slope, intercept, r_value, p_value, std_err = stats.linregress(df['EAV'],df['PAV'])
label_line_1 = r'$y={0:.1f}x+{1:.1f}'.format(slope,intercept)
label_line_2 = r'$R^2:{0:.2f}$'.format(0.21) # as an exampple or whatever you want[!
L_labels[0].set_text(label_line_1)
L_labels[1].set_text(label_line_2)
原文由 RMS 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
1 回答3.1k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
您可以使用线性拟合系数制作图例,如本例所示:
如果您使用更复杂的拟合函数,您可以使用乳胶通知: https ://matplotlib.org/users/usetex.html