通过Bokeh中的python回调调整Div

时间:2017-10-22 19:49:28

标签: bokeh

我有一个情节,我想在第一个图中用户点击数据点动态填充div,并自动向下移动第二个图。我已经尝试在布局上设置sizing_mode但是这些图不会渲染。这可能是与标签小部件的交互。到目前为止,python回调是正确触发的,但Div的高度保持不变,文本被切断。

回叫如下,

def update_plot_points_select(attr, old, new):        
    #function to change Divs if points are selected
    #tap can either be a tap or untap, 1 or more points
    #Show chosen word in text box
    if len(new['1d']['indices']) > 0:
        #update search text input field
        text_input_word_search_in_documents.value = source.data['term'][new['1d']['indices'][0]]
        #update Div's
        text_display_category_div.update(text=source.data['term'][new['1d']['indices'][0]]+'<br/>'+'line')
        text_display_category_div.update(height=600)
        text_display_not_category_div.update(text=source.data['term'][new['1d']['indices'][0]]+'<br/>'+'line')
        text_display_not_category_div.update(height=600)
        category_scatter_graph_layout.children[0].children[1].children[1].children[0].height = 600
        category_scatter_graph_layout.children[0].children[1].children[1].children[1].height = 600
    else:
        text_input_word_search_in_documents.value = ''
        text_display_category_div.update(text='')
        text_display_category_div.update(height=0)
        text_display_not_category_div.update(text='')
        text_display_not_category_div.update(height=0)      
        category_scatter_graph_layout.children[0].children[1].children[1].children[0].height = 0
        category_scatter_graph_layout.children[0].children[1].children[1].children[1].height = 0 

正如您所看到的,我正在尝试将Div和父窗口小部件框的高度从0设置为600,但绘图不会更新。也许我可以在div.text的html中解决这个问题。任何想法都会有所帮助。

Div的截止文本如下所示。

Cutoff text of Div

1 个答案:

答案 0 :(得分:0)

我想出了一个可能的解决方案。使用非固定大小调整模式设置布局搞乱了图,但是使用scale_height的scale_mode将各个Div包含在我的布局中的widgetbox中,实现了我需要的解决方案。

widgetbox([text_display_category_div,text_display_not_category_div],sizing_mode = 'scale_height')