【问题标题】:Bokeh error when using periodic callback使用定期回调时出现散景错误
【发布时间】:2017-09-27 19:22:55
【问题描述】:

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

一些上下文:

我附上了下面的代码 - 主函数对谷歌分析进行 API 调用并提取每日活跃用户(时间和数量)。这在散景功能之外可以正常工作。然后将此数据输入数据框并执行一些操作,以便将其置于正确的绘图形式中。然后使用 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)

提前致谢!

【问题讨论】:

    标签: python bokeh


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-31
      • 2020-04-18
      • 2017-10-01
      • 2010-11-26
      • 2019-12-07
      相关资源
      最近更新 更多