Как построить нерегулярные данные времени в анимированном графике, используя Matplotlib или другое? - PullRequest
0 голосов
/ 18 марта 2019

У меня есть данные, которые регистрируются с нерегулярными временными шагами, и я хочу показать их как анимацию прокрутки с течением времени. Например, данные A могут иметь временные точки [0,001, 0,004, 0,007, 0,009, ..., 0,97], а данные B могут иметь примерно одинаковые значения плюс или минус 0,02 в каждой точке.

Я хочу создать анимацию прокрутки данных, которые обновляются с течением времени, но он должен обновлять точки / вершины линии только после того, как время этой вершины прошло. Я не могу придумать хороший способ сказать «глупо» «для этой строки, считайте только те данные, которые соответствуют этой отметке времени». Я думаю, что если я смогу это понять, то смогу что-нибудь понять из примеров matplotlib, но было бы неплохо и полное решение.

Спасибо!

1 Ответ

0 голосов
/ 18 марта 2019

Я думаю, что одним из решений было бы преобразование данных в согласованный формат:

A = np.array([1, 1.5, 4.5, 5])
B = np.array([1, 2.5, 3.5, 5])

scroll = np.linspace(1,5,11)
A_idx = np.searchsorted(A, scroll) 
B_idx = np.searchsorted(B, scroll)

>>> scroll
array([1. , 1.4, 1.8, 2.2, 2.6, 3. , 3.4, 3.8, 4.2, 4.6, 5. ])
>>> A[A_idx]
array([1. , 1.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 4.5, 5. , 5. ])
>>> B[B_idx]
array([1. , 2.5, 2.5, 2.5, 3.5, 3.5, 3.5, 5. , 5. , 5. , 5. ])

Возможно, вам следует быть осторожным с тем, используете ли вы значения, ориентированные на будущее или назад (здесь это прогноз), но он обновится, когда появятся новые данные.

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