Adding Custom Labels to Data Points in the Series of the Chart

Adding Custom Labels to Data Points in the Series of the Chart

The following code creates Scatter Chart Connected By Lines With Data Markers and then adds Custom Labels to the Data Points in the Series of the Chart. Each custom label shows Series Name and Point Name. You can use any other text instead of it. After the execution of the code, the following Excel file is created. As you can see inside the Chart, each DataPoint has Custom Label set.

todo:image_alt_text

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getDataDir(AddCustomLabelsToDataPoints.class);
Workbook workbook = new Workbook(FileFormatType.XLSX);
Worksheet sheet = workbook.getWorksheets().get(0);
// Put data
sheet.getCells().get(0, 0).putValue(1);
sheet.getCells().get(0, 1).putValue(2);
sheet.getCells().get(0, 2).putValue(3);
sheet.getCells().get(1, 0).putValue(4);
sheet.getCells().get(1, 1).putValue(5);
sheet.getCells().get(1, 2).putValue(6);
sheet.getCells().get(2, 0).putValue(7);
sheet.getCells().get(2, 1).putValue(8);
sheet.getCells().get(2, 2).putValue(9);
// Generate the chart
int chartIndex = sheet.getCharts().add(ChartType.SCATTER_CONNECTED_BY_LINES_WITH_DATA_MARKER, 5, 1, 24, 10);
Chart chart = sheet.getCharts().get(chartIndex);
chart.getTitle().setText("Test");
chart.getCategoryAxis().getTitle().setText("X-Axis");
chart.getValueAxis().getTitle().setText("Y-Axis");
chart.getNSeries().setCategoryData("A1:C1");
// Insert series
chart.getNSeries().add("A2:C2", false);
Series series = chart.getNSeries().get(0);
int pointCount = series.getPoints().getCount();
for (int i = 0; i < pointCount; i++) {
ChartPoint pointIndex = series.getPoints().get(i);
pointIndex.getDataLabels().setText("Series 1" + "\n" + "Point " + i);
}
// Insert series
chart.getNSeries().add("A3:C3", false);
series = chart.getNSeries().get(1);
pointCount = series.getPoints().getCount();
for (int i = 0; i < pointCount; i++) {
ChartPoint pointIndex = series.getPoints().get(i);
pointIndex.getDataLabels().setText("Series 2" + "\n" + "Point " + i);
}
workbook.save(dataDir + "Test.xlsx", SaveFormat.XLSX);