Customizing the look and feel of chart is really easy in CanvasJS. Given example shows Pie Chart with index / data labels placed inside the slice of Pie. It also includes PHP source code that you can try running locally.
- <?php
- $dataPoints = array(
- array("label"=>"Industrial", "y"=>51.7),
- array("label"=>"Transportation", "y"=>26.6),
- array("label"=>"Residential", "y"=>13.9),
- array("label"=>"Commercial", "y"=>7.8)
- )
- ?>
- <!DOCTYPE HTML>
- <html>
- <head>
- <script>
- window.onload = function() {
- var chart = new CanvasJS.Chart("chartContainer", {
- theme: "light2",
- animationEnabled: true,
- title: {
- text: "World Energy Consumption by Sector - 2012"
- },
- data: [{
- type: "pie",
- indexLabel: "{y}",
- yValueFormatString: "#,##0.00\"%\"",
- indexLabelPlacement: "inside",
- indexLabelFontColor: "#36454F",
- indexLabelFontSize: 18,
- indexLabelFontWeight: "bolder",
- showInLegend: true,
- legendText: "{label}",
- 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>
Index / Data Labels can be positioned either inside or outside the pie using indexLabelPlacement property. SOme other commonly used customization options are indexLabelFontColor, indexLabelFontSize, etc.