使用 VBox 的散景小部件间距和对齐方式

Bokeh widget spacing and alignment using VBox

我一直在为我的绘图使用 Bokeh,现在需要向我的绘图添加菜单以显示不同的输出。菜单是使用 Bokeh page

上的示例创建的
from bokeh.models.widgets import Dropdown
from bokeh.io import output_file, show, vform
menu = [("Item 1", "item_1"), ("Item 2", "item_2"), None, ("Item 3","item_3")]
dropdown = Dropdown(label="Dropdown button", type="warning", menu=menu)
dropdown2 = Dropdown(label="Dropdown button2", type="warning", menu=menu)

然后我将这些菜单放在一个 HBox 中:

menu_bar = HBox(children = [dropdown, dropdown2])

通过这种方法,可以找到结果页面的布局 here。菜单栏彼此靠得太近。我有两个问题:

非常感谢。

覆盖 css 我会为你的问题说 1) 我添加了 margin-right: 40px;

.bk-bs-btn-group, .bk-bs-btn-group-vertical {
    display: inline-block;
    margin-right: 40px;
    position: relative;
    vertical-align: middle;
}

您可以将每个 Dropdown 放在一个 VBox 中,并指定 widthheight。例如:

from bokeh.models.widgets import Dropdown, VBox

menu = [("Item 1", "item_1"), ("Item 2", "item_2"), None, ("Item 3","item_3")]
dropdown = Dropdown(label="Dropdown button", type="warning", menu=menu)
dropdown2 = Dropdown(label="Dropdown button2", type="warning", menu=menu)

# put them into boxes and specify their width/height
dropdown_box = VBox(dorpdown, width=100, height=50)
dropdown2_box = VBox(dorpdown2, width=100, height=50)

menu_bar = HBox(children = [dropdown_box, dropdown2_box])