chart.js在工具提示上添加Percantage标志

时间:2016-06-06 13:59:57

标签: javascript jquery charts chart.js

    var dmgchartt = document.getElementById("dmgchart");
    new Chart(dmgchartt, {
    type: "radar",
    data: radarChartData0,
    options: {
             tooltipTemplate: "<%if (label){%><%=label %>: <%}%><%= value + ' %' %>",
              scale: {
                ticks: {
                    beginAtZero: true
                }
            },
            title: {
            display: true,
            text: 'Title'
        }
    }
});

它只显示没有百分号的值。我尝试在工具提示上添加值后的百分号,但它不起作用。另外,如果工具提示是多个还是单个,我该如何选择?我有2个数据集。

tooltip

4 个答案:

答案 0 :(得分:15)

如果您在评论中使用了@xnakos建议的Chart.js 2.0,则必须使用options.tooltips.callbacks.label

 var dmgchartt = document.getElementById("dmgchart");
 new Chart(dmgchartt, {
        type: 'radar',
        data: data,
        options: {
            tooltips: {
                mode: 'label',
                callbacks: {
                    label: function(tooltipItem, data) {
                        return data['datasets'][0]['data'][tooltipItem['index']] + '%';
                    }
                }
            },
          scale: {
            ticks: {
                beginAtZero: true
            }
        },
        title: {
        display: true,
        text: 'Title'
    }

    }
    });

答案 1 :(得分:0)

提及解决方案对我不起作用。它会丢弃默认的标签处理(data.labels / dataset标签),并且您必须再次格式化字符串。如果您只需要添加百分号,则可以按照doc的说明使用默认回调.。因此对于v2.x,它将是:

Chart.defaults.global.tooltips.callbacks.label

答案 2 :(得分:0)

Mac 的回答非常接近,但我在实现它时遇到了一个问题:

return data['datasets'][0]['data'][tooltipItem['index']] + '%';

改为使用 tooltipItem['datasetIndex'] 以允许在悬停时显示正确的显示。否则,无论悬停在什么上,它都只会显示第一个数组值。我在下面实施的解决方案:

return data['datasets'][tooltipItem['datasetIndex']]['data'][tooltipItem['index']] + '%';

答案 3 :(得分:-2)

You should try to put the git checkout -b branchname remote/branchname outside the value block. I use it like this:

%