簡體   English   中英

刪除自定義圖表 Js 工具提示顏色方塊

[英]Remove custom Chart Js tool tip colour square

我有以下不同月份的數據如下

var barChartData = {
    labels: ["January", "February", "March", "April", "May", "June", "July"],
    datasets: [{
        label: 'Task 1',
        backgroundColor: "rgba(220,220,220,0.5)",
        data: [50, 40, 23, 45, 67, 78, 23]
    }, {
        label: 'Task 2',
        backgroundColor: "rgba(151,187,205,0.5)",
        data: [50, 40, 78, 23, 23, 45, 67]
    }, {
        label: 'Task 3',
        backgroundColor: "rgba(82,154,190,0.5)",
        data: [50, 67, 78, 23, 40, 23, 0]
    }]
};  

我想去除總 label預期結果前面的顏色方塊

var ctx = document.getElementById("canvas").getContext("2d");
var myBar = new Chart(ctx, {
    type: 'bar',
    data: barChartData,
    options: {
        title: {
            display: true,
            text: "Stacked Bar Chart"
        },
        tooltips: {
           intersect : false,
           mode: 'label',
            callbacks: {
                label: function(tooltipItem, data) {

                   var chartLabel = data.datasets[tooltipItem.datasetIndex].label;
                   var valor = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];

                   var total = 0;
                   var label = '';                  

                   for (var i = 0; i < data.datasets.length; i++) {
                       total += data.datasets[i].data[tooltipItem.index];                       
                   }                     

                   if (tooltipItem.datasetIndex != data.datasets.length - 1) {
                      label += chartLabel + " : $" + valor.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,');                      
                   } else {
                        label += chartLabel + " : $" + valor.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,');
                      label = [label, " Total : $" + total];
                   }                   
                   return label;
                }
            }
        },
        responsive: true,
        scales: {
            xAxes: [{
                stacked: true,
            }],
            yAxes: [{
                stacked: true
            }]
        }
    }
});   

在這里,我一個接一個地顯示標簽,最后計算所有三個標簽的總和,但是最后一個數據生成的總值設置顏色,我們如何刪除總計前面的顏色方塊?

不要在tooltips.callbacks.label function 中包含總計,而是使用tooltips.callbacks.footer function 返回總計行。

請看看我對類似問題的回答

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM