我现在有一组数据需要进行回归分析,将数据分为4部分,每个部分可以单独进行回归分析然后出图和回归方程。但是现在想把这四组数据按先后顺序在同一个图中共用一个Y轴展示出来
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
import statsmodels.api as sm
data = pd.read_csv("D:/123/1-10.csv")
X1=data ['HI'].values.reshape(-1,1)
Y1=data ['Cp'].values.reshape(-1,1)
reg=LinearRegression()
reg.fit(X1,Y1)
print("The linear model is:Y={:5}+{:5}X".format(reg.intercept_ [0],reg.coef_[0][0]))
pred1 = reg.predict(X1)
X1=data['HI']
y1=data['Cp']
X1m=sm.add_constant(X1)
est=sm.OLS(y1,X1m)
est2=est.fit()
data = pd.read_csv("D:/123/11-18.csv")
X2=data ['HI'].values.reshape(-1,1)
Y2=data ['Cp'].values.reshape(-1,1)
reg=LinearRegression()
reg.fit(X2,Y2)
print("The linear model is:Y={:5}+{:5}X".format(reg.intercept_ [0],reg.coef_[0][0]))
pred2 = reg.predict(X2)
X2=data['HI']
y2=data['Cp']
X2m=sm.add_constant(X2)
est3=sm.OLS(y2,X2m)
est4=est.fit()
data = pd.read_csv("D:/123/19-26.csv")
X3=data ['HI'].values.reshape(-1,1)
Y3=data ['Cp'].values.reshape(-1,1)
reg=LinearRegression()
reg.fit(X3,Y3)
print("The linear model is:Y={:5}+{:5}X".format(reg.intercept_ [0],reg.coef_[0][0]))
pred3 = reg.predict(X3)
X3=data['HI']
y3=data['Cp']
X3m=sm.add_constant(X3)
est5=sm.OLS(y3,X3m)
est6=est.fit()
data = pd.read_csv("D:/123/27-34.csv")
X4=data ['HI'].values.reshape(-1,1)
Y4=data ['Cp'].values.reshape(-1,1)
reg=LinearRegression()
reg.fit(X4,Y4)
print("The linear model is:Y={:5}+{:5}X".format(reg.intercept_ [0],reg.coef_[0][0]))
pred4 = reg.predict(X4)
X4=data['HI']
y4=data['Cp']
X4m=sm.add_constant(X4)
est7=sm.OLS(y4,X4m)
est8=est.fit()
print(est2.summary(), est4.summary(), est6.summary(), est8.summary())
plt.plot(data['HI'], pred1, c='blue', linewidth=2)
plt.plot(data['HI'], pred2, c='blue', linewidth=2)
plt.plot(data['HI'], pred3, c='blue', linewidth=2)
plt.plot(data['HI'], pred4, c='blue', linewidth=2)
plt.xlabel("HI")
plt.ylabel("Cp")
plt.show()
不知道你这个问题是否已经解决, 如果还没有解决的话: