如何在Bokeh Slider小部件中显示文本

时间:2019-09-14 09:32:14

标签: slider bokeh

我想使用Bokeh滑块小部件来显示月份列表或文本列表,而不是整数。例如。 2018年11月,2018年12月,2019年1月,2019年2月..... 有可能吗?

非常感谢

2 个答案:

答案 0 :(得分:0)

从Bokeh 1.3.4开始,滑块小部件文本不可配置。为格式化程序添加一个钩子似乎是一个合理的要求(对于初次贡献者来说也是一项好任务),因此使用Github Issue是合适的。

现在,您可以将滑块与column放在Div中,并使用text回调(或Python回调, (如果是Bokeh服务器应用程序)。

答案 1 :(得分:0)

只需详细说明@bigreddot所描述的内容:

from bokeh.models import CustomJS, Slider, Legend, Div
from bokeh.layouts import column
from bokeh.plotting import ColumnDataSource, show, output_file
div = Div(text= '<b>text0</b>', style={'font-size': '150%', 'color': 'blue'})
str_list = ['text0', 'text1', 'text2']
str_slider = Slider(start=0, end=len(str_list)-1, value=0, step=1, title="string")
callback = CustomJS(args=dict(div=div, str_list = str_list, str_slider=str_slider), 
code="""
    const v = str_slider.value
    div.text = str_list[v]
""")
str_slider.js_on_change('value', callback)

layout = column(str_slider, div)
output_file('test.html')
show(layout)