com.aspose.words
Class ChartDataLabel

java.lang.Object
    extended by com.aspose.words.ChartDataLabel
All Implemented Interfaces:
java.lang.Cloneable

public class ChartDataLabel 
extends java.lang.Object

Represents data label on a chart point or trendline.

To learn more, visit the Working with Charts documentation article.

On a series, the ChartDataLabel object is a member of the ChartDataLabelCollection. The ChartDataLabelCollection contains a ChartDataLabel object for each point.

Example:

Shows how to apply labels to data points in a line chart.
public void dataLabels() throws Exception {
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    Shape chartShape = builder.insertChart(ChartType.LINE, 400.0, 300.0);
    Chart chart = chartShape.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());

    // 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.
    for (ChartSeries series : chart.getSeries()) {
        applyDataLabels(series, 4, "000.0", ", ");
        Assert.assertEquals(series.getDataLabels().getCount(), 4);
    }

    // Change the separator string for every data label in a series.
    Iterator<ChartDataLabel> enumerator = chart.getSeries().get(0).getDataLabels().iterator();
    while (enumerator.hasNext()) {
        Assert.assertEquals(enumerator.next().getSeparator(), ", ");
        enumerator.next().setSeparator(" & ");
    }

    // For a cleaner looking graph, we can remove data labels individually.
    chart.getSeries().get(1).getDataLabels().get(2).clearFormat();

    // We can also strip an entire series of its data labels at once.
    chart.getSeries().get(2).getDataLabels().clearFormat();

    doc.save(getArtifactsDir() + "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);

        Assert.assertFalse(series.getDataLabels().get(i).isVisible());

        series.getDataLabels().get(i).setShowCategoryName(true);
        series.getDataLabels().get(i).setShowSeriesName(true);
        series.getDataLabels().get(i).setShowValue(true);
        series.getDataLabels().get(i).setShowLeaderLines(true);
        series.getDataLabels().get(i).setShowLegendKey(true);
        series.getDataLabels().get(i).setShowPercentage(false);
        series.getDataLabels().get(i).isHidden(false);
        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());

        series.getDataLabels().get(i).getNumberFormat().setFormatCode(numberFormat);
        series.getDataLabels().get(i).setSeparator(separator);

        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());
        Assert.assertTrue(series.getDataLabels().get(i).isVisible());
        Assert.assertFalse(series.getDataLabels().get(i).isHidden());
    }
}

Property Getters/Setters Summary
FontgetFont()
           Provides access to the font formatting of this data label.
ChartFormatgetFormat()
           Provides access to fill and line formatting of the data label.
intgetIndex()
           Specifies the index of the containing element. This index shall determine which of the parent's children collection this element applies to. Default value is 0.
booleanisHidden()
voidisHidden(boolean value)
           Gets/sets a flag indicating whether this label is hidden. The default value is false.
booleanisVisible()
           Returns true if this data label has something to display.
ChartNumberFormatgetNumberFormat()
           Returns number format of the parent element.
intgetOrientation()
voidsetOrientation(int value)
           Gets or sets the orientation of the label text. The value of the property is ShapeTextOrientation integer constant.
intgetRotation()
voidsetRotation(int value)
           Gets or sets the rotation of the label in degrees.
java.lang.StringgetSeparator()
voidsetSeparator(java.lang.String value)
           Gets or sets string separator used for the data labels on a chart. The default is a comma, except for pie charts showing only category name and percentage, when a line break shall be used instead.
booleangetShowBubbleSize()
voidsetShowBubbleSize(boolean value)
           Allows to specify if bubble size is to be displayed for the data labels on a chart. Applies only to Bubble charts. Default value is false.
booleangetShowCategoryName()
voidsetShowCategoryName(boolean value)
           Allows to specify if category name is to be displayed for the data labels on a chart. Default value is false.
booleangetShowDataLabelsRange()
voidsetShowDataLabelsRange(boolean value)
           Allows to specify if values from data labels range to be displayed in the data labels. Default value is false.
booleangetShowLeaderLines()
voidsetShowLeaderLines(boolean value)
           Allows to specify if data label leader lines need be shown. Default value is false.
booleangetShowLegendKey()
voidsetShowLegendKey(boolean value)
           Allows to specify if legend key is to be displayed for the data labels on a chart. Default value is false.
booleangetShowPercentage()
voidsetShowPercentage(boolean value)
           Allows to specify if percentage value is to be displayed for the data labels on a chart. Default value is false.
