ChartJS如何将X轴表示星期的数字转换为对应星期名称
ChartJS气泡图X轴替换为星期名称解决方案
你的配置写法不符合ChartJS的轴配置规范,不能直接给scales.x赋值文本数组,需要通过ticks.callback回调函数实现刻度值到星期文本的映射。
首先修正你之前的星期映射错误:原配置里的星期顺序错位、拼写有误(周三应为Wed、周四应为Thu、漏了周二Tue),按照你要求的0对应Sunday的规则,正确配置如下:
// 可根据需要切换完整名称/简写: // 完整名称:const weekLabels = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] const weekLabels = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] const config = { type: "bubble", data: data, options: { responsive: true, scales: { x: { type: 'linear', min: 0, max: 6, // 限定X轴范围刚好覆盖0-6的星期数值 ticks: { stepSize: 1, // 保证每个整数刻度都显示,不会跳刻度 callback: function(value) { return weekLabels[value]; } } } }, }, }
如果你使用的是ChartJS 2.x版本,调整x轴配置层级即可:
options: { scales: { xAxes: [{ type: 'linear', min: 0, max: 6, ticks: { stepSize: 1, callback: function(value) { return weekLabels[value]; } } }] } }

内容的提问来源于stack exchange,提问作者Sütemény András
相关产品推荐
相关产品推荐

