Python Stacked Column 100% Charts are used to show relation between individual values to the total sum in terms of percentage. Below example shows Python Stacked Column 100% chart along with Django source-code that you can try running locally.
<!-- index.html --> {% load static %} <html> <head> <script> window.onload = function () { var chart = new CanvasJS.Chart("chartContainer", { animationEnabled: true, exportEnabled: true, theme: "light2", title:{ text: "Users by Country and Age Breakdown" }, axisY:{ suffix: "%" }, axisX: { labelAngle: 0, labelTextAlign: "center" }, toolTip: { shared: true }, data: [{ type: "stackedColumn100", name: "18-24", showInLegend: true, color: "#1565C0", toolTipContent: "{label} <br/> <span style='\"'color: {color};'\"'>{name}</span> <strong>{y} (#percent%)</strong>", dataPoints: {{ user_group_18_data|safe }} },{ type: "stackedColumn100", name: "25-34", showInLegend: true, color: "#2196F3", toolTipContent: "<span style='\"'color: {color};'\"'>{name}</span> <strong>{y} (#percent%)</strong>", dataPoints: {{ user_group_25_data|safe }} },{ type: "stackedColumn100", name: "35+", showInLegend: true, color: "#64B5F6", toolTipContent: "<span style='\"'color: {color};'\"'>{name}</span> <strong>{y} (#percent%)</strong>", dataPoints: {{ user_group_35_data|safe }} }] }); chart.render(); } </script> </head> <body> <div id="chartContainer" style="width: 100%; height: 360px;"></div> <script src="{% static 'canvasjs.min.js' %}"></script> </body> </html>
from django.shortcuts import render def index(request): user_group_18_data = [ { "label": "United States of America", "y": 15426 }, { "label": "Germany", "y": 2540 }, { "label": "Canada", "y": 1058 }, { "label": "United Kingdom", "y": 3500 }, { "label": "India", "y": 10546 }, { "label": "China", "y": 9580 } ] user_group_25_data = [ { "label": "United States of America", "y": 17486 }, { "label": "Germany", "y": 2680 }, { "label": "Canada", "y": 1350 }, { "label": "United Kingdom", "y": 3870 }, { "label": "India", "y": 14546 }, { "label": "China", "y": 9790 } ] user_group_35_data = [ { "label": "United States of America", "y": 12687 }, { "label": "Germany", "y": 2050 }, { "label": "Canada", "y": 950 }, { "label": "United Kingdom", "y": 3240 }, { "label": "India", "y": 9546 }, { "label": "China", "y": 8750 } ] return render(request, 'index.html', { "user_group_18_data" : user_group_18_data, "user_group_25_data": user_group_25_data, "user_group_35_data": user_group_35_data })
Color of dataseries can be changed by setting color property. Format of x-value & y-value shown in tooltip can be customized using xValueFormatString & yValueFormatString properties.