IChartDataPoint Interface
Contains properties of a single data point on the chart.

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

The IChartDataPoint type exposes the following members.

Properties
  NameDescription
Public propertyCode exampleBubble3D
Specifies whether the bubbles in Bubble chart should have a 3-D effect applied to them.
Public propertyCode exampleExplosion
Specifies the amount the data point shall be moved from the center of the pie. Can be negative, negative means that property is not set and no explosion should be applied. Applies only to Pie charts.
Public propertyCode exampleInvertIfNegative
Specifies whether the parent element shall inverts its colors if the value is negative.
Public propertyCode exampleMarker
Specifies a data marker. Marker is automatically created when requested.
Examples
Shows how to customize chart data points.
[Test]
public void ChartDataPoint()
{
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    // Add a line chart, which will have default data that we will use
    Shape shape = builder.InsertChart(ChartType.Line, 500, 350);
    Chart chart = shape.Chart;

    // Apply diamond-shaped data points to the line of the first series
    foreach (ChartSeries series in chart.Series)
    {
        ApplyDataPoints(series, 4, MarkerSymbol.Diamond, 15);
    }

    // We can further decorate a series line by smoothing it
    chart.Series[0].Smooth = true;

    // Get the enumerator for the data point collection from one series
    using (IEnumerator<ChartDataPoint> enumerator = chart.Series[0].DataPoints.GetEnumerator())
    {
        // And use it to go over all the data labels in one series and change their separator
        while (enumerator.MoveNext())
        {
            Assert.False(enumerator.Current.InvertIfNegative);
        }
    }

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

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

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

/// <summary>
/// Applies a number of data points to a series
/// </summary>
private void ApplyDataPoints(ChartSeries series, int dataPointsCount, MarkerSymbol markerSymbol, int dataPointSize)
{
    for (int i = 0; i < dataPointsCount; i++)
    {
        ChartDataPoint point = series.DataPoints.Add(i);
        point.Marker.Symbol = markerSymbol;
        point.Marker.Size = dataPointSize;

        Assert.AreEqual(i, point.Index);
    }
}
See Also