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"在饼图中添加一个.但我不知道该怎么做.请帮我.
您可以使用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)