Donut chart

Donut Chart (also known as Doughnut chart) is a variation on a <a href="https://www.amcharts.com/demos/simple-pie-chart/">Pie chart</a> except it has a round hole in the center which makes it look like a donut, hence the name. This empty space can be used to <a href="https://www.amcharts.com/demos/animated-time-line-pie-chart/">display additional data</a>. <h2>Configurable inner radius</h2> To make a donut chart out of a regular pie chart, we simply need to set <code>innerRadius</code> property of the chart. It can either take relative percent value, or fixed pixel radius.

by DugSohn

HTML

<script src="https://www.amcharts.com/lib/4/core.js"></script>
<script src="https://www.amcharts.com/lib/4/charts.js"></script>
<script src="https://www.amcharts.com/lib/4/themes/material.js"></script>
<script src="https://www.amcharts.com/lib/4/themes/animated.js"></script>
<div id="chartdiv"></div>


<div id="chartdiv"></div>

CSS

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

#chartdiv {
  width: 50px;
  height: 50px;
}

JavaScript

/**
 * ---------------------------------------
 * This demo was created using amCharts 4.
 * 
 * For more information visit:
 * https://www.amcharts.com/
 * 
 * Documentation is available at:
 * https://www.amcharts.com/docs/v4/
 * ---------------------------------------
 */

// Themes begin
// Themes end

// Create chart instance
var chart = am4core.create("chartdiv", am4charts.PieChart);

// Add data
chart.data = [ {
  "country": "Hours In",
  "hours": 8
}, {
  "country": "Hours Remaining",
  "hours": 2
}];

// Set inner radius
chart.innerRadius = am4core.percent(40);

// Add and configure Series
var pieSeries = chart.series.push(new am4charts.PieSeries());
pieSeries.ticks.template.disabled = true;
pieSeries.dataFields.value = "hours";
pieSeries.dataFields.category = "country";
pieSeries.slices.template.stroke = am4core.color("#fff");
pieSeries.slices.template.strokeWidth = 2;
pieSeries.slices.template.strokeOpacity = 1;

// This creates initial animation
pieSeries.hiddenState.properties.opacity = 1;
pieSeries.hiddenState.properties.endAngle = -90;
pieSeries.hiddenState.properties.startAngle = -90;