散景,动态改变绘图宽度

时间:2018-03-21 13:46:51

标签: python resize bokeh

当taptool选择某些东西时,我试图改变绘图宽度。 我使用散景服务调用它,并导航到localhost网站

当我点击其中一个矩形时,我的控制台打印出"回调"和#34; 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)

1 个答案:

答案 0 :(得分:0)

您是否尝试过在您的布局中包含sizing_mode?请查看Bokeh docs的示例。