У меня есть данные x, y (order
, Hill
), и я хочу, чтобы мои данные плавно помещались, однако мои кривые выглядят не плавно.Я использую curve_fit
функцию и matplotlib
мой код выглядит следующим образом:
def func(x, a, b, c):
return a*np.exp(-b*x)+c
for i in range(len(hill_numbers)):
Hill = np.array(hill_numbers[i])
print Hill, order
popt, pcov = curve_fit(func, order, Hill, p0=(1, 1e-6, 1), maxfev=10000)
plt.plot(order, Hill, ls="none", marker='.', color='grey')
plt.plot(order, func(order, *popt),'-')
plt.xticks(np.arange(0, 3, step=1))
plt.xlabel('order q')
plt.ylabel('Hill numbers')
plt.show()
У меня есть следующие данные
Hill
выглядит так:
[19. 12.14 7.5426009]
[19. 12.14 7.5426009]
и order
[0,1,2]
[0,1,2]
мой график выглядит так 