Doughnut / Donut Charts are similar to pie charts except for a blank center. Given example shows simple PHP Doughnut Chart along with source code that you can try running locally.
<?php $dataPoints = array( array("label"=>"Oxygen", "symbol" => "O","y"=>46.6), array("label"=>"Silicon", "symbol" => "Si","y"=>27.7), array("label"=>"Aluminium", "symbol" => "Al","y"=>13.9), array("label"=>"Iron", "symbol" => "Fe","y"=>5), array("label"=>"Calcium", "symbol" => "Ca","y"=>3.6), array("label"=>"Sodium", "symbol" => "Na","y"=>2.6), array("label"=>"Magnesium", "symbol" => "Mg","y"=>2.1), array("label"=>"Others", "symbol" => "Others","y"=>1.5), ) ?> <!DOCTYPE HTML> <html> <head> <script> window.onload = function() { var chart = new CanvasJS.Chart("chartContainer", { theme: "light2", animationEnabled: true, title: { text: "Average Composition of Magma" }, data: [{ type: "doughnut", indexLabel: "{symbol} - {y}", yValueFormatString: "#,##0.0\"%\"", showInLegend: true, legendText: "{label} : {y}", dataPoints: <?php echo json_encode($dataPoints, JSON_NUMERIC_CHECK); ?> }] }); chart.render(); } </script> </head> <body> <div id="chartContainer" style="height: 370px; width: 100%;"></div> <script src="https://cdn.canvasjs.com/canvasjs.min.js"></script> </body> </html>
Inner and outer radius of the Doughnut / Donut Chart can be changed using innerRadius and radius respectively. Some other commonly used customization options are indexLabelPlacement, color, etc.