booleangetShowSeriesName()
voidsetShowSeriesName(boolean value)
           Returns or sets a Boolean to indicate the series name display behavior for the data labels on a chart. true to show the series name; false to hide. By default false.
booleangetShowValue()
voidsetShowValue(boolean value)
           Allows to specify if values are to be displayed in the data labels. Default value is false.
 
Method Summary
voidclearFormat()
           Clears format of this data label. The properties are set to the default values defined in the parent data label collection.
 

Property Getters/Setters Detail

getFont

public Font getFont()
Provides access to the font formatting of this data label.

Example:

Shows how to use 3D effects with bubble charts.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

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

Assert.assertEquals(1, chart.getSeries().getCount());
Assert.assertEquals("Y-Values", chart.getSeries().get(0).getName());
Assert.assertTrue(chart.getSeries().get(0).getBubble3D());

// Apply a data label to each bubble that displays its diameter.
for (int i = 0; i < 3; i++) {
    chart.getSeries().get(0).hasDataLabels(true);
    ChartDataLabel cdl = chart.getSeries().get(0).getDataLabels().get(i);
    chart.getSeries().get(0).getDataLabels().get(i).getFont().setSize(12.0);
    cdl.setShowBubbleSize(true);
}

doc.save(getArtifactsDir() + "Charts.Bubble3D.docx");

getFormat

public ChartFormat getFormat()
Provides access to fill and line formatting of the data label.

getIndex

public int getIndex()
Specifies the index of the containing element. This index shall determine which of the parent's children collection this element applies to. Default value is 0.

Example:

Shows how to apply labels to data points in a line chart.
public void dataLabels() throws Exception {
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    Shape chartShape = builder.insertChart(ChartType.LINE, 400.0, 300.0);
    Chart chart = chartShape.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());

    // 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.
    for (ChartSeries series : chart.getSeries()) {
        applyDataLabels(series, 4, "000.0", ", ");
        Assert.assertEquals(series.getDataLabels().getCount(), 4);
    }

    // Change the separator string for every data label in a series.
    Iterator<ChartDataLabel> enumerator = chart.getSeries().get(0).getDataLabels().iterator();
    while (enumerator.hasNext()) {
        Assert.assertEquals(enumerator.next().getSeparator(), ", ");
        enumerator.next().setSeparator(" & ");
    }

    // For a cleaner looking graph, we can remove data labels individually.
    chart.getSeries().get(1).getDataLabels().get(2).clearFormat();

    // We can also strip an entire series of its data labels at once.
    chart.getSeries().get(2).getDataLabels().clearFormat();

    doc.save(getArtifactsDir() + "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);

        Assert.assertFalse(series.getDataLabels().get(i).isVisible());

        series.getDataLabels().get(i).setShowCategoryName(true);
        series.getDataLabels().get(i).setShowSeriesName(true);
        series.getDataLabels().get(i).setShowValue(true);
        series.getDataLabels().get(i).setShowLeaderLines(true);
        series.getDataLabels().get(i).setShowLegendKey(true);
        series.getDataLabels().get(i).setShowPercentage(false);
        series.getDataLabels().get(i).isHidden(false);
        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());

        series.getDataLabels().get(i).getNumberFormat().setFormatCode(numberFormat);
        series.getDataLabels().get(i).setSeparator(separator);

        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());
        Assert.assertTrue(series.getDataLabels().get(i).isVisible());
        Assert.assertFalse(series.getDataLabels().get(i).isHidden());
    }
}

isHidden/isHidden

public boolean isHidden() / public void isHidden(boolean value)
Gets/sets a flag indicating whether this label is hidden. The default value is false.

Example:

