我有一个chart.js甜甜圈图,其中填充了总计为预定义总计的值(即,所有类别获得一种颜色,“其余”类别为总计减去这些类别的总和)。但是,有时会发生类别总和大于总数的情况。在这种情况下,我得到一个负值,并且该值再次显示为“休息”类别。我需要知道如何避免这种行为。
在代码示例中,您可以看到“ points_min”,即总数(100)。 Points_logins,points_stories,points_ratings是不同的类别,其余类别是points_min减去它们的总和。
var ctx = document.getElementById("myPieChart");
var myPieChart = new Chart(ctx, {
type: 'doughnut',
data: {
labels: ["Logins", "Read", "Rate", "Rest"],
datasets: [{
data: [{{points_logins}}, {{points_stories}}, {{points_ratings}}, {{points_min - (points_logins + points_stories + points_ratings )}}],
backgroundColor: ['#e74a3b', '#f6c23e', '#4e73df', '#858796'],
hoverBackgroundColor: ['#d52a1a', '#f4b30d', '#2653d4', '#d3d3d3'],
hoverBorderColor: "rgba(234, 236, 244, 1)",
}],
},
options: {
maintainAspectRatio: true,
tooltips: {
backgroundColor: "rgb(255,255,255)",
bodyFontColor: "#858796",
borderColor: '#dddfeb',
borderWidth: 1,
xPadding: 15,
yPadding: 15,
displayColors: false,
caretPadding: 10,
},
legend: {
display: false
},
cutoutPercentage: 50,
},
});
我假设我需要某种形式的'if-else'语句来避免出现负值(即,一旦达到目标,仅显示100的比率),但是我对JavaScript的了解不多。