Chart.js(圆环图)中的内半径未更改

时间:2017-04-20 15:58:16

标签: javascript angularjs ionic2 chart.js

我正在使用Chart.js我想要一个半圆形图表,如下图所示。但我没有改变馅饼的厚度。我尝试了属性innerRadius,但它还没有工作

enter image description here

这是我的代码

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
   });
}

2 个答案:

答案 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
};

CodePen:https://codepen.io/anon/pen/VVeOZZ?editors=0010