修复Chart.js柱状图X轴错误:实现时间刻度居中显示
解决时间刻度显示在网格线中间的问题
要让时间刻度显示在网格线中间,同时修复第一个柱子被Y轴截断的问题,你需要修改Chart.js配置中的X轴设置:
- 在
xAxes对象中添加offset: true,让柱子相对于刻度居中对齐 - 显式设置
gridLines.offsetGridLines: true,确保网格线偏移到刻度之间
修改后的X轴配置
xAxes: [{ ticks: { autoSkip: true, maxTicksLimit: 14, max: max, min: min }, scaleLabel: { display: true }, type: "time", time: { unit: "minute", displayFormats: { minute: stime }, stepSize: gGraphCardXAxisPeriod[cardNo], tooltipFormat: "YYYY/MM/DD HH:mm:ss" }, position: "bottom", offset: true, // 新增:让柱子居中于刻度 gridLines: { offsetGridLines: true // 显式设置:网格线偏移到刻度之间 } }]
可选:修复柱子截断问题
如果第一个柱子仍有部分被截断,可增加图表左侧内边距:
layout: { padding: { bottom: -26, left: 10 // 新增左侧内边距 }, },
完成上述修改后,时间刻度会显示在网格线中间,第一个柱子也能完整显示,与你提供的示例图效果一致。
内容的提问来源于stack exchange,提问作者Bích Thảo
相关产品推荐
相关产品推荐

