ChartSeries class

Represents chart series properties.

public class ChartSeries : IChartDataPoint


Name Description
Bubble3D { get; set; }
DataLabels { get; } Specifies the settings for the data labels for the entire series.
DataPoints { get; } Returns a collection of formatting objects for all data points in this series.
Explosion { get; set; }
Format { get; } Provides access to fill and line formatting of the series.
HasDataLabels { get; set; } Gets or sets a flag indicating whether data labels are displayed for the series.
InvertIfNegative { get; set; }
LegendEntry { get; } Gets a legend entry for this chart series.
Marker { get; }
Name { get; set; } Gets or sets the name of the series, if name is not set explicitly it is generated using index. By default returns Series plus one based index.
Smooth { get; set; } Allows to specify whether the line connecting the points on the chart shall be smoothed using Catmull-Rom splines.


Shows how to apply labels to data points in a line chart.

    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    Shape chartShape = builder.InsertChart(ChartType.Line, 400, 300);
    Chart chart = chartShape.Chart;

    Assert.AreEqual(3, chart.Series.Count);
    Assert.AreEqual("Series 1", chart.Series[0].Name);
    Assert.AreEqual("Series 2", chart.Series[1].Name);
    Assert.AreEqual("Series 3", chart.Series[2].Name);

    // Apply data labels to every series in the chart.
    // These labels will appear next to each data point in the graph and display its value.
    foreach (ChartSeries series in chart.Series)
        ApplyDataLabels(series, 4, "000.0", ", ");
        Assert.AreEqual(4, series.DataLabels.Count);

    // Change the separator string for every data label in a series.
    using (IEnumerator<ChartDataLabel> enumerator = chart.Series[0].DataLabels.GetEnumerator())
        while (enumerator.MoveNext())
            Assert.AreEqual(", ", enumerator.Current.Separator);
            enumerator.Current.Separator = " & ";

    // For a cleaner looking graph, we can remove data labels individually.

    // We can also strip an entire series of its data labels at once.

    doc.Save(ArtifactsDir + "Charts.DataLabels.docx");

/// <summary>
/// Apply data labels with custom number format and separator to several data points in a series.
/// </summary>
private static void ApplyDataLabels(ChartSeries series, int labelsCount, string numberFormat, string separator)
    for (int i = 0; i < labelsCount; i++)
        series.HasDataLabels = true;


        series.DataLabels[i].ShowCategoryName = true;
        series.DataLabels[i].ShowSeriesName = true;
        series.DataLabels[i].ShowValue = true;
        series.DataLabels[i].ShowLeaderLines = true;
        series.DataLabels[i].ShowLegendKey = true;
        series.DataLabels[i].ShowPercentage = false;
        series.DataLabels[i].IsHidden = false;

        series.DataLabels[i].NumberFormat.FormatCode = numberFormat;
        series.DataLabels[i].Separator = separator;


See Also