我真的很困惑如何在角度js中创建图表。使用angular-chart.js,我可以创建一个饼图和条形图。但无法添加工具提示。我正在寻找一些like this来显示百分比作为工具提示。
的javascript
$scope.labels = ["Test1", "Test2", "Test3", "Test4"];
$scope.data = [8000, 6000, 22000, 500];
$scope.color = ['#90EE90', '#FF6600', '#8080FF'];
$scope.options = {
legend: {
display: true
},
responsive: true, // set to false to remove responsiveness. Default responsive value is true.
tooltipEvents: [],
showTooltips: true,
tooltipCaretSize: 0,
onAnimationComplete: function() {
this.showTooltip(this.segments, true);
}
}
HTML
<canvas id="doughnut" class="chart chart-doughnut" chart-data="data" chart-labels="labels" chart-colors="color" chart-options="options">
</canvas>
我可以创建图表。但是如何仅使用值设置工具提示或将值转换为百分比?我尝试了another example,但也无效。我尝试在角度1.4版本中使用code,但它给出了错误,表示未定义值。任何人都可以帮我创建工具提示值为百分比的图表吗?
答案 0 :(得分:1)
您可以使用jtblin/angular-chart.js,因为样本中的库未显示百分比。
还添加了工具提示回调
tooltips: {
callbacks: {
label: function(tooltipItem, data) {
//get the concerned dataset
var dataset = data.datasets[tooltipItem.datasetIndex];
//calculate the total of this data set
var total = dataset.data.reduce(function(previousValue, currentValue, currentIndex, array) {
return previousValue + currentValue;
});
//get the current items value
var currentValue = dataset.data[tooltipItem.index];
//calculate the precentage based on the total and current item, also this does a rough rounding to give a whole number
var precentage = Math.floor(((currentValue / total) * 100) + 0.5);
return precentage + "%";
}
}
}