当taptool选择某项内容时,我正在尝试更改绘图宽度。我使用bokeh serve调用它,并导航到localhost网站。
当我点击其中一个矩形时,我的控制台会打印出"callback“和"callback2”,但我的绘图不会改变宽度。我做错了什么?
counts = [1*10**7,2*10**7,3*10**7] #dummy data
l_edge = [x for x in range(len(counts))]
r_edge = [x + .85 for x in range(len(counts))]
data = {
'height': counts,
'leftEdges': l_edge,
'rightEdges': r_edge,
}
p = figure()
s = ColumnDataSource(data)
p.add_tools(TapTool())
def callbackfcn(attr,old,new):
global p
print('callback')
p.width = np.random.choice([100,200,300,1000,10000])
p.height = np.random.choice([100,200,300,1000,10000])
print('callback2')
r = p.quad(top='height',bottom=0,
left = 'leftEdges',right = 'rightEdges',
source = s)
r.data_source.on_change('selected',callbackfcn)
layout = column(p)
curdoc().add_root(layout)发布于 2018-03-23 05:28:13
您是否尝试过在布局中包含sizing_mode?看看Bokeh docs中的一个例子。
https://stackoverflow.com/questions/49408044
复制相似问题