时间序列流在散景中

时间:2014-07-17 09:43:47

标签: python bokeh

我想在散景中绘制一个实时时间序列。我想在每次更新时仅绘制新数据点。我怎么能这样做?

散景网站上有动画情节的例子,但它每次都会重新绘制整个画面。另外,我正在寻找一个简单的例子,我可以逐点地制作时间序列的实时情节。

1 个答案:

答案 0 :(得分:12)

截至Bokeh 0.11.1,现在有一个流式接口,用于Bokeh服务器应用程序中的列数据源。您可以在此处查看并轻松运行示例:

https://github.com/bokeh/bokeh/tree/master/examples/app/ohlc

该示例显示了具有MACD指标(基于合成价格数据)的实时更新OHLC图表,该指标仅在每次更新时使用最新数据点更新图表。

基本上,使用流媒体界面由两部分组成。首先创建一个具有相同"形状的新dict"作为列数据源:

new_data = dict(
    time=[t],
    open=[open],
    high=[high],
    low=[low],
    close=[close],
    average=[average],
    color=[color],
)

然后将此传递给.stream方法,并带有一个可选的rollover参数,该参数指定在浏览器中保留多大的缓冲区(早期数据开始被删除):

source.stream(new_data, 300)

然后,new_data中的少量数据将被发送到情节,而不是一切。