com.aspose.words

Class ChartDataPoint

  • java.lang.Object
    • com.aspose.words.ChartDataPoint
  • All Implemented Interfaces:
    IChartDataPoint, java.lang.Cloneable
    public class ChartDataPoint 
    extends java.lang.Object

Allows to specify formatting of a single data point on the chart.
On a series, the ChartDataPoint object is a member of the ChartDataPointCollection. The ChartDataPointCollection contains a ChartDataPoint object for each point.

Example:

Shows how to customize chart data points.
@Test
public void chartDataPoint() throws Exception {
    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.0, 350.0);
    Chart chart = shape.getChart();

    // Apply diamond-shaped data points to the line of the first series
    for (ChartSeries series : chart.getSeries()) {
        applyDataPoints(series, 4, MarkerSymbol.DIAMOND, 15);
    }

    // We can further decorate a series line by smoothing it
    chart.getSeries().get(0).setSmooth(true);

    // Get the enumerator for the data point collection from one series
    Iterator<ChartDataPoint> enumerator = chart.getSeries().get(0).getDataPoints().iterator();

    // And use it to go over all the data labels in one series and change their separator
    while (enumerator.hasNext()) {
        Assert.assertFalse(enumerator.next().getInvertIfNegative());
    }

    // If the chart looks too busy, we can remove data points one by one
    chart.getSeries().get(1).getDataPoints().removeAt(2);

    // We can also clear an entire data point collection for one whole series
    chart.getSeries().get(2).getDataPoints().clear();

    doc.save(getArtifactsDir() + "Charts.ChartDataPoint.docx");
}

/// <summary>
/// Applies a number of data points to a series
/// </summary>
private void applyDataPoints(ChartSeries series, int dataPointsCount, /*MarkerSymbol*/int markerSymbol, int dataPointSize) {
    for (int i = 0; i < dataPointsCount; i++) {
        ChartDataPoint point = series.getDataPoints().add(i);
        point.getMarker().setSymbol(markerSymbol);
        point.getMarker().setSize(dataPointSize);

        Assert.assertEquals(point.getIndex(), i);
    }
}

Property Getters/Setters Summary
booleangetBubble3D()
void
setBubble3D(booleanvalue)
          
intgetExplosion()
void
setExplosion(intvalue)
          
intgetIndex()
Index of the data point this object applies formatting to.
booleangetInvertIfNegative()
void
setInvertIfNegative(booleanvalue)
          
ChartMarkergetMarker()
 

    • Property Getters/Setters Detail

      • getBubble3D/setBubble3D

        public boolean getBubble3D() / public void setBubble3D(boolean value)
        
      • getExplosion/setExplosion

        public int getExplosion() / public void setExplosion(int value)
        
      • getIndex

        public int getIndex()
        
        Index of the data point this object applies formatting to.

        Example:

        Shows how to customize chart data points.
        @Test
        public void chartDataPoint() throws Exception {
            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.0, 350.0);
            Chart chart = shape.getChart();
        
            // Apply diamond-shaped data points to the line of the first series
            for (ChartSeries series : chart.getSeries()) {
                applyDataPoints(series, 4, MarkerSymbol.DIAMOND, 15);
            }
        
            // We can further decorate a series line by smoothing it
            chart.getSeries().get(0).setSmooth(true);
        
            // Get the enumerator for the data point collection from one series
            Iterator<ChartDataPoint> enumerator = chart.getSeries().get(0).getDataPoints().iterator();
        
            // And use it to go over all the data labels in one series and change their separator
            while (enumerator.hasNext()) {
                Assert.assertFalse(enumerator.next().getInvertIfNegative());
            }
        
            // If the chart looks too busy, we can remove data points one by one
            chart.getSeries().get(1).getDataPoints().removeAt(2);
        
            // We can also clear an entire data point collection for one whole series
            chart.getSeries().get(2).getDataPoints().clear();
        
            doc.save(getArtifactsDir() + "Charts.ChartDataPoint.docx");
        }
        
        /// <summary>
        /// Applies a number of data points to a series
        /// </summary>
        private void applyDataPoints(ChartSeries series, int dataPointsCount, /*MarkerSymbol*/int markerSymbol, int dataPointSize) {
            for (int i = 0; i < dataPointsCount; i++) {
                ChartDataPoint point = series.getDataPoints().add(i);
                point.getMarker().setSymbol(markerSymbol);
                point.getMarker().setSize(dataPointSize);
        
                Assert.assertEquals(point.getIndex(), i);
            }
        }
      • getInvertIfNegative/setInvertIfNegative

        public boolean getInvertIfNegative() / public void setInvertIfNegative(boolean value)