|
|
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 ColumnDrilldown()
{
return View();
}
}
}
Controller Code
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/drilldown.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 = "Browser market shares. January, 2015 to May, 2015"
},
Subtitle = new Subtitle
{
Text = "Click the columns to view versions. Source: <a href='https://netmarketshare.com'>netmarketshare.com</a>."
},
XAxis = new List<XAxis>
{
new XAxis
{
Type = "category"
}
},
YAxis = new List<YAxis>
{
new YAxis
{
Title = new YAxisTitle
{
Text = "Total percent market share"
}
}
},
Legend = new Legend
{
Enabled = false
},
Tooltip = new Tooltip
{
HeaderFormat = "<span style='font-size:11px'>{series.name}</span><br>",
PointFormat = "<span style=\"color:{point.color}\">{point.name}</span>: <b>{point.y:.2f}%</b> of total<br/>"
},
PlotOptions = new PlotOptions
{
Series = new PlotOptionsSeries
{
DataLabels = new PlotOptionsSeriesDataLabels
{
Enabled = true,
Format = "{point.y:.1f}%"
}
}
},
Series = new List<Series>
{
new ColumnSeries
{
Name = "Brands",
ColorByPoint = true,
Data = new List<ColumnSeriesData>
{
new ColumnSeriesData { Name = "Microsoft Internet Explorer", Y = 56.3, Drilldown = "Microsoft Internet Explorer" },
new ColumnSeriesData { Name = "Chrome", Y = 24.03, Drilldown = "Chrome" },
new ColumnSeriesData { Name = "Firefox", Y = 10.3, Drilldown = "Firefox" },
new ColumnSeriesData { Name = "Sfari", Y = 4.77, Drilldown = "Safari" },
new ColumnSeriesData { Name = "Opera", Y = 0.91, Drilldown = "Opera" },
new ColumnSeriesData { Name = "Proprietary or Undetectable", Y = 0.2, Drilldown = null }
}
}
},
Drilldown = new Drilldown
{
Series = new List<Series>
{
new ColumnSeries
{
Name = "Microsoft Internet Explorer",
Id = "Microsoft Internet Explorer",
Data = new List<ColumnSeriesData>
{
new ColumnSeriesData { Name = "v11.0", Y = 24.13 },
new ColumnSeriesData { Name = "v8.0", Y = 17.2 },
new ColumnSeriesData { Name = "v9.0", Y = 8.11 },
new ColumnSeriesData { Name = "v11.0", Y = 24.13 },
new ColumnSeriesData { Name = "v10.0", Y = 5.33 },
new ColumnSeriesData { Name = "v6", Y = 1.06 },
new ColumnSeriesData { Name = "v7", Y = 0.5 }
}
},
new ColumnSeries
{
Name = "Chrome",
Id = "Chrome",
Data = new List<ColumnSeriesData>
{
new ColumnSeriesData { Name = "v40.0", Y = 5 },
new ColumnSeriesData { Name = "v41", Y = 4.32 },
new ColumnSeriesData { Name = "v42", Y = 3.68 },
new ColumnSeriesData { Name = "v39", Y = 2.96 },
new ColumnSeriesData { Name = "v36", Y = 2.54 },
new ColumnSeriesData { Name = "v43", Y = 1.45 },
new ColumnSeriesData { Name = "v31", Y = 1.24 }
}
},
new ColumnSeries
{
Name = "Firefox",
Id = "Firefox",
Data = new List<ColumnSeriesData>
{
new ColumnSeriesData { Name = "v35", Y = 7.32 },
new ColumnSeriesData { Name = "v36", Y = 5.32 },
new ColumnSeriesData { Name = "v37", Y = 4.68 },
new ColumnSeriesData { Name = "v34", Y = 3.96 },
new ColumnSeriesData { Name = "v38", Y = 2.54 },
new ColumnSeriesData { Name = "v31", Y = 1.45 },
new ColumnSeriesData { Name = "v32", Y = 1.24 }
}
},
new ColumnSeries
{
Name = "Safari",
Id = "Safari",
Data = new List<ColumnSeriesData>
{
new ColumnSeriesData { Name = "v8", Y = 9.32 },
new ColumnSeriesData { Name = "v7.1", Y = 7.12 },
new ColumnSeriesData { Name = "v5.1", Y = 6.92 },
new ColumnSeriesData { Name = "v5.0", Y = 6.71 },
new ColumnSeriesData { Name = "v6.1", Y = 5.44 },
new ColumnSeriesData { Name = "v7.0", Y = 4.32 },
new ColumnSeriesData { Name = "v6.2", Y = 3.24 }
}
},
new ColumnSeries
{
Name = "Opera",
Id = "Opera",
Data = new List<ColumnSeriesData>
{
new ColumnSeriesData { Name = "v12.x", Y = 5 },
new ColumnSeriesData { Name = "v28", Y = 4.32 },
new ColumnSeriesData { Name = "v27", Y = 2.15 },
new ColumnSeriesData { Name = "v29", Y = 0.16 }
}
},
}
}
};
chartOptions.ID = "chart";
var renderer = new HighchartsRenderer(chartOptions);
}
@Html.Raw(renderer.RenderHtml())