|
|
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 PolarSpider()
{
return View();
}
}
}
Controller Code
<script src="https://code.highcharts.com/highcharts.js"></script>
@*The highchart-more.js file contains definitions for additional chart types not available
in the main highcharts.js file such as "arearange". You need to include this file if you
are using these types of charts*@
<script src="https://code.highcharts.com/highcharts-more.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
{
Chart = new Highsoft.Web.Mvc.Charts.Chart
{
Polar = true
},
Title = new Title
{
Text = "Budget vs spending",
X = -80
},
Pane = new Pane
{
Size = "80%"
},
XAxis = new List<XAxis>
{
new XAxis
{
Categories = new List<string> {"Sales", "Marketing", "Development", "Customer Support",
"Information Technology", "Administration" },
TickmarkPlacement = XAxisTickmarkPlacement.On,
LineWidth = 0
}
},
YAxis = new List<YAxis>
{
new YAxis
{
GridLineInterpolation = YAxisGridLineInterpolation.Polygon,
LineWidth = 0,
Min = 0
}
},
Tooltip = new Tooltip
{
Shared = true,
PointFormat = "<span style=\"color:{series.color}\">{series.name}: <b>${point.y:,.0f}</b><br/>"
},
Legend = new Legend
{
Align = LegendAlign.Right,
VerticalAlign = LegendVerticalAlign.Top,
Y = 70,
Layout = LegendLayout.Vertical
},
Series = new List<Series>
{
new LineSeries
{
Name = "Allocated Budget",
PointPlacement = new PointPlacement
{
PointPlacementEnum = PointPlacementEnum.On
},
Data = new List<LineSeriesData> {
new LineSeriesData { Y = 43000 },
new LineSeriesData { Y = 19000 },
new LineSeriesData { Y = 60000 },
new LineSeriesData { Y = 35000 },
new LineSeriesData { Y = 17000 },
new LineSeriesData { Y = 10000 }
}
},
new LineSeries
{
Name = "Actual Spending",
PointPlacement = new PointPlacement
{
PointPlacementEnum = PointPlacementEnum.On
},
Data = new List<LineSeriesData> {
new LineSeriesData { Y = 50000 },
new LineSeriesData { Y = 39000 },
new LineSeriesData { Y = 42000 },
new LineSeriesData { Y = 31000 },
new LineSeriesData { Y = 26000 },
new LineSeriesData { Y = 14000 }
}
}
}
};
chartOptions.ID = "chart";
var renderer = new HighchartsRenderer(chartOptions);
}
@Html.Raw(renderer.RenderHtml())