向图表系列中的数据点添加自定义标签
Contents
[
Hide
]
您可以将自定义标签添加到图表系列中的数据点。 Aspose.Cells提供ChartPoint.getDataLabels().setText()属性来添加这些自定义标签。本文将解释如何使用此属性为图表系列中的数据点添加自定义标签。
向图表系列中的数据点添加自定义标签
以下代码创建由带有数据标记的线连接的散点图,然后将自定义标签添加到图表系列中的数据点。每个自定义标签显示系列名称和点名称。您可以使用任何其他文本代替它。执行代码后,将创建以下 Excel 文件。正如您在图表中看到的那样,每个数据点都设置了自定义标签。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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); |