The ColumnChart displays data as vertical bars, useful for comparing values across categories.

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)" },
};

Define Ranges

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

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

237

Create Chart

var chart = new Chart.ColumnChart
{
    Location = new Graphics.Point(220, 160),
    Size = new Graphics.Size(400, 260),
    Title = "Column Chart Sample",
    DataSource = new WorksheetChartDataSource(sheet, serialNamesRange, dataRange)
    {
        CategoryNameRange = categoryNamesRange,
    },
};

sheet.FloatingObjects.Add(chart);

236

Customization

Axis Configuration

// Show vertical guide lines
chart.ShowVerticalGuideLines = true;

// Customize axis range
chart.PrimaryAxisInfo.Minimum = 0;
chart.PrimaryAxisInfo.Maximum = 20;
chart.PrimaryAxisInfo.AutoMinimum = false;
chart.PrimaryAxisInfo.AutoMaximum = false;

Series Styles

// Change bar colors
chart.DataSerialStyles[0].FillColor = Graphics.SolidColor.SteelBlue;
chart.DataSerialStyles[1].FillColor = Graphics.SolidColor.Coral;
chart.DataSerialStyles[2].FillColor = Graphics.SolidColor.MediumSeaGreen;

Legend

chart.ShowLegend = true;  // default
Was this article helpful?