Shows how to apply labels to data points in a line chart.
public void dataLabels() throws Exception {
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    Shape chartShape = builder.insertChart(ChartType.LINE, 400.0, 300.0);
    Chart chart = chartShape.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());

    // 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.
    for (ChartSeries series : chart.getSeries()) {
        applyDataLabels(series, 4, "000.0", ", ");
        Assert.assertEquals(series.getDataLabels().getCount(), 4);
    }

    // Change the separator string for every data label in a series.
    Iterator<ChartDataLabel> enumerator = chart.getSeries().get(0).getDataLabels().iterator();
    while (enumerator.hasNext()) {
        Assert.assertEquals(enumerator.next().getSeparator(), ", ");
        enumerator.next().setSeparator(" & ");
    }

    // For a cleaner looking graph, we can remove data labels individually.
    chart.getSeries().get(1).getDataLabels().get(2).clearFormat();

    // We can also strip an entire series of its data labels at once.
    chart.getSeries().get(2).getDataLabels().clearFormat();

    doc.save(getArtifactsDir() + "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);

        Assert.assertFalse(series.getDataLabels().get(i).isVisible());

        series.getDataLabels().get(i).setShowCategoryName(true);
        series.getDataLabels().get(i).setShowSeriesName(true);
        series.getDataLabels().get(i).setShowValue(true);
        series.getDataLabels().get(i).setShowLeaderLines(true);
        series.getDataLabels().get(i).setShowLegendKey(true);
        series.getDataLabels().get(i).setShowPercentage(false);
        series.getDataLabels().get(i).isHidden(false);
        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());

        series.getDataLabels().get(i).getNumberFormat().setFormatCode(numberFormat);
        series.getDataLabels().get(i).setSeparator(separator);

        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());
        Assert.assertTrue(series.getDataLabels().get(i).isVisible());
        Assert.assertFalse(series.getDataLabels().get(i).isHidden());
    }
}

isVisible

public boolean isVisible()
Returns true if this data label has something to display.

Example:

Shows how to apply labels to data points in a line chart.
public void dataLabels() throws Exception {
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    Shape chartShape = builder.insertChart(ChartType.LINE, 400.0, 300.0);
    Chart chart = chartShape.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());

    // 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.
    for (ChartSeries series : chart.getSeries()) {
        applyDataLabels(series, 4, "000.0", ", ");
        Assert.assertEquals(series.getDataLabels().getCount(), 4);
    }

    // Change the separator string for every data label in a series.
    Iterator<ChartDataLabel> enumerator = chart.getSeries().get(0).getDataLabels().iterator();
    while (enumerator.hasNext()) {
        Assert.assertEquals(enumerator.next().getSeparator(), ", ");
        enumerator.next().setSeparator(" & ");
    }

    // For a cleaner looking graph, we can remove data labels individually.
    chart.getSeries().get(1).getDataLabels().get(2).clearFormat();

    // We can also strip an entire series of its data labels at once.
    chart.getSeries().get(2).getDataLabels().clearFormat();

    doc.save(getArtifactsDir() + "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);

        Assert.assertFalse(series.getDataLabels().get(i).isVisible());

        series.getDataLabels().get(i).setShowCategoryName(true);
        series.getDataLabels().get(i).setShowSeriesName(true);
        series.getDataLabels().get(i).setShowValue(true);
        series.getDataLabels().get(i).setShowLeaderLines(true);
        series.getDataLabels().get(i).setShowLegendKey(true);
        series.getDataLabels().get(i).setShowPercentage(false);
        series.getDataLabels().get(i).isHidden(false);
        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());

        series.getDataLabels().get(i).getNumberFormat().setFormatCode(numberFormat);
        series.getDataLabels().get(i).setSeparator(separator);

        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());
        Assert.assertTrue(series.getDataLabels().get(i).isVisible());
        Assert.assertFalse(series.getDataLabels().get(i).isHidden());
    }
}

getNumberFormat

public ChartNumberFormat getNumberFormat()
Returns number format of the parent element.

Example:

Shows how to apply labels to data points in a line chart.
public void dataLabels() throws Exception {
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    Shape chartShape = builder.insertChart(ChartType.LINE, 400.0, 300.0);
    Chart chart = chartShape.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());

    // 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.
    for (ChartSeries series : chart.getSeries()) {
        applyDataLabels(series, 4, "000.0", ", ");
        Assert.assertEquals(series.getDataLabels().getCount(), 4);
    }

    // Change the separator string for every data label in a series.
    Iterator<ChartDataLabel> enumerator = chart.getSeries().get(0).getDataLabels().iterator();
    while (enumerator.hasNext()) {
        Assert.assertEquals(enumerator.next().getSeparator(), ", ");
        enumerator.next().setSeparator(" & ");
    }

    // For a cleaner looking graph, we can remove data labels individually.
    chart.getSeries().get(1).getDataLabels().get(2).clearFormat();

    // We can also strip an entire series of its data labels at once.
    chart.getSeries().get(2).getDataLabels().clearFormat();

    doc.save(getArtifactsDir() + "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);

        Assert.assertFalse(series.getDataLabels().get(i).isVisible());

        series.getDataLabels().get(i).setShowCategoryName(true);
        series.getDataLabels().get(i).setShowSeriesName(true);
        series.getDataLabels().get(i).setShowValue(true);
        series.getDataLabels().get(i).setShowLeaderLines(true);
        series.getDataLabels().get(i).setShowLegendKey(true);
        series.getDataLabels().get(i).setShowPercentage(false);
        series.getDataLabels().get(i).isHidden(false);
        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());

        series.getDataLabels().get(i).getNumberFormat().setFormatCode(numberFormat);
        series.getDataLabels().get(i).setSeparator(separator);

        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());
        Assert.assertTrue(series.getDataLabels().get(i).isVisible());
        Assert.assertFalse(series.getDataLabels().get(i).isHidden());
    }
}

