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;