ipywidgets,如何改变滑块的值显示精度

12
在 jupyter 中,我使用 ipywidgets 创建以下代码来为我的变量 r 创建滑块控件。
from ipywidgets import interact, interactive, fixed, interact_manual
import ipywidgets as widgets

r = 0.9992
def sl(r=0.9992):
    global ar
    ar = r

interact(sl, r=(0.999, 1, 0.0001))

它能用但问题在于滑块的数值显示被四舍五入到了小数点后两位。因此,显示总是会显示1.00。

enter image description here

有没有办法显示实际数值?

3个回答

8
自从ipywidgets 6.x版本起,FloatSlider控件包含readout_format属性。只需将其设置为所需的精度即可,例如: readout_format='.2f'
widgets.FloatSlider(value=7.5, min=0, max=10.0, 
                    step=0.001, readout_format='.3f')

1

在这里找到解决方案here

值在计算过程中以某种方式计算,可能无法使用FloatSlider完成。您可以使用SelectionSlider代替Float。

my_values = [i / 1000 for i in range(10)]  # [0.001, 0.002, ...] Or use numpy to list

SelectionSlider(options=[("%g"%i,i) for i in my_values])

Widget


-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接