The AreaChart displays data as filled areas under lines, useful for showing magnitude of trends and comparing series contributions.

Example

Prepare Data

var sheet = grid.CurrentWorksheet;

sheet["A2"] = new object[,] {
    { null, 2008, 2009, 2010, 2011, 2012 },
    { "City 1", 3, 2, 4, 2, 6 },
    { "City 2", 7, 5, 3, 6, 4 },
    { "City 3", 13, 10, 9, 10, 9 },
    { "Total", "=SUM(B3:B5)", "=SUM(C3:C5)", "=SUM(D3:D5)",
      "=SUM(E3:E5)", "=SUM(F3:F5)" },
};

233

Define Ranges and Create Chart

var dataRange = sheet.Ranges["B3:F5"];
var serialNamesRange = sheet.Ranges["A3:A5"];
var categoryNamesRange = sheet.Ranges["B2:F2"];

sheet.AddHighlightRange(categoryNamesRange);
sheet.AddHighlightRange(serialNamesRange);
sheet.AddHighlightRange(dataRange);

var chart = new Chart.AreaChart
{
    Bounds = new Graphics.Rectangle(30, 150, 400, 240),
    Title = "Area Chart Sample",
    DataSource = new WorksheetChartDataSource(sheet, serialNamesRange, dataRange)
    {
        CategoryNameRange = categoryNamesRange,
    },
};

sheet.FloatingObjects.Add(chart);

339

Semi-Transparent Areas

Because larger areas can cover smaller ones, you can make all series semi-transparent:

foreach (var style in chart.DataSerialStyles)
{
    style.FillColor = new Graphics.SolidColor(100, style.FillColor.ToSolidColor());
}

340

Was this article helpful?