public class ChartDataLabelCollection
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 a number of 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.Stringvalue) | |
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(booleanvalue) | |
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(booleanvalue) | |
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(booleanvalue) | |
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(booleanvalue) | |
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(booleanvalue) | |
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(booleanvalue) | |
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(booleanvalue) | |
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(booleanvalue) | |
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) | |
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 a number of 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()); } }
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");
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); // Add a bubble chart, and then clear its demo data series to start with a clean chart. Chart chart = builder.insertChart(ChartType.BUBBLE, 500.0, 300.0).getChart(); 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); // Add a pie chart, and then clear its demo data series to start with a clean chart. Chart chart = builder.insertChart(ChartType.PIE, 500.0, 300.0).getChart(); 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");
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); // Add a bubble chart, and then clear its demo data series to start with a clean chart. Chart chart = builder.insertChart(ChartType.BUBBLE, 500.0, 300.0).getChart(); 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");
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); // Add a bubble chart, and then clear its demo data series to start with a clean chart. Chart chart = builder.insertChart(ChartType.BUBBLE, 500.0, 300.0).getChart(); 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");
public boolean getShowDataLabelsRange() / public void setShowDataLabelsRange(boolean value)
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); // Add a pie chart, and then clear its demo data series to start with a clean chart. Chart chart = builder.insertChart(ChartType.PIE, 500.0, 300.0).getChart(); 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");
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); // Add a pie chart, and then clear its demo data series to start with a clean chart. Chart chart = builder.insertChart(ChartType.PIE, 500.0, 300.0).getChart(); 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");
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); // Add a pie chart, and then clear its demo data series to start with a clean chart. Chart chart = builder.insertChart(ChartType.PIE, 500.0, 300.0).getChart(); 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");
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); // Add a bubble chart, and then clear its demo data series to start with a clean chart. Chart chart = builder.insertChart(ChartType.BUBBLE, 500.0, 300.0).getChart(); 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");
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); // Add a pie chart, and then clear its demo data series to start with a clean chart. Chart chart = builder.insertChart(ChartType.PIE, 500.0, 300.0).getChart(); 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");
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 a number of 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()); } }
@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 a number of 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()); } }
@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 a number of 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()); } }
public void clearFormat()
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 a number of 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()); } }
@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 a number of 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()); } }