Строки кадра данных pandas соответствуют последовательным выборкам времени фильтра Калмана. Я хочу отображать траекторию (истину, измерения и оценки фильтра) в потоке.
def show_tracker(index,data=run_tracker()):
i = int(index)
sleep(0.1)
p = \
hv.Scatter(data[0:i], kdims=['x'], vdims=['y'])(style=dict(color='r')) *\
hv.Curve (data[0:i], kdims=['x.true'], vdims=['y.true']) *\
hv.Scatter(data[0:i], kdims=['x.est'], vdims=['y.est'])(style=dict(color='darkgreen')) *\
hv.Curve (data[0:i], kdims=['x.est'], vdims=['y.est'])(style=dict(color='lightgreen'))
return p
%%opts Scatter [width=600,height=280]
ndx=TimeIndex()
hv.DynamicMap(show_tracker, kdims=[], streams=[ndx])
for i in range(N):
ndx.update(index=i)
Проблема 1: Оси автоматически устанавливаются в соответствии с границами данных. Следовательно, обновления траектории происходят на самом краю границ графика. Есть ли настройка, разрешающая некоторую неточность, или мне нужно вычислить соответствующие границы в функции show_tracker?
Проблема 2: бэкенд боке; Я могу масштабировать и панорамировать, но «Сброс» приводит к потере набора данных. Как это исправить?
Проблема 3. Аргумент данных по умолчанию для show_tracker требует повторного выполнения функции для создания нового фрейма данных. Есть ли простой способ решить эту проблему?