Python Matplotlib实现线性回归拟合直线详解
本文详细介绍如何使用Python的Matplotlib库实现线性回归拟合直线。通过定义线性回归函数并处理单臂与半桥实验数据,展示如何绘制原始数据点与拟合直线,最终生成包含图例的可视化图像,为相关学习提供参考。
Python Matplotlib线性回归拟合直线实现
本文重点讲解在Python中利用Matplotlib库进行线性回归拟合直线的具体实现方法。文中提供了详细的示例代码,内容详实,对读者的学习或实际工作具有一定的参考价值,建议相关人士参考阅读。
具体实现代码如下所示:
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = ['SimHei']
def linear_regression(x, y):
N = len(x)
sumx = sum(x)
sumy = sum(y)
sumx2 = sum(x ** 2)
sumxy = sum(x * y)
A = np.mat([[N, sumx], [sumx, sumx2]])
b = np.array([sumy, sumxy])
return np.linalg.solve(A, b)
#单臂
#修改数据1:
X1=np.array([0,20,40,60,80,100,120,140,160,180,200])
Y1=np.array([0,0.02,0.06,0.1,0.13,0.16,0.19,0.22,0.245,0.278,0.3])
#半桥
#修改数据2:
X2=np.array([0,20,40,60,80,100,120,140,160,180,200])
Y2=np.array([0,0.057,0.118,0.185,0.245,0.308,0.376,0.425,0.488,0.544,0.58])
a0, a1 = linear_regression(X1, Y1)
# 生成拟合直线的绘制点
_X1 = [0, 200]
_Y1 = [a0 + a1 * x for x in _X1]
a0, a1 = linear_regression(X2, Y2)
# 生成拟合直线的绘制点
_X2 = [0, 200]
_Y2 = [a0 + a1 * x for x in _X1]
#显示图像
plt.plot( X1, Y1, 'ro', linewidth=2,label="单臂电桥")
plt.plot(_X1, _Y1, 'b',linewidth=2,label='单臂电桥',color='C0')
plt.plot( X2, Y2, 'g^', linewidth=2,label='半桥')
plt.plot(_X2, _Y2, 'b', linewidth=2,label='半桥',color='C1')
plt.xlabel('weight/g')
plt.ylabel('voltage/v')
plt.legend()
plt.show()
生成的拟合结果图例如下:

以上就是本文的全部内容,希望能为各位的学习带来帮助,同时也欢迎大家继续支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













