如何在Bokeh HoverTool工具提示中显示欧元符号?
在Bokeh 2.4.3的HoverTool中显示欧元符号的解决方案
Bokeh内置的货币格式化标记仅原生支持$,直接替换为€不会生效。以下是适配Bokeh 2.4.3的可行解决方法:
方案1:直接拼接欧元符号+数值格式化
无需依赖内置货币格式化规则,直接将€放在字段前,同时保留小数位格式化:
hover.tooltips = [ ('Post', '@Post'), ('Bedrag', '€ @Bedrag{0.00}') ]
该方式简单直接,只要Bedrag字段为数值类型,就能正常显示带两位小数的欧元金额。
方案2:用CustomJSHover自定义格式化逻辑
如果需要更灵活的格式化规则(比如根据数值正负调整显示样式),可以通过CustomJSHover编写JS代码实现:
from bokeh.models import HoverTool, CustomJSHover hover = HoverTool() hover.tooltips = [ ('Post', '@Post'), ('Bedrag', '@Bedrag{custom}') ] hover.formatters = { '@Bedrag': CustomJSHover(code=""" return '€ ' + parseFloat(value).toFixed(2); """) }
关于PrintfTickFormatter无效的说明
PrintfTickFormatter是专门为坐标轴刻度设计的格式化器,HoverTool的formatters参数不支持该类型,它仅接受字符串格式标记或CustomJSHover这类针对悬停工具的格式化器。
内容的提问来源于stack exchange,提问作者Arno
相关产品推荐
相关产品推荐

