Python 博克没有显示情节
我正在为bokeh绘图设计一个模板,它会定期更新,以在我将要读取的文件中显示新数据 目前,我只是使用一个简单的生成器来制作numpy阵列,以测试应用程序 但是,当我执行Python 博克没有显示情节,python,bokeh,Python,Bokeh,我正在为bokeh绘图设计一个模板,它会定期更新,以在我将要读取的文件中显示新数据 目前,我只是使用一个简单的生成器来制作numpy阵列,以测试应用程序 但是,当我执行bokeh-service--show test.py时,浏览器中没有显示任何内容。我不知道如何继续,因为没有错误。我试图用print语句进行调试,结果显示回调甚至不起作用 此特定测试应在每次更新时在同一图形上绘制多个直方图 import numpy as np from bokeh.io import curdoc from b
bokeh-service--show test.py
时,浏览器中没有显示任何内容。我不知道如何继续,因为没有错误。我试图用print语句进行调试,结果显示回调甚至不起作用
此特定测试应在每次更新时在同一图形上绘制多个直方图
import numpy as np
from bokeh.io import curdoc
from bokeh.models import ColumnDataSource
from bokeh.plotting import figure
def histplot_updater(sources, data_stream):
def updater():
data = data_stream.next()
print 'got data'
for i in range(data.shape[1]):
d = data[:, i]
mind = np.min(d)
maxd = np.max(d)
step = max((maxd - mind) // 100, 1)
hist, edges = np.histogram(d, density=True, bins=range(mind, maxd + 2, step))
new_data = {'top': hist, 'left': edges[:-1], 'right': edges[1:]}
sources[i].data = new_data
return updater
def init_histplot(f, data, **kwargs):
hs = []
ss = []
for i in range(data.shape[1]):
source = ColumnDataSource(dict(top=[], left=[], right=[]))
kwgs = {k: v[i] for k,v in kwargs.items()}
h = f.quad(top='top', bottom=0, left='left', right='right', source=source, **kwgs)
hs.append(h)
ss.append(source)
return hs, ss
if __name__ == '__main__':
fig = figure()
Data = (np.random.normal([0, 1], [1, 2], (1000, 2)) for i in xrange(100))
h_sources = init_histplot(fig, Data)[1]
curdoc().add_root(fig)
curdoc().add_periodic_callback(histplot_updater(h_sources), 1000)
有什么想法吗?我已经测试过了,除非您删除以下内容,否则您的代码都不会执行:
if __name__ == '__main__':
我猜bokeh的运行方式与标准程序不同。如果你删除了它,那么你就开始出现错误,即
Error running application handler <bokeh.application.handlers.script.ScriptHandler object at 0x7fed2cc1a590>: 'generator' object has no attribute 'shape'
运行应用程序处理程序时出错:“生成器”对象没有属性“形状”
太好了,现在我可以开始调试了。你知道为什么它会这样吗?我不确定,我最好的猜测是main在bokeh这边,然后它调用我们的代码,所以从技术上讲我们没有编写main