Python 绘制线性回归散点图和置信区间线

您所在的位置:网站首页 如何用python做柱状图做p值标注 Python 绘制线性回归散点图和置信区间线

Python 绘制线性回归散点图和置信区间线

2023-06-18 11:31| 来源: 网络整理| 查看: 265

使用python绘制线性回归散点图和回归线以及置信区间线,使用的数据直接随机写两个一维数组,作为x、y值。

import pandas as pd from scipy import stats import matplotlib.pyplot as plt import numpy as np x = [5,7,8,7,2,17,2,9,4,11,12,9,6] y = [99,86,87,88,111,86,103,87,94,78,77,85,86] slope, intercept, r, p, std_err = stats.linregress(x, y) print(slope, intercept, r, p, std_err) def myfunc(x): return slope * x + intercept mymodel = list(map(myfunc, x)) #y=slope * x + intercept regression_equation="y="+"{:.2f}".format(slope)+"*x+"+"{:.2f}".format(intercept)+"\nR:"+"{:.2f}".format(r)+"\nP:"+"{:.4f}".format(p) y_pred= mymodel print(y_pred) std=np.std(y_pred) # y_pred, std = model.predict(x, return_std=True) std_z = 1.96 # from z-table for 95% confidence_interval = std * std_z plt.scatter(x, y) plt.plot(x, mymodel,label=regression_equation) plt.plot(x, y_pred - confidence_interval) plt.plot(x, y_pred + confidence_interval) plt.fill_between(x, y_pred - confidence_interval, y_pred + confidence_interval) plt.xlabel('x axis') plt.ylabel('y axis') plt.legend(loc="best") # 指定legend的位置,读者可以自己help它的用法 plt.title('polyfitting') plt.show()

计算效果如下:

修改一下代码,显示置信区间图例标签,效果如下:

plt.plot(x, y_pred - confidence_interval,label="95%-") plt.plot(x, y_pred + confidence_interval,label="95%+")

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3