如何在Bokeh中水平排列不同的小部件

2024-04-27 05:26:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试组合几个不同的小部件来为绘图制作控件,在这里可以选择轴并更改输入值参数。我把它组织成我认为应该是的,但它并没有顺利地排列任何不同的小部件。在

Widgets not lined up

我怎样才能以一种相对干净的方式工作呢?我的代码在下面,我正在输出到笔记本。谢谢!在

import pandas as pd
from bokeh.plotting import figure, output_file, show
from bokeh.io import output_notebook, show, curdoc
from bokeh.layouts import column, row, gridplot, layout, WidgetBox
from bokeh.models.widgets import CheckboxButtonGroup, Slider, RadioGroup, TextInput


inputs = pd.read_csv("surrogate_inputs.csv")
slider_list = []
variables = []
empty = []
textinp_list = []

for i in range(0,len(inputs.Input)):
  slider = Slider(title=None, start=inputs.Min[i], end=inputs.Max[i], value=inputs.Init[i], step=inputs.Step[i])
  textinput = TextInput(title=None, value=str(slider.value))
  slider_list.append(slider)
  variables.append(inputs.Input[i])
  textinp_list.append(textinput)
  empty.append(" ")

sliders = column(slider_list)
textinp = column(textinp_list)
radio_group_x = RadioGroup(labels=empty, active=0)
radio_group_y = RadioGroup(labels=variables, active=1)
input_section = row([radio_group_x, radio_group_y, sliders, textinp], sizing_mode='scale_height')
show(input_section)

Tags: fromimportshowbokehgroupcolumnvariableslist
1条回答
网友
1楼 · 发布于 2024-04-27 05:26:41

一行中有4列(exampel中的radiogroup等单个小部件会自动被包装在一个Widgetbox对象中,该对象类似于一个列)。 列在同一行中彼此对齐,这并不意味着其中的元素将水平对齐。在

您应该尝试在一列中执行3行,这可能需要删除radio组并具有单独的单选按钮:

column(row(button1,button1.2,slider1,text1),row(button2,button2.2,slider2,text2),row(button3,button3.2,slider3,text3))

或与gridplot等效:

^{pr2}$

相关问题 更多 >