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:Bokeh 后端;我可以缩放和平移,但“重置”会导致数据集丢失。我该如何解决?
问题 3: show_tracker的默认数据参数 要求重新执行该函数以生成新的数据帧。有没有简单的方法来解决这个问题?