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 work with data points on a line chart.
@Test
public void chartDataPoint() throws Exception {
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    Shape shape = builder.insertChart(ChartType.LINE, 500.0, 350.0);
    Chart chart = shape.getChart();

    Assert.assertEquals(3, chart.getSeries().getCount());
    Assert.assertEquals("Series 1", chart.getSeries().get(0).getName());
    Assert.assertEquals("Series 2", chart.getSeries().get(1).getName());
    Assert.assertEquals("Series 3", chart.getSeries().get(2).getName());

    // Emphasize the chart's data points by making them appear as diamond shapes.
    for (ChartSeries series : chart.getSeries()) 
        applyDataPoints(series, 4, MarkerSymbol.DIAMOND, 15);

    // Smooth out the line that represents the first data series.
    chart.getSeries().get(0).setSmooth(true);

    // Verify that data points for the first series will not invert their colors if the value is negative.
    Iterator<ChartDataPoint> enumerator = chart.getSeries().get(0).getDataPoints().iterator();
    while (enumerator.hasNext()) {
        Assert.assertFalse(enumerator.next().getInvertIfNegative());
    }

    // For a cleaner looking graph, we can remove data points individually.
    chart.getSeries().get(1).getDataPoints().removeAt(2);

    // We can also strip an entire series of data points at once.
    chart.getSeries().get(2).getDataPoints().clear();

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

/// <summary>
/// Applies a number of data points to a series.
/// </summary>
private static void applyDataPoints(ChartSeries series, int dataPointsCount, 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()
 
Method Summary
voidclearFormat()
Clears format of this data point. The properties are set to the default values defined in the parent series.
 

    • 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 work with data points on a line chart.
        @Test
        public void chartDataPoint() throws Exception {
            Document doc = new Document();
            DocumentBuilder builder = new DocumentBuilder(doc);
        
            Shape shape = builder.insertChart(ChartType.LINE, 500.0, 350.0);
            Chart chart = shape.getChart();
        
            Assert.assertEquals(3, chart.getSeries().getCount());
            Assert.assertEquals("Series 1", chart.getSeries().get(0).getName());
            Assert.assertEquals("Series 2", chart.getSeries().get(1).getName());
            Assert.assertEquals("Series 3", chart.getSeries().get(2).getName());
        
            // Emphasize the chart's data points by making them appear as diamond shapes.
            for (ChartSeries series : chart.getSeries()) 
                applyDataPoints(series, 4, MarkerSymbol.DIAMOND, 15);
        
            // Smooth out the line that represents the first data series.
            chart.getSeries().get(0).setSmooth(true);
        
            // Verify that data points for the first series will not invert their colors if the value is negative.
            Iterator<ChartDataPoint> enumerator = chart.getSeries().get(0).getDataPoints().iterator();
            while (enumerator.hasNext()) {
                Assert.assertFalse(enumerator.next().getInvertIfNegative());
            }
        
            // For a cleaner looking graph, we can remove data points individually.
            chart.getSeries().get(1).getDataPoints().removeAt(2);
        
            // We can also strip an entire series of data points at once.
            chart.getSeries().get(2).getDataPoints().clear();
        
            doc.save(getArtifactsDir() + "Charts.ChartDataPoint.docx");
        }
        
        /// <summary>
        /// Applies a number of data points to a series.
        /// </summary>
        private static void applyDataPoints(ChartSeries series, int dataPointsCount, 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)
        
    • Method Detail

      • clearFormat

        public void clearFormat()
        Clears format of this data point. The properties are set to the default values defined in the parent series.