如何在图表饼图中添加“%”(chartjs)

Posted

技术标签:

【中文标题】如何在图表饼图中添加“%”(chartjs)【英文标题】:how to put "%" in chart pie (chartjs) 【发布时间】:2019-05-07 11:16:51 【问题描述】:

我需要在图表中的数字后面加上 %:

喜欢:100%

这是我用来制作图表的代码,使用图表 js:

new Chart(document.getElementById("pie-chart-one"), 
    type: 'doughnut',
    data: 
        labels: ['Transmitidas', 'Não Transmitidas'],
        datasets: [
            data: [@Model.PorcentQtdDeclaracoesStatusTransmitida, @Model.PorcentQtdDeclaracoesStatusNaoTransmitida],
            backgroundColor: backgroudColor,
            borderWidth: 1,
        ]
    ,
    options: 
        legend: 
            display: true,
            position: 'bottom',
            fontSize: 10

        ,
       responsive:false,
       fontsize: 11,
       layout: 
           padding: 
               left: 0,
               right: 0,
               top: 30,
               bottom: 30
           
        
    
);

【问题讨论】:

【参考方案1】:

在选项定义中...

options: 
        tooltips: 
            enabled: true,
            mode: 'single',
            callbacks: 
                label: function(tooltipItems, data)  
                    return tooltipItems.yLabel + ' %';
                
            
        ,
  

【讨论】:

它不起作用,只显示“%”而不是所有文本。抱歉,我不知道为什么它不起作用。看起来不错。 请您查看您使用的chartjs版本【参考方案2】:

我在工具提示中使用回调和标题来解决问题:

options: 
        tooltips: 
            callbacks: 
                label: function (tooltipItem, data) 
                    var dataset = data.datasets[tooltipItem.datasetIndex];
                    var total = dataset.data.reduce(function (previousValue, currentValue, currentIndex, array) 
                        return previousValue + currentValue;
                    );
                    var currentValue = dataset.data[tooltipItem.index];
                    var percentage = Math.floor(((currentValue / total) * 100) + 0.5);
                    return percentage + "%";
                ,                    
                title: function (tooltipItem, data) 
                    return data.labels[tooltipItem[0].index];
                
            
        

【讨论】:

以上是关于如何在图表饼图中添加“%”(chartjs)的主要内容,如果未能解决你的问题,请参考以下文章

如何在饼图中填充一定份额的切片?

饼状图表标题怎么修改

ChartJs,如何在折线图中的两个数据集之间获得不同的颜色填充?

如何在饼图上显示文字

如何使用 ChartJS 和 FreeMarker 执行 JavaScript 函数?

如何在 MVC 中使用模型创建剑道饼图