我正在使用Chart.js我想要一个半圆形图表,如下图所示。但我没有改变馅饼的厚度。我尝试了属性innerRadius,但它还没有工作
这是我的代码
public getHalfDoughnutChart(records) {
let data = {
labels: ["Worked Hours","Remaining Hours"],
datasets: [{
label: 'Today\'s Worked Hours',
data: [records.length? records[0].duration.hour: 0,9],
backgroundColor: [
'rgba(75, 174, 79, 1)',
'rgba(255, 255, 255, 0)'
]
}]
};
let options = {
circumference: Math.PI,
rotation: 1.0 * Math.PI,
innerRadius: "10%",
legend: {
display: false
},
layout:{
padding:40
},
}
return this.getChart(this.halfDoughnutCanvas.nativeElement, "doughnut", data, options);
}
getChart(context, chartType, data, options?) {
return new Chart(context, {
type: chartType,
data: data,
options: options
});
}
答案 0 :(得分:5)
您应该在percentageInnerCutout
对象
options
属性
let options = {
circumference: Math.PI,
rotation: 1.0 * Math.PI,
percentageInnerCutout: 10,
legend: {
display: false
},
layout:{
padding:40
},
}
您还可以查看此问题How to vary the thickness of doughnut chart, using ChartJs.?
P.S。据我所知,这取决于版本,所以
如果Chart.js版本> 2.0 使用cutoutPercentage
否则使用percentageInnerCutout
答案 1 :(得分:0)
在图表JS 2.0中,它应该看起来像这样
var options = {
cutoutPercentage: 40
};