数据标签可以显示图表中的数据系列或其单个数据点的详细信息,使图表更易于理解。本文将介绍如何使用Spire.Presentation for Java给PowerPoint图表添加数据标签并设置数据标签的外观样式(边框样式、填充样式)。注意有些图表类型如Surface3D、Surface3DNoColor、Contour、ContourNoColor不支持设置数据标签。
以下是原PowerPoint图表的截图:
import com.spire.presentation.FileFormat;
import com.spire.presentation.ISlide;
import com.spire.presentation.Presentation;
import com.spire.presentation.charts.IChart;
import com.spire.presentation.charts.entity.ChartDataLabel;
import com.spire.presentation.charts.entity.ChartSeriesDataFormat;
import com.spire.presentation.drawing.FillFormatType;
import java.awt.*;
public class AddDataLabelsToChart {
public static void main(String[] args) throws Exception {
//加载PowerPoint文档
Presentation ppt = new Presentation();
ppt.loadFromFile("Chart.pptx");
//获取第一张幻灯片
ISlide slide = ppt.getSlides().get(0);
//获取图表
IChart chart = (IChart)slide.getShapes().get(0);
//遍历图表的系列
ChartSeriesFormatCollection seriesFormatC= chart.getSeries();
for (int m=0; m<seriesFormatC.size(); m++)
{
ChartSeriesDataFormat series= seriesFormatC.get(m);
//给每个系列的数据点添加数据标签
for(int i = 0; i < 4; i++){
ChartDataLabel dataLabel = series.getDataLabels().add();
//显示标签的值
dataLabel.setLabelValueVisible(true);
//显示标签的系列名称
dataLabel.setSeriesNameVisible(true);
//设置标签的边框样式
dataLabel.getLine().setFillType(FillFormatType.SOLID);
dataLabel.getLine().getSolidFillColor().setColor(Color.RED);
//设置标签的填充样式
dataLabel.getFill().setFillType(FillFormatType.SOLID);
dataLabel.getFill().getSolidColor().setColor(Color.YELLOW);
}
}
//保存结果文档
ppt.saveToFile("DataLabels.pptx", FileFormat.PPTX_2013);
}
}
生成结果: