当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Streamlit st.slider用法及代码示例


显示滑块小部件。

这支持 int、float、date、time 和 datetime 类型。

这还允许您通过将二元素元组或列表作为 value 传递来呈现范围滑块。

st.sliderst.select_slider 之间的区别在于,slider 只接受数字或日期/时间数据,并将范围作为输入,而 select_slider 接受任何数据类型并采用一组可迭代的选项。

函数签名

st.slider(label, min_value=None, max_value=None, value=None, step=None, format=None, key=None, help=None, on_change=None, args=None, kwargs=None, *, disabled=False)
参数说明

label (str)

一个简短的标签,向用户解释此滑块的用途。

min_value (a supported type or None)

最小允许值。如果 value 是 int,则默认为 0,如果是 float,则默认为 0.0, value - timedelta(days=14) 如果是 date/datetime,如果是 time,则默认为 time.min

max_value (a supported type or None)

最大允许值。如果 value 是 int,则默认为 100,如果是 float,则默认为 1.0,如果是 date/datetime,则 value + timedelta(days=14),如果是 time,则默认为 time.max

value (a supported type or a tuple/list of supported types or None)

滑块首次渲染时的值。如果在此处传递两个值的元组/列表,则呈现具有这些下限和上限的范围滑块。例如,如果设置为(1, 10),则滑块的可选范围为 1 到 10。默认为 min_value。

step (int/float/timedelta or None)

步进间隔。如果值是 int,则默认为 1,如果是 float,则默认为 0.01,如果是日期/日期时间,则默认为 timedelta(days=1),如果是 time(或者如果 max_value - min_value < 1 天),则默认为 timedelta(minutes=15)

format (str or None)

printf-style 格式字符串控制接口应如何显示数字。这不会影响返回值。 int/float 格式器支持:%d %e %f %g %i 日期/时间/日期时间格式器使用 Moment.js 表示法:https://momentjs.com/docs/#/displaying/format/

key (str or int)

一个可选的字符串或整数,用作小部件的唯一键。如果省略,将根据其内容为小部件生成一个 key 。相同类型的多个小部件可能不共享相同的键。

help (str)

显示在滑块旁边的可选工具提示。

on_change (callable)

当此滑块的值更改时调用的可选回调。

args (tuple)

传递给回调的可选参数元组。

kwargs (dict)

一个可选的 kwargs 字典传递给回调。

disabled (bool)

一个可选的布尔值,如果设置为 True,则禁用滑块。默认值为假。此参数只能由关键字提供。

返回说明

(int/float/date/time/datetime or tuple of int/float/date/time/datetime)

滑块小部件的当前值。返回类型将匹配 value 参数的数据类型。

例子

age = st.slider('How old are you?', 0, 130, 25)
st.write("I'm ", age, 'years old')

这是范围滑块的示例:

values = st.slider(
     'Select a range of values',
     0.0, 100.0, (25.0, 75.0))
st.write('Values:', values)

这是一个范围时间滑块:

from datetime import time
appointment = st.slider(
     "Schedule your appointment:",
     value=(time(11, 30), time(12, 45)))
st.write("You're scheduled for:", appointment)

最后,一个日期时间滑块:

from datetime import datetime
start_time = st.slider(
     "When do you start?",
     value=datetime(2020, 1, 1, 9, 30),
     format="MM/DD/YY - hh:mm")
st.write("Start time:", start_time)

相关用法


注:本文由纯净天空筛选整理自streamlit.io大神的英文原创作品 st.slider。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。