使用定期回调时出现散景错误

Bokeh error when using periodic callback

我一直在搞乱 periodic_callback,它一直在抛出错误。但是,我真的不明白为什么?所有代码都是独立工作的,一旦我使用 Bokeh 服务器添加更新功能,就会抛出错误...

一些上下文:

我附上了下面的代码 - 主要功能对 google 分析进行了 API 调用,并提取了每日活跃用户(时间和数量)。这在 Bokeh 函数之外正常工作。然后将此数据输入数据框并执行一些操作以将其置于正确的绘图形式中。然后使用 Bokeh 流函数仅更新当前列数据源。

不幸的是,当我 运行 函数时,出现以下错误:

Error thrown from periodic callback: AttributeError("'ColumnDataSource' object has no attribute 'keys'",)

当我不尝试访问文件或目录时,我什至不知道这意味着什么?

函数:

def update():

    t = main()
    DAU = pd.DataFrame(t['rows'], columns=['Date', 'Vol'])
    DAU['Date'] = pd.to_datetime(DAU['Date'])
    DAU['Vol'] = DAU.Vol.astype(int)

    new = ColumnDataSource(DAU)

source.stream(new)

source = ColumnDataSource({'Date': [], 'Vol': []})

p1 = figure(toolbar_location=None, x_axis_type='datetime')
p1.border_fill_color = 'black'
p1.background_fill_color = 'black'
p1.outline_line_color = None
p1.grid.grid_line_color = None

r1 = p1.line('Date', 'Vol', color="navy", line_width=4, source=source)

curdoc().add_periodic_callback(update, 50)

curdoc().add_root(p1)

提前致谢!

stream 方法 takes a dict as argument 并且它正在您的 ColumnDataSource 对象中寻找 dictkeys() 方法,因此出现错误。