Добавление пользовательских меток к точкам данных в серии диаграммы
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); |