javascript - 如何在 Chart.JS 中的半圆环图中间添加一些文本?

标签 javascript chart.js

它应该看起来像这样:

我已经有了图表,只是缺少文字。是否可以选择在图表中间显示文本?

编辑:可以在此处找到此类图表的示例:https://jsfiddle.net/wt4260qf/1/

var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
    type: 'doughnut',
    data: {
        labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
        datasets: [{
            label: '# of Votes',
            data: [12, 19, 3, 5, 2, 3],
            backgroundColor: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
                'rgba(255, 206, 86, 0.2)',
                'rgba(75, 192, 192, 0.2)',
                'rgba(153, 102, 255, 0.2)',
                'rgba(255, 159, 64, 0.2)'
            ],
            borderColor: [
                'rgba(255,99,132,1)',
                'rgba(54, 162, 235, 1)',
                'rgba(255, 206, 86, 1)',
                'rgba(75, 192, 192, 1)',
                'rgba(153, 102, 255, 1)',
                'rgba(255, 159, 64, 1)'
            ],
            borderWidth: 1
        }]
    },
    options: {
        rotation: 1 * Math.PI,
        circumference: 1 * Math.PI
    }
});

enter image description here

最佳答案

感谢@DTul , 我想到了。标题配置在这里:https://www.chartjs.org/docs/latest/configuration/title.html .

我添加了以下部分:

title: {
   display: true,
   text: 'Custom Chart Title',
   position: 'bottom'
}

选项

整个例子现在看起来像这样:

var ctx = document.getElementById("myChart");
var myChart = new Chart(ctx, {
    type: 'doughnut',
    data: {
        labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
        datasets: [{
            label: '# of Votes',
            data: [12, 19, 3, 5, 2, 3],
            backgroundColor: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
                'rgba(255, 206, 86, 0.2)',
                'rgba(75, 192, 192, 0.2)',
                'rgba(153, 102, 255, 0.2)',
                'rgba(255, 159, 64, 0.2)'
            ],
            borderColor: [
                'rgba(255,99,132,1)',
                'rgba(54, 162, 235, 1)',
                'rgba(255, 206, 86, 1)',
                'rgba(75, 192, 192, 1)',
                'rgba(153, 102, 255, 1)',
                'rgba(255, 159, 64, 1)'
            ],
            borderWidth: 1
        }]
    },
    options: {
        rotation: 1 * Math.PI,
        circumference: 1 * Math.PI,
        title: {
           display: true,
           text: 'Custom Chart Title',
           position: 'bottom'
        }
     }
});

相应的 fiddle 在这里:https://jsfiddle.net/ktq8mb0z/

关于javascript - 如何在 Chart.JS 中的半圆环图中间添加一些文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55459077/

相关文章:

javascript - 如何在 Charts.js 3.x 中将 "hh:mm:ss"字符串解析为时间

javascript - 使用 JavaScript 将多个 DateTime Duration 字符串添加在一起以获得总持续时间

javascript - 如何根据行索引获取行的列数据

javascript - 如何强制显式显示值的 ".0"部分 (Chart.JS)?

javascript - Live Update Callback -> afterTitle with Array via JSON file

javascript - Chart.js 悬停时的垂直线和在线上的阴影

javascript - ChartJS - 删除轴?

javascript - 如何使用 React Hook 将多个状态聚合为一个主状态?

javascript - 使用javascript创建文本文件

javascript - 通过浏览器/服务器语言获得 html 元素结构的最佳方式?