【发布时间】: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)
提前致谢!
【问题讨论】: