Javascript 圆环图中的小值不可见-Chartjs
对于甜甜圈图表类型,小数据不可见。我可以在不更改标签值的情况下调整其大小吗? 我的图表选项:Javascript 圆环图中的小值不可见-Chartjs,javascript,charts,chart.js,Javascript,Charts,Chart.js,对于甜甜圈图表类型,小数据不可见。我可以在不更改标签值的情况下调整其大小吗? 我的图表选项: options: { cutoutPercentage: 65, maintainAspectRatio: false, legend: { display: false }, plugins: { datalabels: { display: false } }, tool
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
}
}]
}
}
例如:
我将数据集转换为百分比,并将一个小值四舍五入为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));
为工具提示创建回调
tooltips: {
callbacks: {
label: function(tooltipItem, data) {
var value = seriesData[tooltipItem.index];
var label = data.labels[tooltipItem.index];
return `${label}: ${value}`;
}
}
var seriesData=[12101215];
var总计=系列数据。减少((a,v)=>a+v);
var-inPercent=seriesData.map(v=>Math.max(v/total*100,1));
var labelsData=[“一”、“二”、“二”];
var BackgroundColor=[“#FBC02D”、“#E64A19”、“#388E3C”]
var t=新图表(document.getElementById('broadcast')。getContext('2d'){
类型:“甜甜圈”,
数据:{
数据集:[{
数据:90%,
背景色:背景色,
悬停边框颜色:“fff”
}],
标签:labelsData,
},
选项:{
门诊人数:65人,
MaintaintAspectRatio:false,
图例:{
显示:假
},
插件:{
数据标签:{
显示:假
}
},
工具提示:{
启用:对,
模式:“最近的”,
回调:{
标签:函数(工具提示项、数据){
var值=系列数据[工具提示项索引];
var label=labelsData[tooltipItem.index];
返回`${label}:${value}`;
}
}
}
}
});代码>
我将数据集转换为百分比,并将一个小值四舍五入为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));
为工具提示创建回调
tooltips: {
callbacks: {
label: function(tooltipItem, data) {
var value = seriesData[tooltipItem.index];
var label = data.labels[tooltipItem.index];
return `${label}: ${value}`;
}
}
var seriesData=[12101215];
var总计=系列数据。减少((a,v)=>a+v);
var-inPercent=seriesData.map(v=>Math.max(v/total*100,1));
var labelsData=[“一”、“二”、“二”];
var BackgroundColor=[“#FBC02D”、“#E64A19”、“#388E3C”]
var t=新图表(document.getElementById('broadcast')。getContext('2d'){
类型:“甜甜圈”,
数据:{
数据集:[{
数据:90%,
背景色:背景色,
悬停边框颜色:“fff”
}],
标签:labelsData,
},
选项:{
门诊人数:65人,
MaintaintAspectRatio:false,
图例:{
显示:假
},
插件:{
数据标签:{
显示:假
}
},
工具提示:{
启用:对,
模式:“最近的”,
回调:{
标签:函数(工具提示项、数据){
var值=系列数据[工具提示项索引];
var label=labelsData[tooltipItem.index];
返回`${label}:${value}`;
}
}
}
}
});代码>
很好的解决方案!我的小编辑:如果seriesData中有一个0,它将有一个1%的切片。要修复它:var-inPercent=seriesData.map(v=>v?Math.max(v/total*100,1):v)伟大的解决方案!我的小编辑:如果seriesData中有一个0,它将有一个1%的切片。要修复它:var-inPercent=seriesData.map(v=>v?Math.max(v/total*100,1):v)