Highcharts is the sexiest charting library out there. 🙂 We can also export the chart to PNG, JPG, PDF or SVG format at the click of a button, or print the chart directly from the web page.
We are putting together a step by step tutorial that can help people getting started with a simple HighChart.
We would be using VB, HighCharts Libraries and JQuery to demonstrate it.
- Include essential HighCharts and JQuery libraries
- Put a hidden field in view.
- From VB end, create a requires JSON and set it to Hidden field of view
- Parse the value from the hidden field and generate Pie Chart
Lets Start!!
First include all the required JS files in our view (lets say Chart.aspx)
<script type="text/javascript" src="https://code.jquery.com/jquery-1.7.2.min.js"></script> <script type="text/javascript" src="https://code.highcharts.com/highcharts.js"></script> <script type="text/javascript" src="https://code.highcharts.com/modules/exporting.js"></script>
Now lets put the hidden field and the chart placeholder in the Chart.aspx
<asp:HiddenField runat="server" ID="hdnChartDetail" /> <div id="divChart" > </div>
In the code behind (lets say Chart.vb), we are going to create the required JSON using JavaScriptSerializer
Private ReadOnly _serializer As New Script.Serialization.JavaScriptSerializer()
Private Function GetPieChartDetails(ByVal chartList As List) As Hashtable
Dim commanHash As New Hashtable
Dim pieChartList As New ArrayList
Dim chartArrayList As New ArrayList
chartHashTable.Add("chart_title","Some title")
For j = 0 To chartList.Count - 1
Dim chartRow = chartList.Item(j)
Dim innerPieChartList As New ArrayList
innerPieChartList.Add(chartRow.Title)
innerPieChartList.Add(chartRow.Count)
pieChartList.Add(innerPieChartList)
Next
commanHash.Add("chart_data", pieChartList)
chartArrayList.Add(commanHash)
hdnChartDetail.Value = _serializer.Serialize(chartArrayList)
End Function
In the view (i.e Chart.aspx), we would parse the values from hidden field and create chart
<script language="javascript" type="text/javascript">
// assuming that you have already included JQuery
var chartDetail = parseJsonForJquery($('#<%=hdnChartDetail.ClientID %>').val());
$(document).ready(function () {
Highcharts.setOptions({
createPieChart('divChart',chartDetail[0].chart_title,chartDetail[0].chart_data);
});
function createPieChart(renderToControl, title, seriesVal) {
pieChart = new Highcharts.Chart({
chart: {
renderTo: renderToControl,
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
title: {
text: title
},
tooltip: {
formatter: function () {
return '<b>' + this.point.name + '</b>: ' + Math.round(this.percentage) + ' %'; //Math.round converts number into %.
}
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
color: '#000000',
connectorColor: '#000000',
formatter: function () {
return '<b>' + this.point.name + '</b>: ' + Math.round(this.percentage) + ' %';
}
},
showInLegend: true
}
},
series: [{
type: 'pie',
name: 'Pie Chart',
data: seriesVal
}]
});
}
</script>
That’s it. 🙂 In case you have any difficulties in integrating HighCharts in your DotNet application, please drop us a line and we can help you out.






