如何移除Shiny jQuery Sparkline工具提示内日期的逗号且保留数值逗号
Sparkline工具提示日期去多余逗号方案
问题根因
- jQuery Sparkline 默认开启数字自动格式化规则,所有数值大于999的内容,都会被自动插入逗号作为千分位分隔符
- 传入的x轴值是2000-2021的四位数年份,刚好触发这个自动规则,导致日期位置被加上本不该存在的逗号
- 我们需要保留y轴数值的千分位逗号,因此不能直接全局关闭数字格式化功能
调整逻辑
- 修改工具提示的格式化字符串,将原有的
{{x}}(带自动格式化的x值占位符)替换为{{xval}}(输出未格式化的原始x值占位符),从根源上避免x值被自动加逗号 - 保留原有的
{{y}}占位符,继续沿用默认的数字格式化规则,保证数值的千分位逗号正常展示
修改后的核心代码
data <- raw_data %>% # Create the sparkline summarise("value" = sparkline::spk_chr(c(value), xvalues = date, # 替换占位符规则,移除x值的自动格式化 tooltipFormat = '{{xval}}: {{y}}'))
效果说明
修改后工具提示的日期部分会直接展示原始年份(例如2018: 427),不会出现2,018: 427这类带多余逗号的日期内容;当y值超过999时,仍然会正常展示千分位逗号,符合预期效果。
内容的提问来源于stack exchange,提问作者Rhi
相关产品推荐
相关产品推荐

