Dynamic charts
When we need to display some charts, we might use simple and fast library – HighCharts.Which I’ll try to explain brefly below.
Example
In our example we display column chart and linear plot. We will need to this : JQuery, HighCharts scripts.You can also download it from nuget package.
At the begining we generate pseudorandom numbers from 3k-10k it mean salary in each month.
Random rand = new Random(); object[] randomValue = new object[12]; for (int i = 0; i < 12; i++) { randomValue[i] = rand.Next(3000, 10000); }
Now we create our chart.
DotNet.Highcharts.Highcharts chart = new DotNet.Highcharts.Highcharts("chart") .SetTitle(new Title { Text = "Salary" }) .SetYAxis(new YAxis { Title = new YAxisTitle { Text = "Value" } }) .SetXAxis(new XAxis { Categories = new[] { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" } }) .SetSeries(new Series { Data = new Data(randomValue) });
The first lines should be clear. In function SetXAxis we creat Categories.In our case – month. In SetSeries() we pass pseudorandom salary.
Pass model to view.
return View(chart);
And the view is as
@model DotNet.Highcharts.Highcharts <script src="~/Scripts/jquery-3.1.1.js"></script> <script src="~/Scripts/Highcharts-4.0.1/js/highcharts.js"></script> @(Model)
And now the same but with column chart.
The difference in the code is just this line:
.InitChart(new Chart { Type = DotNet.Highcharts.Enums.ChartTypes.Column })
As you can see we have a lot of options presentations charts.
And it look like:
Summary
I showed you just the tip of the iceberg. This library is much more powerful and as you see easy to use.
Link to the project: here