Using the Python library Panel, I'm trying to format an IntSliderRange to f"{the_slider_number} kr"
but the formatting argument in that class is not doing anything with the python text formatting tricks I am familiar with: 'kr', '{} kr', '{0} kr', etc.
Running help(pn.widgets.IntRangeSlider)
tells me that I have to provide "A format string or bokeh TickFormatter" but I can't seem to find any relevant search results based on that.
Copilot suggests '0[.]0a' as an argument which does stuff to the format, namely express the numbers in thousands (1234 -> "1.2k"), but that's not at all what I want.
Does anyone recognize this formatting system? Where can I find out how to use it?
The best place to start is the bokeh documentation about formatters and in particular the section about the predefiend formatters of the NumeralTickFormatter. All these examples can you use and pass to your slider.
from bokeh.plotting import show, output_notebook
from bokeh.models import Slider
output_notebook()
slider = Slider(
start=0,
end=10,
value=2,
step=0.1,
format ='$0,0.00'
)
show(slider)
In addition you can pass any instance of a formatter to the format
. For example if you want a €
sign, there is no existing string notation. But you could make use of the PrintfTickFormatter
to modifiy the string.
from bokeh.plotting import show, output_notebook
from bokeh.models import Slider, PrintfTickFormatter
output_notebook()
slider = Slider(
start=0,
end=10,
value=2,
step=0.1,
format = PrintfTickFormatter(format='€%.2f')
)
show(slider)