ipywidgets IntSlider 的自定义格式
Custom formatting for ipywidgets IntSlider
我正在处理交互式图表。其中一个选项是select一个房子的房间数。现在,如果您在 n_rooms
参数中输入任何大于 5 的数字,该图表将始终显示拥有 5 个或更多房间的房屋的数据。所以我构建了这个
n_rooms = widgets.IntSlider(
min=1,
max=5,
description='number of rooms:',
layout=Layout(width='30%'),
style=style,
disabled=False)
事实是,这将显示一个从 1 到 5 的滑块。我唯一想更改的是它显示的不是“5”,而是“5 或更多”。有什么办法吗?
谢谢
使用 selection slider 在滑块中使用整数和字符串。
num_rooms = widgets.SelectionSlider(
options=['1', '2', '3', '4', '5 or more'],
value='1',
description='number of rooms:',
disabled=False,
continuous_update=False,
orientation='horizontal',
readout=True )
在我的例子中(主要显示科学数据)定义一个 Text
小部件并将其与滑块一起使用会很有帮助。您只需设置 readout=False
并使用 HBox
。例如,我在 intensities
:
中存储了一些场强
fs = IntSlider(
description='fs: ',
value=0, min=0, max=len(ints)-1,
readout=False
)
fs_text = Text(value=f'{ints[0]:.1f}V/nm', description='', layout=Layout(width='80px'))
# ...
# do some updates
# ...
HBox([fs, fs_text])
在这种情况下,您可以在更新函数中随意使用 Text
的文本。
我正在处理交互式图表。其中一个选项是select一个房子的房间数。现在,如果您在 n_rooms
参数中输入任何大于 5 的数字,该图表将始终显示拥有 5 个或更多房间的房屋的数据。所以我构建了这个
n_rooms = widgets.IntSlider(
min=1,
max=5,
description='number of rooms:',
layout=Layout(width='30%'),
style=style,
disabled=False)
事实是,这将显示一个从 1 到 5 的滑块。我唯一想更改的是它显示的不是“5”,而是“5 或更多”。有什么办法吗? 谢谢
使用 selection slider 在滑块中使用整数和字符串。
num_rooms = widgets.SelectionSlider(
options=['1', '2', '3', '4', '5 or more'],
value='1',
description='number of rooms:',
disabled=False,
continuous_update=False,
orientation='horizontal',
readout=True )
在我的例子中(主要显示科学数据)定义一个 Text
小部件并将其与滑块一起使用会很有帮助。您只需设置 readout=False
并使用 HBox
。例如,我在 intensities
:
fs = IntSlider(
description='fs: ',
value=0, min=0, max=len(ints)-1,
readout=False
)
fs_text = Text(value=f'{ints[0]:.1f}V/nm', description='', layout=Layout(width='80px'))
# ...
# do some updates
# ...
HBox([fs, fs_text])
在这种情况下,您可以在更新函数中随意使用 Text
的文本。