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