给予'%'在条形图Datalabel Chartjs上

时间:2018-03-07 04:30:15

标签: javascript chart.js

我正在与chartjs合作,我想知道如何给予'%'在条形图的数据标签上。我的代码如下:

data: {
    datasets: [{
        label: 'My Label',
        data: <?php echo json_encode($myData); ?> // contains number like: 77.43, 78.22, etc
        datalabels: {
            align: 'end',
            anchor: 'end'
        }
    }],

    labels: <?php echo json_encode($myLabel); ?>
}

我试着把字符串&#39;%&#39;像这样data: <?php echo json_encode($myData); ?> + '%'但它只返回一个空白页面。所以任何人都可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:1)

您可以通过以下方式设置tooltip

data: {
    datasets: [{
        label: 'My Label',
        data: <?php echo json_encode($myData); ?> // contains number like: 77.43, 78.22, etc
        datalabels: {
            align: 'end',
            anchor: 'end'
        }
    }],

    labels: <?php echo json_encode($myLabel); ?>
},
options: {            
    tooltips: {
        callbacks: {
            label: function(tooltipItems, data) {
                return data.datasets[tooltipItems.datasetIndex].label +': ' + tooltipItems.yLabel + ' %';
            }
        }
    }
}

参考:http://www.chartjs.org/docs/latest/configuration/tooltip.html

答案 1 :(得分:1)

所以,我在Chartjs官方Github Page上找到了解决方案。我只需要把

formatter: function (value) {
    return value + "%";
}

datalabels

它与callback选项中的yAxes行为类似。

请参阅this link

答案 2 :(得分:-1)

在php代码周围添加引号并以逗号结尾:data: "<?...?>",