[]
        
(Showing Draft Content)

数据标签

GcExcel Java可以帮助用户配置数据标签,以确保图表中呈现的信息能够轻松快速地解读和可视化。

您可以使用ISeries接口的方法在图表中插入数据标签。

为了配置图表中的数据标签并设置数据标签的文本,请参考以下示例代码。

IShape shape1 = worksheet.getShapes().addChart(ChartType.ColumnClustered, 200, 20, 300, 300);
Object[][] data = new Object[][] { { null, "S1", "S2", "S3" }, { "Item1", 10, 25, 25 },
        { "Item2", -51, -36, 27 }, { "Item3", 52, -85, -30 }, { "Item4", 22, 65, 65 },
        { "Item5", 23, 69, 69 } };
worksheet.getRange("A1:D6").setValue(data);
        
// 设置系列的所有数据标签和特定数据标签的格式。
shape1.getChart().getSeriesCollection().add(worksheet.getRange("A1:D6"), RowCol.Columns, true, true);
ISeries series1 = shape.getChart().getSeriesCollection().get(0);
series1.setHasDataLabels(true);

// 设置系列1的所有数据标签的格式。
series1.getDataLabels().getFormat().getFill().getColor().setRGB(Color.GetGreen());
series1.getDataLabels().getFormat().getLine().getColor().setRGB(Color.GetRed());
series1.getDataLabels().getFormat().getLine().setWeight(3);

// 设置系列1的特定数据标签的格式。
series1.getDataLabels().get(2).getFormat().getFill().getColor().setRGB(Color.GetYellow());
series1.getPoints().get(2).getDataLabel().getFormat().getLine().getColor().setRGB(Color.GetBlue());
series1.getPoints().get(2).getDataLabel().getFormat().getLine().setWeight(5);
        
// 自定义数据标签的文本。
IShape shape2 = worksheet.getShapes().addChart(ChartType.ColumnClustered, 200, 20, 300, 300);
shape2.getChart().getSeriesCollection().add(worksheet.getRange("A1:D6"), RowCol.Columns, true, true);
ISeries series2 = shape.getChart().getSeriesCollection().get(0);
series2.setHasDataLabels(true);
        
// 自定义数据标签的文本。
series2.getDataLabels().setShowCategoryName(true);
series2.getDataLabels().setShowSeriesName(true);
series2.getDataLabels().setShowLegendKey(true);

You can also set the direction of the data labels to horizontal, vertical, rotated (to 90 or 270 degree), and stacked (with text reading left-to-right or right to left). The setDirection method in IDataLabelsIDataLabel, IDataLabels.ITextFrame, and IDataLabel.ITextFrame interfaces allows you to set the direction of the data labels using TextDirection enumeration.

您还可以将数据标签的方向设置为水平、垂直、旋转(90度或270度)和堆叠(从左到右或从右到左阅读)。IDataLabels、IDataLabel、IDataLabels.ITextFrame 和 IDataLabel.ITextFrame 接口中的 setDirection 方法允许您使用 TextDirection 枚举设置数据标签的方向。

请参考以下示例代码,将数据标签的方向设置为堆叠和垂直:

// 创建图表
shape.getChart().getSeriesCollection().add(worksheet.getRange("A1:D6"), RowCol.Columns, true, true);

// 给系列 1 添加数据标签
ISeries series1 = shape.getChart().getSeriesCollection().get(0);
series1.setHasDataLabels(true);

// 将所有数据标签的方向设置为堆叠
series1.getDataLabels().setDirection(TextDirection.Stacked);

// 将第一个数据标签的方向设置为垂直
series1.getPoints().get(0).getDataLabel().getTextFrame().setDirection(TextDirection.Vertical);

// 将第二个数据标签的方向设置为垂直
series1.getPoints().get(1).getDataLabel().setDirection(TextDirection.Vertical);

GcExcel also allows you to configure the text angle for data labels by using the setOrientation method of IDataLabel interface.

GcExcel 还允许您使用 IDataLabel 接口的 setOrientation 方法来配置数据标签的文本角度。

请参考以下示例代码以设置数据标签的文本角度:

// 创建一个新的工作簿
 Workbook workbook = new Workbook();
// 获取默认的工作表
IWorksheet worksheet = workbook.getWorksheets().get(0);

// 添加图表
IShape shape = worksheet.getShapes().addChart(ChartType.ColumnClustered, 250, 20, 360, 230);
worksheet.getRange("A1:B5").setValue(new Object[][]
{
{null, "S1"},
{"Item1", -20},
{"Item2", 30},
{"Item3", 50 },
{"Item3", 40 }
});
shape.getChart().getSeriesCollection().add(worksheet.getRange("A1:B5"), RowCol.Columns, true, true);

ISeries series1 = shape.getChart().getSeriesCollection().get(0);
series1.setHasDataLabels(true);

// 设置 series1 的所有数据标签的角度
series1.getDataLabels().setOrientation(45);

// 设置 series1 特定数据标签的角度
series1.getDataLabels().get(2).setOrientation(-45);

// 保存为 Excel 文件
workbook.save("configdatalabelangle.xlsx");

数据标签的方向和角度也可以导出或导入到 JSON 文件中。

type=warning

注意: 只有当 setDirection 方法的值为 Horizontal 时,setOrientation 方法才适用。

a