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

如何修改Chart.js绘制的饼图内部数值的字体大小与颜色?

修改Chart.js饼图内部数值的字体大小与颜色

当然可以修改,分两种常见场景来实现:

一、修改扇区内部的数值标签样式

如果你的饼图扇区上显示了数值(比如每个扇形对应的百分比或数值),通常是用chartjs-plugin-datalabels插件实现的,直接在插件配置里修改字体属性即可:

const myPieChart = new Chart(document.getElementById('pieChart'), {
  type: 'pie',
  data: {
    labels: ['A类', 'B类', 'C类'],
    datasets: [{
      data: [40, 35, 25],
      backgroundColor: ['#ff4d4f', '#52c41a', '#1890ff']
    }]
  },
  plugins: [ChartDataLabels],
  options: {
    plugins: {
      datalabels: {
        // 控制字体大小、粗细、字体族
        font: {
          size: 14,
          weight: 'bold',
          family: 'Microsoft YaHei'
        },
        // 控制字体颜色
        color: '#fff',
        // 数值位置调整(可选)
        anchor: 'center',
        align: 'center'
      }
    }
  }
});

二、修改饼图中心的汇总数值样式

如果是饼图中心显示的总数值或汇总文本,需要通过自定义插件来控制样式:

// 自定义中心文本插件
const centerTextPlugin = {
  id: 'centerText',
  afterDatasetsDraw(chart) {
    const ctx = chart.ctx;
    ctx.save();
    // 获取饼图中心坐标
    const centerX = chart.chartArea.left + chart.chartArea.width / 2;
    const centerY = chart.chartArea.top + chart.chartArea.height / 2;
    
    // 设置字体样式:大小、粗细、字体族
    ctx.font = 'bold 22px Microsoft YaHei';
    // 设置字体颜色
    ctx.fillStyle = '#333';
    ctx.textAlign = 'center';
    ctx.textBaseline = 'middle';
    
    // 计算并绘制总数值
    const total = chart.data.datasets[0].data.reduce((sum, val) => sum + val, 0);
    ctx.fillText(total, centerX, centerY);
    ctx.restore();
  }
};

// 初始化饼图
const myPieChart = new Chart(document.getElementById('pieChart'), {
  type: 'pie',
  data: {
    labels: ['A类', 'B类', 'C类'],
    datasets: [{
      data: [40, 35, 25],
      backgroundColor: ['#ff4d4f', '#52c41a', '#1890ff']
    }]
  },
  plugins: [centerTextPlugin]
});

关键配置说明

  • 扇区数值:通过datalabels.font.size调整大小,datalabels.color设置颜色,还能自定义字体粗细、字体族
  • 中心数值:通过ctx.font定义字体的大小、样式和字体族,ctx.fillStyle设置文本颜色

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 05:27:14