Chart.js问题:柱状图仅显示标签,不展示数据
解决Chart.js柱状图只显示标签不展示数据的问题
嘿,我帮你排查了下这段Chart.js代码,问题很可能出在x轴的配置上!
问题根源
你代码里的scales.xAxes配置有个明显的错误:stacked: 'f...'——这不仅是代码被截断了,更重要的是stacked属性需要的是布尔值(true/false),而不是字符串。这个错误会导致Chart.js无法正确解析坐标轴配置,进而无法渲染出柱状图的数据。
修正后的完整代码
我把代码里的错误修复了,同时补充了合理的堆叠配置(如果不需要堆叠可以调整):
this.plotEnergy = new Chart($('#plotEnergy'), { type: 'bar', animation: false, data: { labels: ["aaa", "bbb"], datasets: [ { label: "ijoij", backgroundColor: '#000000', data: [2000, 2300] }, { label: "ijooijojij", backgroundColor: '#FF00FF', data: [1500, 2500] }, ] }, options: { tooltips: { mode: 'index', intersect: false }, title: { display: true, text: 'Generated energy' }, responsive: true, scales: { xAxes: [ { // 根据需求设置是否堆叠,true为堆叠,false为并列,不需要可删除 stacked: true } ], // 若需要y轴也堆叠,添加以下配置(可选) yAxes: [ { stacked: true } ] } } });
额外检查点
- 确认你使用的Chart.js版本和代码语法匹配:这段代码是v2版本的写法(用
xAxes/yAxes数组),如果是v3+版本,配置结构会有差异,需要调整为scales.x/scales.y的对象形式 - 确保DOM元素
#plotEnergy在代码执行时已经存在(比如把代码放在DOM加载完成的回调里)
内容的提问来源于stack exchange,提问作者Nicoowr




