|
|
Controller Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Highsoft.Web.Mvc.Charts;
namespace MVC_Demo.Areas.Highcharts.Controllers.Shared
{
public partial class SharedController : Controller
{
public ActionResult BarBasic()
{
List<double?> year1800Values = new List<double?> { 107, 31, 635, 203, 2 };
List<double?> year1900Values = new List<double?> { 133, 156, 947, 408, 6 };
List<double?> year2008Values = new List<double?> { 973, 914, 4054, 732, 34 };
List<BarSeriesData> year1800Data = new List<BarSeriesData>();
List<BarSeriesData> year1900Data = new List<BarSeriesData>();
List<BarSeriesData> year2008Data = new List<BarSeriesData>();
year1800Values.ForEach(p => year1800Data.Add(new BarSeriesData { Y = p }));
year1900Values.ForEach(p => year1900Data.Add(new BarSeriesData { Y = p }));
year2008Values.ForEach(p => year2008Data.Add(new BarSeriesData { Y = p }));
ViewData["year1800Data"] = year1800Data;
ViewData["year1900Data"] = year1900Data;
ViewData["year2008Data"] = year2008Data;
return View();
}
}
}
Controller Code
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
@using Highsoft.Web.Mvc.Charts
@using Highsoft.Web.Mvc.Charts.Rendering;
@{ var chartOptions = new Highcharts
{
Title = new Title
{
Text = "Historic World Population by Region"
},
Subtitle = new Subtitle
{
Text = "Source: Wikipedia.org"
},
XAxis = new List<XAxis>
{
new XAxis
{
Title = new XAxisTitle
{
Text = null
},
Categories = new List<string> { "Africa", "America", "Asia", "Europe", "Oceania" }
}
},
YAxis = new List<YAxis>
{
new YAxis
{
Min = 0,
Title = new YAxisTitle
{
Text = "Population (millions)",
Align = YAxisTitleAlign.Middle
}
}
},
Tooltip = new Tooltip
{
ValueSuffix = " millions"
},
PlotOptions = new PlotOptions
{
Bar = new PlotOptionsBar
{
DataLabels = new PlotOptionsBarDataLabels
{
Enabled = true
}
}
},
Legend = new Legend
{
Layout = LegendLayout.Vertical,
Align = LegendAlign.Right,
VerticalAlign = LegendVerticalAlign.Top,
X = -40,
Y = 100,
Floating = true,
BorderWidth = 1,
BackgroundColor = "white",
Shadow = new Shadow
{
Enabled = true
}
},
Credits = new Credits
{
Enabled = false
},
Series = new List<Series>
{
new BarSeries
{
Name = "Year 1800",
Data = @ViewData["year1800Data"] as List<BarSeriesData>
},
new BarSeries
{
Name = "Year 1900",
Data = @ViewData["year1900Data"] as List<BarSeriesData>
},
new BarSeries
{
Name = "Year 2008",
Data = @ViewData["year2008Data"] as List<BarSeriesData>
}
}
};
chartOptions.ID = "chart";
var renderer = new HighchartsRenderer(chartOptions);
}
@Html.Raw(renderer.RenderHtml())