Почему подобранная прямая не соответствует графику? - PullRequest
0 голосов
/ 20 июня 2020

Возьмите этот простой код, чтобы провести прямую линию через набор точек:

import numpy as np
import matplotlib.pyplot as plt
Polynomial = np.polynomial.Polynomial
def fitcurve(sequence, startx):
     return Polynomial.fit(range(startx, startx+len(sequence)), sequence, 1)
interval = [1361273, 1258363, 1448623, 1524331, 1546994, 1521276, 1535427]
c, m = fitcurve(interval, 0)
x = np.arange(0, len(interval))
y = c+m*x
plt.plot(interval)
plt.plot(x, y)

Результат:

введите описание изображения здесь

Что я делаю не так?

1 Ответ

2 голосов
/ 20 июня 2020

fit возвращает новый многочлен, а не коэффициенты. Чтобы получить коэффициенты, используйте convert().coef:

p = fitcurve(interval, 0)
a = p.convert().coef
x = np.arange(0, len(interval))
y = a[0]+a[1]*x

введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...