-1

I'm trying to make a donut chart like below using google chart library:

enter image description here

I found this article that makes half donut, but didn't find the code to create the one in my image. Can anyone help?

2 Answers2

3

Read here https://developers.google.com/chart/interactive/docs/gallery/piechart#removing-slices It simply says donut charts are just pie charts with pieHole values between 0 and 1. To remove some slices, it says

To omit a slice, change the color to 'transparent':

      google.charts.load('current', {'packages':['corechart']});
      google.charts.setOnLoadCallback(drawChart);

      function drawChart() {

        var data = google.visualization.arrayToDataTable([
          ['Pac Man', 'Percentage'],
          ['', 75],
          ['', 25]
        ]);

        var options = {
         legend: 'none',
          pieSliceText: 'none',
          pieHole: 0.4,
          pieStartAngle: 0,
          pieEndAngle: 180,
          tooltip: { trigger: 'none' },
          slices: {
            0: { color: 'yellow' },
            1: { color: 'transparent' }
          }
        };

        var chart = new google.visualization.PieChart(document.getElementById('donut_single'));
        chart.draw(data, options);
      }
canbax
  • 3,432
  • 1
  • 27
  • 44
1

Use pieSliceText and pieStartAngle with an empty data field;

google.charts.load('visualization', '1.1', {
    'packages': ['corechart']
});
google.charts.setOnLoadCallback(drawChart);

function drawChart() {

    const data = google.visualization.arrayToDataTable([
        ['Skils', 'Skills level'],
        ['React', 6],
        ['HTML', 4],
        ['PHP', 2],
        [null, 12]
    ]);

    new google.visualization.PieChart(document.getElementById('chart_div')).
    draw(data, {
        title: "My Skills",
        slices: {
          3: {
            color: 'transparent'
          }
        },
        pieHole: 0.5,
        width: 600,
        height: 600,
        pieSliceText: 'value',
        pieStartAngle: 270,
    });
};
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
0stone0
  • 34,288
  • 4
  • 39
  • 64