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

ChartJS默认字体大小修改无效:设置Chart.defaults.global.defaultFontSize未生效求助

问题:Chart.js 修改默认字体大小不生效

我尝试把Chart.js图表的默认字体大小从默认的40px改成14px,设置了Chart.defaults.global.defaultFontSize = 14;之后却没有任何变化。以下是我的代码,希望有人能帮忙看看问题出在哪,提前感谢!

Chart.defaults.global.defaultFontSize = 14;
let chart = new Chart(context, {
  type: 'line',
  options:{
    animation: {
      onComplete: function(e) {
        angularContext.onChartRendered();
      }
    },
    layout: {
      padding: {
        left: 20,
        right: 40,
        top: 20,
        bottom: 60
      }
    },
    title: {
      text: 'Bonello Distribution',
    },
    legend: {
      display: false,
    }
  },
  data: {
    labels: graphData.labels,
    datasets: [
      {
        label: 'My First dataset',
        data: graphData.values,
        borderColor: "#3e95cd",
        fill: false
      }
    ],
  },
});

解决方案

这个问题大概率是Chart.js版本差异导致的配置路径变更!

从Chart.js v3.x版本开始,global全局配置节点被移除了,默认字体大小的配置路径变成了Chart.defaults.font.size。你原来的写法在v3+版本里自然不会生效,改成下面这样试试:

// 适配Chart.js v3.x及以上版本
Chart.defaults.font.size = 14;

如果你的项目还在使用v2.x版本,那原写法理论上是有效的,但可以排查这两个小细节:

  • 确保Chart.defaults.global.defaultFontSize = 14;这段代码在创建Chart实例之前执行,别把它放在实例化代码之后
  • 检查有没有局部配置覆盖了全局默认值,比如标题、坐标轴标签等单独设置了字体大小,局部配置会优先于全局配置生效

另外,如果你只想给当前这张图表单独设置字体大小,也可以直接在图表的options里配置,不用修改全局默认值:

let chart = new Chart(context, {
  type: 'line',
  options:{
    // 给当前图表单独设置默认字体大小(v3+)
    font: {
      size: 14
    },
    animation: {
      onComplete: function(e) {
        angularContext.onChartRendered();
      }
    },
    // ... 其他原有配置
  },
  // ... 数据部分
});

这样应该就能解决字体大小不生效的问题啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 18:54:08