Разброс линии графика до данных вне очереди - PullRequest
0 голосов
/ 19 марта 2020

Я отслеживаю движения птичьего животного. У меня есть точки обнаружения на графике xy. Я хочу подключить предыдущую обнаруженную точку к следующему обнаружению, независимо от направления. Это поможет в удалении посторонних обнаружений.

Образец данных:

Образец ввода Цель состоит в том, чтобы линия от предыдущей точки данных до следующий момент.

Пример вывода

Неудачный метод 1:

plt.figure('Frame',figsize=(16,12))
plt.imshow(frame)
plt.plot(x, y, '-ro', 'd',markersize=2.5, color='orange')

Вывод метода 1

Неудачный метод 2:

plt.plot(np.sort(x), y[np.argsort(x)], '-bo', ms = 2)

Вывод метода 2

1 Ответ

0 голосов
/ 19 марта 2020

Я использовал ваши данные выборки и составил график методом 1 (но с pandas), и результат был таким, как вы ожидали. Я не понимаю, почему у вас неудачный результат.

data = [{'frame': 1, 'x': 5, 'y': 15},
 {'frame': 4, 'x': 10, 'y': 15},
 {'frame': 5, 'x': 15, 'y': 15},
 {'frame': 6, 'x': 20, 'y': 15},
 {'frame': 7, 'x': 23, 'y': 20},
 {'frame': 8, 'x': 25, 'y': 25},
 {'frame': 11, 'x': 20, 'y': 23},
 {'frame': 15, 'x': 15, 'y': 20},
 {'frame': 18, 'x': 8, 'y': 18},
 {'frame': 19, 'x': 8, 'y': 10},
 {'frame': 20, 'x': 12, 'y': 7}]
df = pd.DataFrame(data).sort_values('frame')
df.plot(x='x', y='y')

enter image description here

...