Рисование позиций / траекторий на основе временных данных

#python #python-3.x #matplotlib #seaborn

#python #python-3.x #matplotlib #seaborn

Вопрос:

У меня есть следующие данные.

 Time (ms)| object1(x,y,z) | object2(x,y,z) |  
6        | 1,2.1,0.55     | 13.1,2,1       |  
25       | 0.587,0,0.1    | 1.1,1.5,1      |  
134      | 0.1,0.1,0.1    | 4.1,0.5,1      |
...      | ...            | ...            |
 

Я пытаюсь визуализировать траектории как object1, так и object2, следуя метке времени в левом столбце.
Я мог бы визуализировать траектории, но без анимации на основе данных, используя следующий код:

 import csv
import numpy as np
import matplotlib.pyplot as plt

object1x = list()
object1y = list()
object1z = list()
object2x = list()
object2y = list()
object2z = list()
with open('data.csv', 'r') as file:
    reader = csv.reader(file)
    next(reader)
    for row in reader:
        object1x.append(float(row[0]))
        object1y.append(float(row[1]))
        object1z.append(float(row[2]))
        object2x.append(float(row[6]))
        object2y.append(float(row[7]))
        object2z.append(float(row[8]))
fig = plt.figure()
ax = plt.axes(projection="3d")
ax.plot3D(object1x, object1y, object1z, 'red')
ax.plot3D(object2x, object2y, object2z, 'green')

plt.show()
 

Можно ли анимировать траектории на основе данных в столбце Time? В частности, мне не нужны случайные / предопределенные времена обновления.

Комментарии:

1. Достаточно ли объединить кучу изображений в GIF?

2. Да, я думаю, что так и будет.. Но я не уверен, как это будет работать для большого файла данных с большим количеством позиций.. и я не уверен, как это выполнить, потому что, как я уже сказал, мне нужны конкретные обновления, связанные с временем, на основе данных.

3. Не знаком с matplotlib, поэтому не могу сказать вам, возможна ли с его помощью анимация. Если нет способа решить эту проблему, альтернативой может быть использование tkinter canvas, что потребует много работы, поскольку оно не готово для графиков. Хотя он обладает большой гибкостью. Не знаком с pygame, но я подозреваю, что это также может быть альтернативой с большим объемом работы.

4. @AndrewAllaire Спасибо, я постараюсь посмотреть, можно ли это сделать с помощью pygame

5. В чем ваша конкретная проблема с этой анимацией с использованием matplotlib? Само построение графика или реализация временной последовательности? Если первое: галерея matplotlib содержит множество сценариев анимации, которые можно адаптировать. Пример осциллографа показывает вам, например, как обновлять анимацию, когда излучатель посылает сигнал. Но я сомневаюсь, что это работает в диапазоне мс.