java.lang.Object
com.aspose.words.ChartDataLabelCollection
public class ChartDataLabelCollection
To learn more, visit the Working with Charts documentation article. Example:
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 | ||
|---|---|---|
int | getCount() | |
|
Returns the number of |
||
Font | getFont() | |
| Provides access to the font formatting of the data labels of the entire series. | ||
ChartFormat | getFormat() | |
| Provides access to fill and line formatting of the data labels. | ||
ChartNumberFormat | getNumberFormat() | |
|
Gets an |
||
int | getOrientation() | |
void | setOrientation(int value) | |
| Gets or sets the text orientation of the data labels of the entire series. The value of the property is ShapeTextOrientation integer constant. | ||
int | getRotation() | |
void | setRotation(int value) | |
| Gets or sets the rotation of the data labels of the entire series in degrees. | ||
java.lang.String | getSeparator() | |
void | setSeparator(java.lang.String value) | |
| Gets or sets string separator used for the data labels of the entire series. The default is a comma, except for pie charts showing only category name and percentage, when a line break shall be used instead. | ||
boolean | getShowBubbleSize() | |
void | setShowBubbleSize(boolean value) | |
Allows to specify whether bubble size is to be displayed for the data labels of the entire series.
Applies only to Bubble charts.
Default value is false.
|
||
boolean | getShowCategoryName() | |
void | setShowCategoryName(boolean value) | |
Allows to specify whether category name is to be displayed for the data labels of the entire series.
Default value is false.
|
||
boolean | getShowDataLabelsRange() | |
void | setShowDataLabelsRange(boolean value) | |
Allows to specify whether values from data labels range to be displayed in the data labels of the entire series.
Default value is false.
|
||
boolean | getShowLeaderLines() | |
void | setShowLeaderLines(boolean value) | |
Allows to specify whether data label leader lines need be shown for the data labels of the entire series.
Default value is false.
|
||
boolean | getShowLegendKey() | |
void | setShowLegendKey(boolean value) | |
Allows to specify whether legend key is to be displayed for the data labels of the entire series.
Default value is false.
|
||
boolean | getShowPercentage() | |
void | setShowPercentage(boolean value) | |
Allows to specify whether percentage value is to be displayed for the data labels of the entire series.
Default value is false. Applies only to Pie charts.
|
||
boolean | getShowSeriesName() | |
void | setShowSeriesName(boolean value) | |
Returns or sets a Boolean to indicate the series name display behavior for the data labels of the entire series.
true to show the series name; false to hide. By default false.
|
||
boolean | getShowValue() | |
void | setShowValue(boolean value) | |
Allows to specify whether values are to be displayed in the data labels of the entire series.
Default value is false.
|
||
ChartDataLabel | get(int index) | |
|
Returns |
||
| Method Summary | ||
|---|---|---|
void | clearFormat() | |
|
Clears format of all |
||
java.util.Iterator<ChartDataLabel> | iterator() | |
| Returns an enumerator object. | ||
| Property Getters/Setters Detail |
|---|
getCount | |
public int getCount() | |
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());
}
}getFont | |
public Font getFont() | |
Example:
Shows how to enable and configure data labels for a chart series.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a line chart, then clear its demo data series to start with a clean chart,
// and then set a title.
Shape shape = builder.insertChart(ChartType.LINE, 500.0, 300.0);
Chart chart = shape.getChart();
chart.getSeries().clear();
chart.getTitle().setText("Monthly sales report");
// Insert a custom chart series with months as categories for the X-axis,
// and respective decimal amounts for the Y-axis.
ChartSeries series = chart.getSeries().add("Revenue",
new String[]{"January", "February", "March"},
new double[]{25.611d, 21.439d, 33.750d});
// Enable data labels, and then apply a custom number format for values displayed in the data labels.
// This format will treat displayed decimal values as millions of US Dollars.
series.hasDataLabels(true);
ChartDataLabelCollection dataLabels = series.getDataLabels();
dataLabels.setShowValue(true);
dataLabels.getNumberFormat().setFormatCode("\"US$\" #,##0.000\"M\"");
dataLabels.getFont().setSize(12.0);
doc.save(getArtifactsDir() + "Charts.DataLabelNumberFormat.docx");getFormat | |
public ChartFormat getFormat() | |
Example:
Shows how to set fill, stroke and callout formatting for chart data labels.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Shape shape = builder.insertChart(ChartType.COLUMN, 432.0, 252.0);
Chart chart = shape.getChart();
// Delete default generated series.
chart.getSeries().clear();
// Add new series.
ChartSeries series = chart.getSeries().add("AW Series 1",
new String[] { "AW Category 1", "AW Category 2", "AW Category 3", "AW Category 4" },
new double[] { 100.0, 200.0, 300.0, 400.0 });
// Show data labels.
series.hasDataLabels(true);
series.getDataLabels().setShowValue(true);
// Format data labels as callouts.
ChartFormat format = series.getDataLabels().getFormat();
format.setShapeType(ChartShapeType.WEDGE_RECT_CALLOUT);
format.getStroke().setColor(Color.lightGray);
format.getFill().solid(Color.GREEN);
series.getDataLabels().getFont().setColor(Color.YELLOW);
// Change fill and stroke of an individual data label.
ChartFormat labelFormat = series.getDataLabels().get(0).getFormat();
labelFormat.getStroke().setColor(Color.BLUE);
labelFormat.getFill().solid(Color.BLUE);
doc.save(getArtifactsDir() + "Charts.FormatDataLables.docx");getNumberFormat | |
public ChartNumberFormat getNumberFormat() | |
Example:
Shows how to enable and configure data labels for a chart series.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a line chart, then clear its demo data series to start with a clean chart,
// and then set a title.
Shape shape = builder.insertChart(ChartType.LINE, 500.0, 300.0);
Chart chart = shape.getChart();
chart.getSeries().clear();
chart.getTitle().setText("Monthly sales report");
// Insert a custom chart series with months as categories for the X-axis,
// and respective decimal amounts for the Y-axis.
ChartSeries series = chart.getSeries().add("Revenue",
new String[]{"January", "February", "March"},
new double[]{25.611d, 21.439d, 33.750d});
// Enable data labels, and then apply a custom number format for values displayed in the data labels.
// This format will treat displayed decimal values as millions of US Dollars.
series.hasDataLabels(true);
ChartDataLabelCollection dataLabels = series.getDataLabels();
dataLabels.setShowValue(true);
dataLabels.getNumberFormat().setFormatCode("\"US$\" #,##0.000\"M\"");
dataLabels.getFont().setSize(12.0);
doc.save(getArtifactsDir() + "Charts.DataLabelNumberFormat.docx");getOrientation/setOrientation | |
public int getOrientation() / public void setOrientation(int value) | |
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) | |
The range of acceptable values is from -180 to 180 inclusive. The default value is 0.
If the
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) | |
Example:
Shows how to work with data labels of a bubble chart.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Chart chart = builder.insertChart(ChartType.BUBBLE, 500.0, 300.0).getChart();
// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();
// Add a custom series with X/Y coordinates and diameter of each of the bubbles.
ChartSeries series = chart.getSeries().add("Aspose Test Series",
new double[]{2.9, 3.5, 1.1, 4.0, 4.0},
new double[]{1.9, 8.5, 2.1, 6.0, 1.5},
new double[]{9.0, 4.5, 2.5, 8.0, 5.0});
// Enable data labels, and then modify their appearance.
series.hasDataLabels(true);
ChartDataLabelCollection dataLabels = series.getDataLabels();
dataLabels.setShowBubbleSize(true);
dataLabels.setShowCategoryName(true);
dataLabels.setShowSeriesName(true);
dataLabels.setSeparator(" & ");
doc.save(getArtifactsDir() + "Charts.DataLabelsBubbleChart.docx");Example:
Shows how to work with data labels of a pie chart.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Chart chart = builder.insertChart(ChartType.PIE, 500.0, 300.0).getChart();
// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();
// Insert a custom chart series with a category name for each of the sectors, and their frequency table.
ChartSeries series = chart.getSeries().add("Aspose Test Series",
new String[]{"Word", "PDF", "Excel"},
new double[]{2.7, 3.2, 0.8});
// Enable data labels that will display both percentage and frequency of each sector, and modify their appearance.
series.hasDataLabels(true);
ChartDataLabelCollection dataLabels = series.getDataLabels();
dataLabels.setShowLeaderLines(true);
dataLabels.setShowLegendKey(true);
dataLabels.setShowPercentage(true);
dataLabels.setShowValue(true);
dataLabels.setSeparator("; ");
doc.save(getArtifactsDir() + "Charts.DataLabelsPieChart.docx");getShowBubbleSize/setShowBubbleSize | |
public boolean getShowBubbleSize() / public void setShowBubbleSize(boolean value) | |
false.
Example:
Shows how to work with data labels of a bubble chart.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Chart chart = builder.insertChart(ChartType.BUBBLE, 500.0, 300.0).getChart();
// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();
// Add a custom series with X/Y coordinates and diameter of each of the bubbles.
ChartSeries series = chart.getSeries().add("Aspose Test Series",
new double[]{2.9, 3.5, 1.1, 4.0, 4.0},
new double[]{1.9, 8.5, 2.1, 6.0, 1.5},
new double[]{9.0, 4.5, 2.5, 8.0, 5.0});
// Enable data labels, and then modify their appearance.
series.hasDataLabels(true);
ChartDataLabelCollection dataLabels = series.getDataLabels();
dataLabels.setShowBubbleSize(true);
dataLabels.setShowCategoryName(true);
dataLabels.setShowSeriesName(true);
dataLabels.setSeparator(" & ");
doc.save(getArtifactsDir() + "Charts.DataLabelsBubbleChart.docx");getShowCategoryName/setShowCategoryName | |
public boolean getShowCategoryName() / public void setShowCategoryName(boolean value) | |
false.
Example:
Shows how to work with data labels of a bubble chart.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Chart chart = builder.insertChart(ChartType.BUBBLE, 500.0, 300.0).getChart();
// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();
// Add a custom series with X/Y coordinates and diameter of each of the bubbles.
ChartSeries series = chart.getSeries().add("Aspose Test Series",
new double[]{2.9, 3.5, 1.1, 4.0, 4.0},
new double[]{1.9, 8.5, 2.1, 6.0, 1.5},
new double[]{9.0, 4.5, 2.5, 8.0, 5.0});
// Enable data labels, and then modify their appearance.
series.hasDataLabels(true);
ChartDataLabelCollection dataLabels = series.getDataLabels();
dataLabels.setShowBubbleSize(true);
dataLabels.setShowCategoryName(true);
dataLabels.setShowSeriesName(true);
dataLabels.setSeparator(" & ");
doc.save(getArtifactsDir() + "Charts.DataLabelsBubbleChart.docx");getShowDataLabelsRange/setShowDataLabelsRange | |
public boolean getShowDataLabelsRange() / public void setShowDataLabelsRange(boolean value) | |
false.
getShowLeaderLines/setShowLeaderLines | |
public boolean getShowLeaderLines() / public void setShowLeaderLines(boolean value) | |
false.
Applies to Pie charts only. Leader lines create a visual connection between a data label and its corresponding data point.
Value defined for this property can be overridden for an individual data label with using the
Example:
Shows how to work with data labels of a pie chart.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Chart chart = builder.insertChart(ChartType.PIE, 500.0, 300.0).getChart();
// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();
// Insert a custom chart series with a category name for each of the sectors, and their frequency table.
ChartSeries series = chart.getSeries().add("Aspose Test Series",
new String[]{"Word", "PDF", "Excel"},
new double[]{2.7, 3.2, 0.8});
// Enable data labels that will display both percentage and frequency of each sector, and modify their appearance.
series.hasDataLabels(true);
ChartDataLabelCollection dataLabels = series.getDataLabels();
dataLabels.setShowLeaderLines(true);
dataLabels.setShowLegendKey(true);
dataLabels.setShowPercentage(true);
dataLabels.setShowValue(true);
dataLabels.setSeparator("; ");
doc.save(getArtifactsDir() + "Charts.DataLabelsPieChart.docx");getShowLegendKey/setShowLegendKey | |
public boolean getShowLegendKey() / public void setShowLegendKey(boolean value) | |
false.
Example:
Shows how to work with data labels of a pie chart.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Chart chart = builder.insertChart(ChartType.PIE, 500.0, 300.0).getChart();
// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();
// Insert a custom chart series with a category name for each of the sectors, and their frequency table.
ChartSeries series = chart.getSeries().add("Aspose Test Series",
new String[]{"Word", "PDF", "Excel"},
new double[]{2.7, 3.2, 0.8});
// Enable data labels that will display both percentage and frequency of each sector, and modify their appearance.
series.hasDataLabels(true);
ChartDataLabelCollection dataLabels = series.getDataLabels();
dataLabels.setShowLeaderLines(true);
dataLabels.setShowLegendKey(true);
dataLabels.setShowPercentage(true);
dataLabels.setShowValue(true);
dataLabels.setSeparator("; ");
doc.save(getArtifactsDir() + "Charts.DataLabelsPieChart.docx");getShowPercentage/setShowPercentage | |
public boolean getShowPercentage() / public void setShowPercentage(boolean value) | |
false. Applies only to Pie charts.
Example:
Shows how to work with data labels of a pie chart.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Chart chart = builder.insertChart(ChartType.PIE, 500.0, 300.0).getChart();
// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();
// Insert a custom chart series with a category name for each of the sectors, and their frequency table.
ChartSeries series = chart.getSeries().add("Aspose Test Series",
new String[]{"Word", "PDF", "Excel"},
new double[]{2.7, 3.2, 0.8});
// Enable data labels that will display both percentage and frequency of each sector, and modify their appearance.
series.hasDataLabels(true);
ChartDataLabelCollection dataLabels = series.getDataLabels();
dataLabels.setShowLeaderLines(true);
dataLabels.setShowLegendKey(true);
dataLabels.setShowPercentage(true);
dataLabels.setShowValue(true);
dataLabels.setSeparator("; ");
doc.save(getArtifactsDir() + "Charts.DataLabelsPieChart.docx");getShowSeriesName/setShowSeriesName | |
public boolean getShowSeriesName() / public void setShowSeriesName(boolean value) | |
true to show the series name; false to hide. By default false.
Example:
Shows how to work with data labels of a bubble chart.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Chart chart = builder.insertChart(ChartType.BUBBLE, 500.0, 300.0).getChart();
// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();
// Add a custom series with X/Y coordinates and diameter of each of the bubbles.
ChartSeries series = chart.getSeries().add("Aspose Test Series",
new double[]{2.9, 3.5, 1.1, 4.0, 4.0},
new double[]{1.9, 8.5, 2.1, 6.0, 1.5},
new double[]{9.0, 4.5, 2.5, 8.0, 5.0});
// Enable data labels, and then modify their appearance.
series.hasDataLabels(true);
ChartDataLabelCollection dataLabels = series.getDataLabels();
dataLabels.setShowBubbleSize(true);
dataLabels.setShowCategoryName(true);
dataLabels.setShowSeriesName(true);
dataLabels.setSeparator(" & ");
doc.save(getArtifactsDir() + "Charts.DataLabelsBubbleChart.docx");getShowValue/setShowValue | |
public boolean getShowValue() / public void setShowValue(boolean value) | |
false.
Example:
Shows how to work with data labels of a pie chart.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Chart chart = builder.insertChart(ChartType.PIE, 500.0, 300.0).getChart();
// Clear the chart's demo data series to start with a clean chart.
chart.getSeries().clear();
// Insert a custom chart series with a category name for each of the sectors, and their frequency table.
ChartSeries series = chart.getSeries().add("Aspose Test Series",
new String[]{"Word", "PDF", "Excel"},
new double[]{2.7, 3.2, 0.8});
// Enable data labels that will display both percentage and frequency of each sector, and modify their appearance.
series.hasDataLabels(true);
ChartDataLabelCollection dataLabels = series.getDataLabels();
dataLabels.setShowLeaderLines(true);
dataLabels.setShowLegendKey(true);
dataLabels.setShowPercentage(true);
dataLabels.setShowValue(true);
dataLabels.setSeparator("; ");
doc.save(getArtifactsDir() + "Charts.DataLabelsPieChart.docx");get | |
public ChartDataLabel get(int index) | |
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() | |
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());
}
}iterator | |
public java.util.Iterator<ChartDataLabel> iterator() | |
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());
}
}