getOrientation/setOrientation

public int getOrientation() / public void setOrientation(int value)
Gets or sets the orientation of the label text. The value of the property is ShapeTextOrientation integer constant. The default value is ShapeTextOrientation.HORIZONTAL.

Example:

Shows how to change orientation and rotation for data labels.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.COLUMN, 432.0, 252.0);
ChartSeries series = shape.getChart().getSeries().get(0);
ChartDataLabelCollection dataLabels = series.getDataLabels();

// Show data labels.
series.hasDataLabels(true);
dataLabels.setShowValue(true);
dataLabels.setShowCategoryName(true);

// Define data label shape.
dataLabels.getFormat().setShapeType(ChartShapeType.UP_ARROW);
dataLabels.getFormat().getStroke().getFill().solid(Color.blue);

// Set data label orientation and rotation for the entire series.
dataLabels.setOrientation(ShapeTextOrientation.VERTICAL_FAR_EAST);
dataLabels.setRotation(-45);

// Change orientation and rotation of the first data label.
dataLabels.get(0).setOrientation(ShapeTextOrientation.HORIZONTAL);
dataLabels.get(0).setRotation(45);

doc.save(getArtifactsDir() + "Charts.LabelOrientationRotation.docx");

getRotation/setRotation

public int getRotation() / public void setRotation(int value)
Gets or sets the rotation of the label in degrees.

The range of acceptable values is from -180 to 180 inclusive. The default value is 0.

If the Orientation value is ShapeTextOrientation.HORIZONTAL, the label shape, if it exists, is rotated along with the label text. Otherwise, only the label text is rotated.

Example:

Shows how to change orientation and rotation for data labels.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.insertChart(ChartType.COLUMN, 432.0, 252.0);
ChartSeries series = shape.getChart().getSeries().get(0);
ChartDataLabelCollection dataLabels = series.getDataLabels();

// Show data labels.
series.hasDataLabels(true);
dataLabels.setShowValue(true);
dataLabels.setShowCategoryName(true);

// Define data label shape.
dataLabels.getFormat().setShapeType(ChartShapeType.UP_ARROW);
dataLabels.getFormat().getStroke().getFill().solid(Color.blue);

// Set data label orientation and rotation for the entire series.
dataLabels.setOrientation(ShapeTextOrientation.VERTICAL_FAR_EAST);
dataLabels.setRotation(-45);

// Change orientation and rotation of the first data label.
dataLabels.get(0).setOrientation(ShapeTextOrientation.HORIZONTAL);
dataLabels.get(0).setRotation(45);

doc.save(getArtifactsDir() + "Charts.LabelOrientationRotation.docx");

getSeparator/setSeparator

public java.lang.String getSeparator() / public void setSeparator(java.lang.String value)
Gets or sets string separator used for the data labels on a chart. The default is a comma, except for pie charts showing only category name and percentage, when a line break shall be used instead.

Example:

