使用 Java 在演示文稿图表中自定义误差线
Contents
[
Hide
]
添加误差线
Aspose.Slides for Java 提供了用于管理误差线值的简单 API。当使用自定义值类型时,示例代码适用。要指定值,请使用特定数据点在系列的 DataPoints 集合中的 ErrorBarCustomValues 属性:
- 创建 Presentation 类的实例。
- 在所需幻灯片上添加气泡图。
- 访问第一个图表系列并设置误差线 X 格式。
- 访问第一个图表系列并设置误差线 Y 格式。
- 设置栏的值和格式。
- 将修改后的演示文稿写入 PPTX 文件。
// 创建 Presentation 类的实例
Presentation pres = new Presentation();
try {
// 创建气泡图
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Bubble, 50, 50, 400, 300, true);
// 添加误差线并设置其格式
IErrorBarsFormat errBarX = chart.getChartData().getSeries().get_Item(0).getErrorBarsXFormat();
IErrorBarsFormat errBarY = chart.getChartData().getSeries().get_Item(0).getErrorBarsYFormat();
errBarX.isVisible();
errBarY.isVisible();
errBarX.setValueType((byte) ErrorBarValueType.Fixed);
errBarX.setValue(0.1f);
errBarY.setValueType((byte) ErrorBarValueType.Percentage);
errBarY.setValue(5);
errBarX.setType((byte) ErrorBarType.Plus);
errBarY.getFormat().getLine().setWidth(2.0f);
errBarX.hasEndCap();
// 保存演示文稿
pres.save("ErrorBars.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
添加自定义误差线值
Aspose.Slides for Java 提供了用于管理自定义误差线值的简单 API。当 IErrorBarsFormat.ValueType 属性等于 Custom 时,示例代码适用。要指定值,请使用特定数据点在系列的 DataPoints 集合中的 ErrorBarCustomValues 属性:
- 创建 Presentation 类的实例。
- 在所需幻灯片上添加气泡图。
- 访问第一个图表系列并设置误差线 X 格式。
- 访问第一个图表系列并设置误差线 Y 格式。
- 访问图表系列的各个数据点并为单个系列数据点设置误差线值。
- 设置栏的值和格式。
- 将修改后的演示文稿写入 PPTX 文件。
// 创建 Presentation 类的实例
Presentation pres = new Presentation();
try {
// 创建气泡图
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Bubble, 50, 50, 400, 300, true);
// 添加自定义误差线并设置其格式
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
IErrorBarsFormat errBarX = series.getErrorBarsXFormat();
IErrorBarsFormat errBarY = series.getErrorBarsYFormat();
errBarX.isVisible();
errBarY.isVisible();
errBarX.setValueType((byte) ErrorBarValueType.Custom);
errBarY.setValueType((byte) ErrorBarValueType.Custom);
// 访问图表系列数据点并为
// 单个点设置误差线值
IChartDataPointCollection points = series.getDataPoints();
points.getDataSourceTypeForErrorBarsCustomValues().setDataSourceTypeForXPlusValues((byte) DataSourceType.DoubleLiterals);
points.getDataSourceTypeForErrorBarsCustomValues().setDataSourceTypeForXMinusValues((byte) DataSourceType.DoubleLiterals);
points.getDataSourceTypeForErrorBarsCustomValues().setDataSourceTypeForYPlusValues((byte) DataSourceType.DoubleLiterals);
points.getDataSourceTypeForErrorBarsCustomValues().setDataSourceTypeForYMinusValues((byte) DataSourceType.DoubleLiterals);
// 为图表系列点设置误差线
for (int i = 0; i < points.size(); i++) {
points.get_Item(i).getErrorBarsCustomValues().getXMinus().setAsLiteralDouble(i + 1);
points.get_Item(i).getErrorBarsCustomValues().getXPlus().setAsLiteralDouble(i + 1);
points.get_Item(i).getErrorBarsCustomValues().getYMinus().setAsLiteralDouble(i + 1);
points.get_Item(i).getErrorBarsCustomValues().getYPlus().setAsLiteralDouble(i + 1);
}
// 保存演示文稿
pres.save("ErrorBarsCustomValues.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
FAQ
将演示文稿导出为 PDF 或图像时,误差线会怎样?
它们作为图表的一部分进行渲染,并在转换过程中与其余图表格式一起保留下来,前提是使用兼容的版本或渲染器。
误差线可以与标记和数据标签组合使用吗?
可以。误差线是独立的元素,且与标记和数据标签兼容;如果元素重叠,可能需要调整格式。
在哪里可以找到用于在 API 中处理误差线的属性和类列表?
请参阅 API 参考:ErrorBarsFormat 类以及相关的 ErrorBarType 和 ErrorBarValueType 类。