ChartSeries Class
Represents chart series properties.
Inheritance Hierarchy
SystemObject
  Aspose.Words.Drawing.ChartsChartSeries

Namespace: Aspose.Words.Drawing.Charts
Assembly: Aspose.Words (in Aspose.Words.dll) Version: 19.12
Syntax
public class ChartSeries : IChartDataPoint

The ChartSeries type exposes the following members.

Properties
  NameDescription
Public propertyBubble3D
Public propertyCode exampleDataLabels
Specifies the settings for the data labels for the entire series.
Public propertyCode exampleDataPoints
Returns a collection of formatting objects for all data points in this series.
Public propertyExplosion
Public propertyInvertIfNegative
Public propertyMarker
Public propertyCode exampleName
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.
Public propertyCode exampleSmooth
Allows to specify whether the line connecting the points on the chart shall be smoothed using Catmull-Rom splines.
Methods
  NameDescription
Public methodEquals (Inherited from Object.)
Protected methodFinalize (Inherited from Object.)
Public methodGetHashCode (Inherited from Object.)
Public methodGetType (Inherited from Object.)
Protected methodMemberwiseClone (Inherited from Object.)
Public methodToString (Inherited from Object.)
Examples
Shows how to apply labels to data points in a chart.
public void ChartDataLabels()
{
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    // Use a document builder to insert a bar chart
    Shape chartShape = builder.InsertChart(ChartType.Line, 400, 300);

    // Get the chart object from the containing shape
    Chart chart = chartShape.Chart;

    // The chart already contains demo data comprised of 3 series each with 4 categories
    Assert.AreEqual(3, chart.Series.Count);
    Assert.AreEqual("Series 1", chart.Series[0].Name);

    // Apply data labels to every series in the graph
    foreach (ChartSeries series in chart.Series)
    {
        ApplyDataLabels(series, 4, "000.0", ", ");
        Assert.AreEqual(4, series.DataLabels.Count);
    }

    // Get the enumerator for a data label collection
    using (IEnumerator<ChartDataLabel> enumerator = chart.Series[0].DataLabels.GetEnumerator())
    {
        // And use it to go over all the data labels in one series and change their separator
        while (enumerator.MoveNext())
        {
            Assert.AreEqual(", ", enumerator.Current.Separator);
            enumerator.Current.Separator = " & ";
        }
    }

    // If the chart looks too busy, we can remove data labels one by one
    chart.Series[1].DataLabels.RemoveAt(2);

    // We can also clear an entire data label collection for one whole series
    chart.Series[2].DataLabels.Clear();

    doc.Save(ArtifactsDir + "Charts.ChartDataLabels.docx");
}

/// <summary>
/// Apply uniform data labels with custom number format and separator to a number (determined by labelsCount) of data points in a series
/// </summary>
private void ApplyDataLabels(ChartSeries series, int labelsCount, string numberFormat, string separator)
{
    for (int i = 0; i < labelsCount; i++)
    {
        ChartDataLabel label = series.DataLabels.Add(i);
        Assert.False(label.IsVisible);

        // Edit the appearance of the new data label
        label.ShowCategoryName = true;
        label.ShowSeriesName = true;
        label.ShowValue = true;
        label.ShowLeaderLines = true;
        label.ShowLegendKey = true;
        label.ShowPercentage = false;
        Assert.False(label.ShowDataLabelsRange);

        // Apply number format and separator
        label.NumberFormat.FormatCode = numberFormat;
        label.Separator = separator;

        // The label automatically becomes visible
        Assert.True(label.IsVisible);
    }
}
See Also