Shows how to apply labels to data points in a line chart.
public void dataLabels() throws Exception {
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    Shape chartShape = builder.insertChart(ChartType.LINE, 400.0, 300.0);
    Chart chart = chartShape.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());

    // 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.
    for (ChartSeries series : chart.getSeries()) {
        applyDataLabels(series, 4, "000.0", ", ");
        Assert.assertEquals(series.getDataLabels().getCount(), 4);
    }

    // Change the separator string for every data label in a series.
    Iterator<ChartDataLabel> enumerator = chart.getSeries().get(0).getDataLabels().iterator();
    while (enumerator.hasNext()) {
        Assert.assertEquals(enumerator.next().getSeparator(), ", ");
        enumerator.next().setSeparator(" & ");
    }

    // For a cleaner looking graph, we can remove data labels individually.
    chart.getSeries().get(1).getDataLabels().get(2).clearFormat();

    // We can also strip an entire series of its data labels at once.
    chart.getSeries().get(2).getDataLabels().clearFormat();

    doc.save(getArtifactsDir() + "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);

        Assert.assertFalse(series.getDataLabels().get(i).isVisible());

        series.getDataLabels().get(i).setShowCategoryName(true);
        series.getDataLabels().get(i).setShowSeriesName(true);
        series.getDataLabels().get(i).setShowValue(true);
        series.getDataLabels().get(i).setShowLeaderLines(true);
        series.getDataLabels().get(i).setShowLegendKey(true);
        series.getDataLabels().get(i).setShowPercentage(false);
        series.getDataLabels().get(i).isHidden(false);
        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());

        series.getDataLabels().get(i).getNumberFormat().setFormatCode(numberFormat);
        series.getDataLabels().get(i).setSeparator(separator);

        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());
        Assert.assertTrue(series.getDataLabels().get(i).isVisible());
        Assert.assertFalse(series.getDataLabels().get(i).isHidden());
    }
}

getShowBubbleSize/setShowBubbleSize

public boolean getShowBubbleSize() / public void setShowBubbleSize(boolean value)
Allows to specify if bubble size is to be displayed for the data labels on a chart. Applies only to Bubble charts. Default value is false.

Example:

Shows how to use 3D effects with bubble charts.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

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

Assert.assertEquals(1, chart.getSeries().getCount());
Assert.assertEquals("Y-Values", chart.getSeries().get(0).getName());
Assert.assertTrue(chart.getSeries().get(0).getBubble3D());

// Apply a data label to each bubble that displays its diameter.
for (int i = 0; i < 3; i++) {
    chart.getSeries().get(0).hasDataLabels(true);
    ChartDataLabel cdl = chart.getSeries().get(0).getDataLabels().get(i);
    chart.getSeries().get(0).getDataLabels().get(i).getFont().setSize(12.0);
    cdl.setShowBubbleSize(true);
}

doc.save(getArtifactsDir() + "Charts.Bubble3D.docx");

getShowCategoryName/setShowCategoryName

public boolean getShowCategoryName() / public void setShowCategoryName(boolean value)
Allows to specify if category name is to be displayed for the data labels on a chart. Default value is false.

Example:

Shows how to apply labels to data points in a line chart.
public void dataLabels() throws Exception {
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    Shape chartShape = builder.insertChart(ChartType.LINE, 400.0, 300.0);
    Chart chart = chartShape.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());

    // 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.
    for (ChartSeries series : chart.getSeries()) {
        applyDataLabels(series, 4, "000.0", ", ");
        Assert.assertEquals(series.getDataLabels().getCount(), 4);
    }

    // Change the separator string for every data label in a series.
    Iterator<ChartDataLabel> enumerator = chart.getSeries().get(0).getDataLabels().iterator();
    while (enumerator.hasNext()) {
        Assert.assertEquals(enumerator.next().getSeparator(), ", ");
        enumerator.next().setSeparator(" & ");
    }

    // For a cleaner looking graph, we can remove data labels individually.
    chart.getSeries().get(1).getDataLabels().get(2).clearFormat();

    // We can also strip an entire series of its data labels at once.
    chart.getSeries().get(2).getDataLabels().clearFormat();

    doc.save(getArtifactsDir() + "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);

        Assert.assertFalse(series.getDataLabels().get(i).isVisible());

        series.getDataLabels().get(i).setShowCategoryName(true);
        series.getDataLabels().get(i).setShowSeriesName(true);
        series.getDataLabels().get(i).setShowValue(true);
        series.getDataLabels().get(i).setShowLeaderLines(true);
        series.getDataLabels().get(i).setShowLegendKey(true);
        series.getDataLabels().get(i).setShowPercentage(false);
        series.getDataLabels().get(i).isHidden(false);
        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());

        series.getDataLabels().get(i).getNumberFormat().setFormatCode(numberFormat);
        series.getDataLabels().get(i).setSeparator(separator);

        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());
        Assert.assertTrue(series.getDataLabels().get(i).isVisible());
        Assert.assertFalse(series.getDataLabels().get(i).isHidden());
    }
}

