【发布时间】:2016-09-08 11:13:31
【问题描述】:
我想绘制我的数据点的趋势曲线。 我用指数模型的代码做到了这一点:
with open(file,'r') as csvfile:
plots = csv.reader(csvfile, delimiter=',')
next(plots)
x=[]
y=[]
for row in plots:
x.append(float(row[1]))
y.append(float(row[3]))
plt.plot(x, y, 'ro',label="Original Data")
x = np.array(x, dtype=float) #transform your data in a numpy array of floats
y = np.array(y, dtype=float) #so the curve_fit can work
def func(x, a, b, c):
return (a*np.exp(-b*x)+c)
popt, pcov = curve_fit(func, x, y)
ypredict=func(x, *popt)
plt.plot(x, ypredict, '--', label="Fitted Curve")
plt.legend(loc='upper left')
plt.show()
但是我得到了这个结果:
]
问题
如何通过这些数据获得平滑的趋势曲线?
【问题讨论】: