You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chart.js 3.x 标签字段使用动态数组不生效问题咨询

问题根因

  • 动态更新图表的逻辑中,你错误使用了未定义的newLabelsArray变量赋值标签,没有传入最新的labelsP数组
  • Chart.js 3.x 版本中,标签配置挂载在图表实例的data属性下,你直接写barChartProjekt.labels是错误的赋值路径,实际应该修改barChartProjekt.data.labels
  • 额外逻辑问题:你把标签赋值逻辑放在了数据集的遍历循环内,会导致重复执行多次无意义赋值,逻辑不严谨。

修正后的代码

if (barChartProjekt) {
  // 更新数据集
  data.datasets.forEach((ds, i) => {
    barChartProjekt.data.datasets[i].data = ds.data;
  })
  // 正确更新标签:放在循环外,用最新的labelsP赋值到正确路径
  barChartProjekt.data.labels = labelsP;  
  barChartProjekt.update();
} else {
  // 初始化逻辑无需调整,只需保证执行初始化时接口已返回数据、labelsP已正确赋值即可
  barChartProjekt = new Chart(chart, {
    type: 'bar',
    data: data,
    options: {
      responsive: true,
      plugins: {  
        legend: {
          labels: {
            color: "white",
            font: {
              size: 18 
            }
          }
        }
      },
      scales: {
        y: {  
          ticks: {
            color: "white",
            font: {
              size: 18,
            },
            stepSize: 1,
            beginAtZero: true
          }
        },
        x: { 
          ticks: {
            color: "white",  
            font: {
              size: 14
            },
            stepSize: 1,
            beginAtZero: true
          }
        }
      }
    }
  });
}

内容的提问来源于stack exchange,提问作者Pauliecode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 22:45:02