bokeh中的Timeseries流

2024-05-23 13:23:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在博克画一个实时的时间序列。我只想在每次更新时绘制新的数据点。我该怎么做?

bokeh网站上有一个动画情节的例子,但是每次都要重新绘制整个画面。此外,我正在寻找一个简单的例子,我可以做一个时间序列点一点的现场绘图。


Tags: 数据绘图网站时间bokeh绘制动画序列
1条回答
网友
1楼 · 发布于 2024-05-23 13:23:19

从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中的少量数据将被发送到绘图,而不是全部。

相关问题 更多 >