首页 > 解决方案 > 如何将方程添加到 Python 上的线性回归线?

问题描述

真的需要一些帮助来完成我的 python 图表!我从我的 excel 文件中提取了数据并创建了一个带有回归线的散点图。

  1. 如何将回归线扩展到我的轴中的任何一个(0,0)?
  2. 如何扩展回归线,使其在 x=0 处切割 y 轴?
  3. 然后将这些回归线的方程放入我的图例标签中?

这是我的代码:

opened_file = open('viscositydatasimple.csv', 'r', encoding = 'utf-8')

from csv import reader
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
from sklearn.linear_model import LinearRegression
read_file = reader(opened_file)
viscosity_data = list(read_file)

data = pd.read_csv('viscositydatasimple.csv')

a_shear_rate = data.iloc[0:10,1].values.reshape(-1,1)
a_viscosity = data.iloc[0:10, 4].values.reshape(-1,1)
a_shear_stress = data.iloc[0:10,2].values.reshape(-1,1)

b_shear_rate = data.iloc[10:20,1].values.reshape(-1,1)
b_viscosity = data.iloc[10:20, 4].values.reshape(-1,1)
b_shear_stress = data.iloc[10:20,2].values.reshape(-1,1)

g_shear_rate = data.iloc[20:30,1].values.reshape(-1,1)
g_viscosity = data.iloc[20:30, 4].values.reshape(-1,1)
g_shear_stress = data.iloc[20:30,2].values.reshape(-1,1)

linear_regressor = LinearRegression()

''' figure a increase Tween 80 SR vs Visc'''

plt.figure(1)
linear_regressor.fit(a_shear_rate, a_viscosity)
a_pred = linear_regressor.predict(a_shear_rate)

linear_regressor.fit(b_shear_rate, b_viscosity)
b_pred = linear_regressor.predict(b_shear_rate)

linear_regressor.fit(g_shear_rate, g_viscosity)
g_pred = linear_regressor.predict(g_shear_rate)


plt.scatter(a_shear_rate, a_viscosity)
plt.plot(a_shear_rate, a_pred, label='4ml')

plt.scatter(b_shear_rate, b_viscosity)
plt.plot(b_shear_rate, b_pred, label='5ml')

plt.scatter(g_shear_rate, g_viscosity, label='6ml')
plt.plot(g_shear_rate, g_pred)

plt.yscale('log', basey = 10)
plt.xscale('log', basex = 10)

ax = plt.axes()
ax.set_xlabel('Shear Rate (1/s)')
ax.set_ylabel('Viscosity (cP)')

plt.legend()
plt.title('Change in viscosity with an increase in Tween 80')
plt.show()

任何帮助将不胜感激!

谢谢

标签: pythonregressionvisualizationdata-analysisscatter-plot

解决方案


推荐阅读