如何在饼图中鼠标悬停时显示"%"符号

Unb*_*ble 1 javascript charts chart.js

我正在使用ChartJS 2.0在UI上绘制图形.我能够渲染饼图.但我希望鼠标悬停显示数据以及" % "符号.我怎么能追加%所以如果鼠标悬停我Rented: 93想要看到Rented: 93 %.请指导我.

以下是我现在的情况:

var sixthSubViewModel = Backbone.View.extend({
        template: _.template($('#myChart6-template').html()),
        render: function() {
          $(this.el).html(this.template());
          var ctx = this.$el.find('#pieChart')[0];
          var data = {
            datasets: [{
              data: this.model.attributes.currMonthOccAvailVac,
              backgroundColor: [
                "#455C73",
                "#BDC3C7",
                "#26B99A",
              ],
              label: 'My dataset' // for legend
            }],
            labels: [
              "Rented",
              "Vacant",
              "Unavailable",
            ]
          };
            var pieChart = new Chart(ctx, {
              type: 'pie',
              data: data
            });
        },
        initialize: function(){
            this.render();
        }   
    });
Run Code Online (Sandbox Code Playgroud)

理解: 我理解当前悬停需要label并添加一个colon然后添加data它.所以如果label = Rented,Data = 93我会看到类似Rented: 93鼠标悬停的东西.如何更改鼠标悬停的文本以显示Rented: 93%.下面是我在鼠标悬停时所拥有的图像.

在此输入图像描述

我知道我需要"options"在饼图中添加一个.但我不知道该怎么做.请帮我.

tek*_*tiv 5

您可以使用callbacks.label图表选项中的方法编辑工具提示中显示的内容,然后使用以下命令将"%"添加到默认字符串:

  • tooltipItems- 有关详细信息,请参阅文档(向上滚动到"工具提示项目界面")
  • data - 存储数据集和标签的位置.

var ctx = document.getElementById("canvas");
var data = {
    datasets: [{
        data: [93, 4, 3],
        backgroundColor: [
            "#455C73",
            "#BDC3C7",
            "#26B99A",
        ],
        label: 'My dataset' // for legend
    }],
    labels: [
        "Rented",
        "Vacant",
        "Unavailable",
    ]
};
var pieChart = new Chart(ctx, {
    type: 'pie',
    data: data,
    options: {
        tooltips: {
            callbacks: {
                label: function(tooltipItems, data) {
                    return data.labels[tooltipItems.index] + 
                    " : " + 
                    data.datasets[tooltipItems.datasetIndex].data[tooltipItems.index] +
                    ' %';
                }
            }
        }
    }
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.2.1/Chart.min.js"></script>
<canvas id="canvas" height="150"></canvas>
Run Code Online (Sandbox Code Playgroud)