getShowDataLabelsRange/setShowDataLabelsRange

public boolean getShowDataLabelsRange() / public void setShowDataLabelsRange(boolean value)
Allows to specify if values from data labels range to be displayed in the data labels. Default value is false.

Example:

Shows how to apply labels to data points in a line chart.
public void dataLabels() throws Exception {
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    Shape chartShape = builder.insertChart(ChartType.LINE, 400.0, 300.0);
    Chart chart = chartShape.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());

    // 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.
    for (ChartSeries series : chart.getSeries()) {
        applyDataLabels(series, 4, "000.0", ", ");
        Assert.assertEquals(series.getDataLabels().getCount(), 4);
    }

    // Change the separator string for every data label in a series.
    Iterator<ChartDataLabel> enumerator = chart.getSeries().get(0).getDataLabels().iterator();
    while (enumerator.hasNext()) {
        Assert.assertEquals(enumerator.next().getSeparator(), ", ");
        enumerator.next().setSeparator(" & ");
    }

    // For a cleaner looking graph, we can remove data labels individually.
    chart.getSeries().get(1).getDataLabels().get(2).clearFormat();

    // We can also strip an entire series of its data labels at once.
    chart.getSeries().get(2).getDataLabels().clearFormat();

    doc.save(getArtifactsDir() + "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);

        Assert.assertFalse(series.getDataLabels().get(i).isVisible());

        series.getDataLabels().get(i).setShowCategoryName(true);
        series.getDataLabels().get(i).setShowSeriesName(true);
        series.getDataLabels().get(i).setShowValue(true);
        series.getDataLabels().get(i).setShowLeaderLines(true);
        series.getDataLabels().get(i).setShowLegendKey(true);
        series.getDataLabels().get(i).setShowPercentage(false);
        series.getDataLabels().get(i).isHidden(false);
        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());

        series.getDataLabels().get(i).getNumberFormat().setFormatCode(numberFormat);
        series.getDataLabels().get(i).setSeparator(separator);

        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());
        Assert.assertTrue(series.getDataLabels().get(i).isVisible());
        Assert.assertFalse(series.getDataLabels().get(i).isHidden());
    }
}

getShowLeaderLines/setShowLeaderLines

public boolean getShowLeaderLines() / public void setShowLeaderLines(boolean value)
Allows to specify if data label leader lines need be shown. Default value is false. Applies to Pie charts only. Leader lines create a visual connection between a data label and its corresponding data point.

Example:

Shows how to apply labels to data points in a line chart.
public void dataLabels() throws Exception {
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    Shape chartShape = builder.insertChart(ChartType.LINE, 400.0, 300.0);
    Chart chart = chartShape.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());

    // 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.
    for (ChartSeries series : chart.getSeries()) {
        applyDataLabels(series, 4, "000.0", ", ");
        Assert.assertEquals(series.getDataLabels().getCount(), 4);
    }

    // Change the separator string for every data label in a series.
    Iterator<ChartDataLabel> enumerator = chart.getSeries().get(0).getDataLabels().iterator();
    while (enumerator.hasNext()) {
        Assert.assertEquals(enumerator.next().getSeparator(), ", ");
        enumerator.next().setSeparator(" & ");
    }

    // For a cleaner looking graph, we can remove data labels individually.
    chart.getSeries().get(1).getDataLabels().get(2).clearFormat();

    // We can also strip an entire series of its data labels at once.
    chart.getSeries().get(2).getDataLabels().clearFormat();

    doc.save(getArtifactsDir() + "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);

        Assert.assertFalse(series.getDataLabels().get(i).isVisible());

        series.getDataLabels().get(i).setShowCategoryName(true);
        series.getDataLabels().get(i).setShowSeriesName(true);
        series.getDataLabels().get(i).setShowValue(true);
        series.getDataLabels().get(i).setShowLeaderLines(true);
        series.getDataLabels().get(i).setShowLegendKey(true);
        series.getDataLabels().get(i).setShowPercentage(false);
        series.getDataLabels().get(i).isHidden(false);
        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());

        series.getDataLabels().get(i).getNumberFormat().setFormatCode(numberFormat);
        series.getDataLabels().get(i).setSeparator(separator);

        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());
        Assert.assertTrue(series.getDataLabels().get(i).isVisible());
        Assert.assertFalse(series.getDataLabels().get(i).isHidden());
    }
}

