java.lang.Objectcom.aspose.words.ChartDataLabelCollection
public class ChartDataLabelCollection
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 |
||
ChartNumberFormat | getNumberFormat() | |
Gets an |
||
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 | ||
---|---|---|
ChartDataLabel | add(int index) | |
|
||
void | clear() | |
|
||
void | clearFormat() | |
Clears format of all |
||
java.util.Iterator<ChartDataLabel> | iterator() | |
Returns an enumerator object. | ||
void | removeAt(int index) | |
|
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()); } }
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\""); doc.save(getArtifactsDir() + "Charts.DataLabelNumberFormat.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) |
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) |
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) |
getShowLeaderLines/setShowLeaderLines | |
public boolean getShowLeaderLines() / public void setShowLeaderLines(boolean value) |
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) |
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) |
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) |
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) |
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 |
---|
add | |
@Deprecated public ChartDataLabel add(int index) |
index
- Target data label 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()); } }
clear | |
@Deprecated public void clear() |
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()); } }
clearFormat | |
public void clearFormat() |
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()); } }
removeAt | |
@Deprecated public void removeAt(int index) |
index
- The zero-based index of the chart data label to clear format.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()); } }