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

Chart.js 如何实现多行标题显示?

解决Chart.js多行标题显示问题

嘿,我来帮你搞定这个问题!你之前尝试用'Chart.js\nLine Chart'或者'Chart.js<br>Line Chart'没效果,主要是因为Chart.js的标题默认不支持换行解析,得调整一下配置才行~

下面给你两种实用的实现方式:

方法一:开启换行支持+换行符分隔

只需要在标题配置里开启useLineBreaks,然后用\n来分隔多行文本就行,这是最简单的方式:

const myChart = new Chart(document.getElementById('myChart'), {
  type: 'line',
  data: {
    labels: ['Jan', 'Feb', 'Mar'],
    datasets: [{ data: [10, 20, 30] }]
  },
  options: {
    plugins: {
      title: {
        display: true,
        useLineBreaks: true, // 关键配置:允许换行
        text: 'Chart.js\nLine Chart' // 用\n分隔两行
      }
    }
  }
});

方法二:使用数组定义多行标题

如果你觉得用\n不够直观,也可以直接把text设为数组,每个元素对应一行,同样需要开启useLineBreaks:

title: {
  display: true,
  useLineBreaks: true,
  text: ['Chart.js', 'Line Chart'] // 数组元素分别对应两行
}

为啥之前的写法没用?

  • 用<br>无效:因为Chart.js的标题是通过Canvas渲染的,不是HTML元素,所以不会解析HTML标签;
  • 用\n无效:默认情况下useLineBreaks是false,Chart.js会忽略所有换行符,必须手动开启这个配置才会生效。

如果需要更个性化的多行标题样式(比如不同行用不同字体大小/颜色),还可以用title.callback函数自定义渲染逻辑,但上面两种方法足够应对大部分场景啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:38:49