getShowLegendKey/setShowLegendKey

public boolean getShowLegendKey() / public void setShowLegendKey(boolean value)
Allows to specify if legend key is to be displayed for the data labels on a chart. Default value is false.

Example:

Shows how to apply labels to data points in a line chart.
public void dataLabels() throws Exception {
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    Shape chartShape = builder.insertChart(ChartType.LINE, 400.0, 300.0);
    Chart chart = chartShape.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());

    // 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.
    for (ChartSeries series : chart.getSeries()) {
        applyDataLabels(series, 4, "000.0", ", ");
        Assert.assertEquals(series.getDataLabels().getCount(), 4);
    }

    // Change the separator string for every data label in a series.
    Iterator<ChartDataLabel> enumerator = chart.getSeries().get(0).getDataLabels().iterator();
    while (enumerator.hasNext()) {
        Assert.assertEquals(enumerator.next().getSeparator(), ", ");
        enumerator.next().setSeparator(" & ");
    }

    // For a cleaner looking graph, we can remove data labels individually.
    chart.getSeries().get(1).getDataLabels().get(2).clearFormat();

    // We can also strip an entire series of its data labels at once.
    chart.getSeries().get(2).getDataLabels().clearFormat();

    doc.save(getArtifactsDir() + "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);

        Assert.assertFalse(series.getDataLabels().get(i).isVisible());

        series.getDataLabels().get(i).setShowCategoryName(true);
        series.getDataLabels().get(i).setShowSeriesName(true);
        series.getDataLabels().get(i).setShowValue(true);
        series.getDataLabels().get(i).setShowLeaderLines(true);
        series.getDataLabels().get(i).setShowLegendKey(true);
        series.getDataLabels().get(i).setShowPercentage(false);
        series.getDataLabels().get(i).isHidden(false);
        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());

        series.getDataLabels().get(i).getNumberFormat().setFormatCode(numberFormat);
        series.getDataLabels().get(i).setSeparator(separator);

        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());
        Assert.assertTrue(series.getDataLabels().get(i).isVisible());
        Assert.assertFalse(series.getDataLabels().get(i).isHidden());
    }
}

getShowPercentage/setShowPercentage

public boolean getShowPercentage() / public void setShowPercentage(boolean value)
Allows to specify if percentage value is to be displayed for the data labels on a chart. Default value is false.

Example:

Shows how to apply labels to data points in a line chart.
public void dataLabels() throws Exception {
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    Shape chartShape = builder.insertChart(ChartType.LINE, 400.0, 300.0);
    Chart chart = chartShape.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());

    // 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.
    for (ChartSeries series : chart.getSeries()) {
        applyDataLabels(series, 4, "000.0", ", ");
        Assert.assertEquals(series.getDataLabels().getCount(), 4);
    }

    // Change the separator string for every data label in a series.
    Iterator<ChartDataLabel> enumerator = chart.getSeries().get(0).getDataLabels().iterator();
    while (enumerator.hasNext()) {
        Assert.assertEquals(enumerator.next().getSeparator(), ", ");
        enumerator.next().setSeparator(" & ");
    }

    // For a cleaner looking graph, we can remove data labels individually.
    chart.getSeries().get(1).getDataLabels().get(2).clearFormat();

    // We can also strip an entire series of its data labels at once.
    chart.getSeries().get(2).getDataLabels().clearFormat();

    doc.save(getArtifactsDir() + "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);

        Assert.assertFalse(series.getDataLabels().get(i).isVisible());

        series.getDataLabels().get(i).setShowCategoryName(true);
        series.getDataLabels().get(i).setShowSeriesName(true);
        series.getDataLabels().get(i).setShowValue(true);
        series.getDataLabels().get(i).setShowLeaderLines(true);
        series.getDataLabels().get(i).setShowLegendKey(true);
        series.getDataLabels().get(i).setShowPercentage(false);
        series.getDataLabels().get(i).isHidden(false);
        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());

        series.getDataLabels().get(i).getNumberFormat().setFormatCode(numberFormat);
        series.getDataLabels().get(i).setSeparator(separator);

        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());
        Assert.assertTrue(series.getDataLabels().get(i).isVisible());
        Assert.assertFalse(series.getDataLabels().get(i).isHidden());
    }
}

getShowSeriesName/setShowSeriesName

