In this article we will create a web application to render
multiple series using highcharts. I used visual studion 2010 for creating this
app.
1) Create a ASP.NET web application
2) Get below 2 javascripts. Highcharts js can be downloaded
from http://highcharts.com and latest jQuery
can be downloaded from http://jquery.com/download/
a) Highcharts.js
b)  jquery-1.4.1.js
3) Create default.aspx page
4) Add references to these scripts . NOTE – add jQuery file
reference before highcharts
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script src="js/highcharts.js" type="text/javascript"></script>
5) Create a class for chart series (Y-axis)
public class
ChartEx
{
public
string name { get;
set; }
public
List<int>
data { get; set;
}
}
6) Create 2 hidden fields in html to store X and Y axis data
<asp:HiddenField runat="server" ID="hdnXaxis" />
<asp:HiddenField runat="server" ID="hdnYaxis" />
7) Create a div for rendering graph and set id as “container”
<div style="width:900px;height:300px;" id="container" >
</div >
9) Populate data for X and Y axis in page_load event in code
behind. You can connect to SQL Server Database to get data in the LoadData() method.
    protected void
Page_Load(object sender, EventArgs e)
        {
            LoadData();
        }
        public void LoadData()
        {
            //X axis
data
            List<int> lstXaxis = new
List<int>()
{ 9, 10, 11, 12 };
            List<ChartEx> lstseries = new
List<ChartEx>();
            //Y axis
- series 1
            ChartEx
series1 = new ChartEx();
            series1.name = "Revenue";
            series1.data = new List<int>() { 100, 200, 150, 175 };
            //Y axis
- series 2
            ChartEx
series2 = new ChartEx();
            series2.name = "Profit";
            series2.data = new List<int>() { 50, 120, 80, 95 };
            //Add 2
series to list
            lstseries.Add(series1);
            lstseries.Add(series2);
            //Convert
X axis data to JSON
            JavaScriptSerializer
oSerializer1 = new JavaScriptSerializer();
            hdnXaxis.Value =
oSerializer1.Serialize(lstXaxis);
            //Convert
Y axis data to JSON
            JavaScriptSerializer
oSerializer2 = new JavaScriptSerializer();
            hdnYaxis.Value =
oSerializer1.Serialize(lstseries);
        }
8)  Now- the last
step- copy the below javascript function to render chart
    <script type="text/javascript">
        $(document).ready(DrawMyGraph1);
        function
DrawMyGraph1() {
            var
xaxis = $.parseJSON($("#hdnXaxis").val());
            var
series1 = $.parseJSON($("#hdnYaxis").val());
            chart = new
Highcharts.Chart({
                chart: {
                    type: 'column',
                    renderTo: 'container',
                    defaultSeriesType: 'area'
                },
                title: {
                    text: 'Revenu Profit'
                },
                subtitle: {
                    text: 'revenu profit graph'
                },
                xAxis: {
                    categories: xaxis
                },
                yAxis: {
                    title: {
                        text: 'Revenue/Profit'
                    }
                },
                tooltip: {
                    formatter: function
() {
                        return '$' +
Highcharts.numberFormat(this.y, 0) + ' ' + this.series.name + ' in '
+ this.x + ' hour';
                    }
                },
                series: series1
            });
        }
</script>
Done ! Run the application and you can see multiple series
rendered in your graph.
Let me know if this worked for you. 
 
 
6 comments:
Congratulations for you post! It helped me a lot: there are a lot of articles on web talking about this matter, but not as clear as you expose!
Can you drop a screen shot of the output this produces, along with the JSON values please
I am using the same code and when i run it shows me something different
iam using the code ,but i have problem
"Uncaught TypeError: Cannot read property 'opacity' of undefined highcharts.js:20
H.HighchartsAdapter.H.HighchartsAdapter.a.init highcharts.js:20
(anonymous function) highcharts.js:25
(anonymous function) highcharts.js:307
Uncaught TypeError: undefined is not a function WebForm2.aspx:18
DrawMyGraph1 WebForm2.aspx:18
jQuery.extend.ready jquery-1.4.1.js:387
DOMContentLoaded"
can you help me ?
hello, i have problem in setting different colors in highcharts:column graph...i want to do it client side in .net???
I have created step by step but after run it not viewed on browser,its blank.
Post a Comment