[英]Small value in doughnut chart is not visible - Chartjs
Small data isn't visible for doughnut chart type.对于圆环图类型,小数据不可见。 Can i resize it without change label value?我可以在不更改标签值的情况下调整它的大小吗?
My chart options:我的图表选项:
options: {
cutoutPercentage: 65,
maintainAspectRatio: false,
legend: {
display: false
},
plugins: {
datalabels: {
display: false
}
},
tooltips: {
enabled: true,
mode: 'nearest'
},
scales: {
yAxes: [{
ticks: {
max: 5,
min: 0,
stepSize: 0.5
}
}]
}
}
Example: http://jsfiddle.net/Lkya2tqb/示例: http : //jsfiddle.net/Lkya2tqb/
I converted the dataset to percent and round a small value to 1.我将数据集转换为百分比并将一个小值四舍五入为 1。
var seriesData = [1,210,215];
var total = seriesData.reduce((a,v) => a + v);
var inPercent = seriesData.map(v => Math.max(v / total * 100, 1));
Create callback for tooltip.为工具提示创建回调。
tooltips: {
callbacks: {
label: function(tooltipItem, data) {
var value = seriesData[tooltipItem.index];
var label = data.labels[tooltipItem.index];
return `${label}: ${value}`;
}
}
var seriesData = [1, 210, 215]; var total = seriesData.reduce((a, v) => a + v); var inPercent = seriesData.map(v => Math.max(v / total * 100, 1)); var labelsData = ["one", "two", "second"]; var backgroundColors = ["#FBC02D", "#E64A19", "#388E3C"] var t = new Chart(document.getElementById('broadcast').getContext('2d'), { type: "doughnut", data: { datasets: [{ data: inPercent, backgroundColor: backgroundColors, hoverBorderColor: "#fff" }], labels: labelsData, }, options: { cutoutPercentage: 65, maintainAspectRatio: false, legend: { display: false }, plugins: { datalabels: { display: false } }, tooltips: { enabled: true, mode: 'nearest', callbacks: { label: function(tooltipItem, data) { var value = seriesData[tooltipItem.index]; var label = labelsData[tooltipItem.index]; return `${label}: ${value}`; } } } } });
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script> <canvas id="broadcast" width="350" height="250" style="width: 350px; height: 250px;"></canvas>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.