public boolean getShowSeriesName() / public void setShowSeriesName(boolean value)
Returns or sets a Boolean to indicate the series name display behavior for the data labels on a chart. true to show the series name; false to hide. By default false.

Example:

Shows how to apply labels to data points in a line chart.
public void dataLabels() throws Exception {
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    Shape chartShape = builder.insertChart(ChartType.LINE, 400.0, 300.0);
    Chart chart = chartShape.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());

    // 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.
    for (ChartSeries series : chart.getSeries()) {
        applyDataLabels(series, 4, "000.0", ", ");
        Assert.assertEquals(series.getDataLabels().getCount(), 4);
    }

    // Change the separator string for every data label in a series.
    Iterator<ChartDataLabel> enumerator = chart.getSeries().get(0).getDataLabels().iterator();
    while (enumerator.hasNext()) {
        Assert.assertEquals(enumerator.next().getSeparator(), ", ");
        enumerator.next().setSeparator(" & ");
    }

    // For a cleaner looking graph, we can remove data labels individually.
    chart.getSeries().get(1).getDataLabels().get(2).clearFormat();

    // We can also strip an entire series of its data labels at once.
    chart.getSeries().get(2).getDataLabels().clearFormat();

    doc.save(getArtifactsDir() + "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);

        Assert.assertFalse(series.getDataLabels().get(i).isVisible());

        series.getDataLabels().get(i).setShowCategoryName(true);
        series.getDataLabels().get(i).setShowSeriesName(true);
        series.getDataLabels().get(i).setShowValue(true);
        series.getDataLabels().get(i).setShowLeaderLines(true);
        series.getDataLabels().get(i).setShowLegendKey(true);
        series.getDataLabels().get(i).setShowPercentage(false);
        series.getDataLabels().get(i).isHidden(false);
        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());

        series.getDataLabels().get(i).getNumberFormat().setFormatCode(numberFormat);
        series.getDataLabels().get(i).setSeparator(separator);

        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());
        Assert.assertTrue(series.getDataLabels().get(i).isVisible());
        Assert.assertFalse(series.getDataLabels().get(i).isHidden());
    }
}

getShowValue/setShowValue

public boolean getShowValue() / public void setShowValue(boolean value)
Allows to specify if values are to be displayed in the data labels. Default value is false.

Example:

Shows how to apply labels to data points in a line chart.
public void dataLabels() throws Exception {
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    Shape chartShape = builder.insertChart(ChartType.LINE, 400.0, 300.0);
    Chart chart = chartShape.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());

    // 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.
    for (ChartSeries series : chart.getSeries()) {
        applyDataLabels(series, 4, "000.0", ", ");
        Assert.assertEquals(series.getDataLabels().getCount(), 4);
    }

    // Change the separator string for every data label in a series.
    Iterator<ChartDataLabel> enumerator = chart.getSeries().get(0).getDataLabels().iterator();
    while (enumerator.hasNext()) {
        Assert.assertEquals(enumerator.next().getSeparator(), ", ");
        enumerator.next().setSeparator(" & ");
    }

    // For a cleaner looking graph, we can remove data labels individually.
    chart.getSeries().get(1).getDataLabels().get(2).clearFormat();

    // We can also strip an entire series of its data labels at once.
    chart.getSeries().get(2).getDataLabels().clearFormat();

    doc.save(getArtifactsDir() + "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);

        Assert.assertFalse(series.getDataLabels().get(i).isVisible());

        series.getDataLabels().get(i).setShowCategoryName(true);
        series.getDataLabels().get(i).setShowSeriesName(true);
        series.getDataLabels().get(i).setShowValue(true);
        series.getDataLabels().get(i).setShowLeaderLines(true);
        series.getDataLabels().get(i).setShowLegendKey(true);
        series.getDataLabels().get(i).setShowPercentage(false);
        series.getDataLabels().get(i).isHidden(false);
        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());

        series.getDataLabels().get(i).getNumberFormat().setFormatCode(numberFormat);
        series.getDataLabels().get(i).setSeparator(separator);

        Assert.assertFalse(series.getDataLabels().get(i).getShowDataLabelsRange());
        Assert.assertTrue(series.getDataLabels().get(i).isVisible());
        Assert.assertFalse(series.getDataLabels().get(i).isHidden());
    }
}

Method Detail

clearFormat

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

See Also:
          Aspose.Words Documentation - the home page for the Aspose.Words Product Documentation.
          Aspose.Words Support Forum - our preferred method of support.