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

使用Chart.js与doughnutlabel.js实现环形图中心显示总数问题求助

问题解决方案

以下是针对你的环形图中心总人数不显示问题的排查和修改步骤:

核心排查点与修改建议

1. 修正脚本引入顺序

确保页面中先加载Chart.js,再加载doughnutlabel.js插件,否则插件无法正确注册到Chart.js实例中。

2. 调整配置键名与函数位置

部分版本的doughnutlabel插件要求配置键名为驼峰式doughnutLabel,而非全小写的doughnutlabel;同时将getTotal函数移到事件绑定前,避免变量提升的潜在问题:

// 提前定义求和函数,确保事件触发时可正常调用
var getTotal = function(chart) {
  var sum = chart.data.datasets[0].data.reduce((a, b) => a + b);
  console.log('总人数:', sum); // 控制台调试,确认数值是否为96
  return `${sum}`;
}

$('#exampleAccordion').on('shown.bs.collapse', function() {
  var ctx = document.getElementById("chart-area2").getContext('2d');
  var myChart2 = new Chart(ctx, {
    type: 'doughnut',
    data: {
      labels: <?php echo json_encode($CDC_time);?>,
      datasets: [{
        backgroundColor: ["#5969ff", "#ff407b", "#25d5f2", "#ffc750", "#2ec551", "#7040fa", "#ff004e"],
        data: <?php echo json_encode($CDC_employees);?>,
      }]
    },
    options: {
      plugins: {
        // 修正配置键名为驼峰式doughnutLabel
        doughnutLabel: {
          labels: [{
            text: getTotal,
            font: {
              size: 50, // 用数字类型而非字符串
              color: 'grey'
            }
          }, {
            text: 'Members',
            font: {
              size: 40,
              color: 'grey'
            }
          }]
        },
        // 暂时注释labels插件,排查冲突
        /*labels: [{
          render: 'label',
          fontSize: '12',
          position: 'outside'
        }, {
          render: 'percentage',
          fontColor: '#000000',
          fontSize: '12',
          precision: 0
        }]*/
      },
      legend: {
        display: false,
      },
      responsive: true,
      maintainAspectRatio: true,
      // 设置环形内边距,确保中心有足够空间显示文字
      cutout: '70%'
    }
  });
});

3. 排查插件冲突

你同时使用了labels第三方插件,可能与doughnutlabel的渲染逻辑冲突。先注释掉labels插件配置,测试中心文字是否正常显示;若恢复显示,再尝试调整两个插件的配置优先级或更换兼容的版本。

4. 确认数值计算正确性

通过console.log(sum)在浏览器控制台查看求和结果,确认$CDC_employees的JSON数据是否正确传递,求和逻辑是否得到预期的96。

内容的提问来源于stack exchange,提问作者Joe St Onge

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 19:50:36