Toggle navigation Highcharts
  • About Us
    • About Us
    • Job Openings
    • Contact Us
    • News
    • Resellers
  • Home
  • Products
    • Highcharts
    • Highstock
    • Highmaps
    • Mobile
    • Highcharts Cloud
    • Highcharts Editor
    • Wrappers
    • Plugins
  • Demo
    • Highcharts demos
    • Highstock demos
    • Highmaps demo
  • Docs
    • General Documentation
    • API Reference
    • Changelog
    • Roadmap
  • Support
    • Support
    • Download
  • Blog
  • Community
    • Project Showcase
    • Chart Code Showcase
    • Contribute
  • Buy
  • About Us
    • About Us
    • Job Openings
    • Contact Us
    • News
    • Resellers
Highcharts .NET 
  • Highcharts .NET
  • Highstock .NET
Demos 
  • Demos
  • API
  • Docs
  • See on NuGet
  • Download 
  • Demo
  • API
  • Docs
  • See on NuGet
  • Download 
Highcharts .NET
 Highcharts  Highstock
  • Line charts
    • Basic line
    • Ajax loaded data, clickable points
    • With data labels
    • With annotations
    • Time series, zoomable
    • Spline with inverted axes
    • Spline with symbols
    • Spline with plot bands
    • Time data with irregular intervals
    • Logarithmic axis
  • Area charts
    • Basic area
    • Area with negative values
    • Stacked area
    • Percentage area
    • Area with missing points
    • Inverted axes
    • Area-spline
    • Area range
    • Area range and line
    • Sparkline charts
    • Streamgraph
  • Column and bar charts
    • Basic bar
    • Stacked bar
    • Bar with negative stack
    • Basic column
    • Column with negative values
    • Stacked column
    • Stacked and grouped column
    • Stacked percentage column
    • Column with rotated labels
    • Column with drilldown
    • Fixed placement columns
    • Data defined in a HTML table
    • Column range
  • Pie charts
    • Pie chart
    • Pie with legend
    • Semi circle donut
    • Pie with drilldown
    • Pie with gradient fill
    • Pie with monochrome fill
  • Scatter and bubble charts
    • Scatter plot
    • Bubble chart
    • 3D bubbles
  • Dynamic charts
    • Spline updating each second
    • Click to add a point
    • Master-detail chart
  • Combinations
    • Dual axes, line and column
    • Multiple axes
    • Scatter with regression line
    • Advanced timeline
  • 3D charts
    • 3D column
    • 3D column with null and 0 values
    • 3D column with stacking and grouping
    • 3D pie
    • 3D donut
    • 3D scatter chart
  • Gauges
    • Angular gauge
    • Activity gauge
    • Clock
    • Gauge with dual axes
    • VU meter
    • Bullet graph
  • Heat and tree maps
    • Heat map
    • Large heat map
    • Tile map, honeycomb
    • Tree map with color axis
    • Tree map with levels
    • Large tree map
  • More chart types
    • Polar chart
    • Spiderweb
    • Wind rose
    • Box plot
    • Error bar
    • Waterfall
    • Funnel chart
    • Pyramid chart
    • Polygon series
    • General drawing
list

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 AreaStacked()
        {
            List<double?> asiaValues = new List<double?> { 502, 635, 809, 947, 1402, 3634, 5268 };
            List<double?> africaValues = new List<double?> { 106, 107, 111, 133, 221, 767, 1766 };
            List<double?> europeValues = new List<double?> { 163, 203, 276, 408, 547, 729, 628 };
            List<double?> americaValues = new List<double?> { 18, 31, 54, 156, 339, 818, 1201 };
            List<double?> oceaniaValues = new List<double?> { 2, 2, 2, 6, 13, 30, 46 };

            List<AreaSeriesData> asiaData = new List<AreaSeriesData>();
            List<AreaSeriesData> africaData = new List<AreaSeriesData>();
            List<AreaSeriesData> europeData = new List<AreaSeriesData>();
            List<AreaSeriesData> americaData = new List<AreaSeriesData>();
            List<AreaSeriesData> oceaniaData = new List<AreaSeriesData>();

            asiaValues.ForEach(p => asiaData.Add(new AreaSeriesData { Y = p }));
            africaValues.ForEach(p => africaData.Add(new AreaSeriesData { Y = p }));
            europeValues.ForEach(p => europeData.Add(new AreaSeriesData { Y = p }));
            americaValues.ForEach(p => americaData.Add(new AreaSeriesData { Y = p }));
            oceaniaValues.ForEach(p => oceaniaData.Add(new AreaSeriesData { Y = p }));

            ViewData["asiaData"] = asiaData;
            ViewData["africaData"] = africaData;
            ViewData["europeData"] = europeData;
            ViewData["americaData"] = americaData;
            ViewData["oceaniaData"] = oceaniaData;

            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

<script type="text/javascript">

    function formatYAxis() {
        return this.value / 1000;
    }


</script>

@{var chartOptions = new Highcharts
    {
        Title = new Title
        {
            Text = "Historic and Estimated Worldwide Population Growth by Region"
        },
        Subtitle = new Subtitle
        {
            Text = "Source: Wikipedia.org"
        },
        XAxis = new List<XAxis>
    {
                new XAxis
                {
                    Categories = new List<string> { "1750", "1800", "1850", "1900", "1950", "1999", "2050" },
                    TickmarkPlacement = XAxisTickmarkPlacement.On
                }
            },
        YAxis = new List<YAxis>
    {
            new YAxis
                {
                    Title = new YAxisTitle
                    {
                        Text = "Billions"
                    },
                    Labels = new YAxisLabels
                    {
                        Formatter = "formatYAxis"
                    }
                }
            },
        Tooltip = new Tooltip
        {
            Shared = true,
            ValueSuffix = " millions"
        },
        PlotOptions = new PlotOptions
        {
            Area = new PlotOptionsArea
            {
                Stacking = PlotOptionsAreaStacking.Normal,
                LineColor = "#666666",
                LineWidth = 1,
                Marker = new PlotOptionsAreaMarker
                {
                    LineWidth = 1,
                    LineColor = "#666666"
                }
            }
        },
        Series = new List<Series>
    {
                new AreaSeries
                {
                    Name = "Asia",
                    Data = @ViewData["asiaData"] as List<AreaSeriesData>
                },
                new AreaSeries
                {
                    Name = "Africa",
                    Data = @ViewData["africaData"] as List<AreaSeriesData>
                },
                new AreaSeries
                {
                    Name = "Europe",
                    Data = @ViewData["europeData"] as List<AreaSeriesData>
                },
                new AreaSeries
                {
                    Name = "America",
                    Data = @ViewData["americaData"] as List<AreaSeriesData>
                },
                new AreaSeries
                {
                    Name = "Oceania",
                    Data = @ViewData["oceaniaData"] as List<AreaSeriesData>
                }
            }
    };

    chartOptions.ID = "chart";
    var renderer = new HighchartsRenderer(chartOptions);
}

@Html.Raw(renderer.RenderHtml())
© 2025 Highcharts. All rights reserved.