趋势线
Contents
[
Hide
]
添加趋势线
Aspose.Slides for PHP via Java 提供了一个简单的 API 来管理不同图表的趋势线:
- 创建一个 Presentation 类的实例。
- 通过索引获取幻灯片的引用。
- 添加一个具有默认数据的图表,以及任何所需类型(本示例使用 ChartType::ClusteredColumn)。
- 为图表系列 1 添加指数趋势线。
- 为图表系列 1 添加线性趋势线。
- 为图表系列 2 添加对数趋势线。
- 为图表系列 2 添加移动平均趋势线。
- 为图表系列 3 添加多项式趋势线。
- 为图表系列 3 添加幂趋势线。
- 将修改后的演示文稿写入 PPTX 文件。
以下代码用于创建一个带有趋势线的图表。
# 创建一个 Presentation 类的实例
$pres = new Presentation();
try {
# 创建一个集群柱状图
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::ClusteredColumn, 20, 20, 500, 400);
# 为图表系列 1 添加指数趋势线
$tredLinep = $chart->getChartData()->getSeries()->get_Item(0)->getTrendLines()->add(TrendlineType::Exponential);
$tredLinep->setDisplayEquation(false);
$tredLinep->setDisplayRSquaredValue(false);
# 为图表系列 1 添加线性趋势线
$tredLineLin = $chart->getChartData()->getSeries()->get_Item(0)->getTrendLines()->add(TrendlineType::Linear);
$tredLineLin->setTrendlineType(TrendlineType::Linear);
$tredLineLin->getFormat()->getLine()->getFillFormat()->setFillType(FillType::Solid);
$tredLineLin->getFormat()->getLine()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->RED);
# 为图表系列 2 添加对数趋势线
$tredLineLog = $chart->getChartData()->getSeries()->get_Item(1)->getTrendLines()->add(TrendlineType::Logarithmic);
$tredLineLog->setTrendlineType(TrendlineType::Logarithmic);
$tredLineLog->addTextFrameForOverriding("新对数趋势线");
# 为图表系列 2 添加移动平均趋势线
$tredLineMovAvg = $chart->getChartData()->getSeries()->get_Item(1)->getTrendLines()->add(TrendlineType::MovingAverage);
$tredLineMovAvg->setTrendlineType(TrendlineType::MovingAverage);
$tredLineMovAvg->setPeriod(3);
$tredLineMovAvg->setTrendlineName("新趋势线名称");
# 为图表系列 3 添加多项式趋势线
$tredLinePol = $chart->getChartData()->getSeries()->get_Item(2)->getTrendLines()->add(TrendlineType::Polynomial);
$tredLinePol->setTrendlineType(TrendlineType::Polynomial);
$tredLinePol->setForward(1);
$tredLinePol->setOrder(3);
# 为图表系列 3 添加幂趋势线
$tredLinePower = $chart->getChartData()->getSeries()->get_Item(1)->getTrendLines()->add(TrendlineType::Power);
$tredLinePower->setTrendlineType(TrendlineType::Power);
$tredLinePower->setBackward(1);
# 保存演示文稿
$pres->save("ChartTrendLines_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
添加自定义线
Aspose.Slides for PHP via Java 提供了一个简单的 API 来在图表中添加自定义线。要在演示文稿的选定幻灯片中添加简单的纯线,请遵循以下步骤:
- 创建一个 Presentation 类的实例
- 通过使用其索引获取幻灯片的引用
- 使用 Shapes 对象暴露的 AddChart 方法创建一个新图表
- 使用 Shapes 对象暴露的 AddAutoShape 方法添加一种线条类型的自动形状
- 设置形状线的颜色。
- 将修改后的演示文稿写入 PPTX 文件
以下代码用于创建一个带有自定义线的图表。
# 创建一个 Presentation 类的实例
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::ClusteredColumn, 100, 100, 500, 400);
$shape = $chart->getUserShapes()->getShapes()->addAutoShape(ShapeType::Line, 0, $chart->getHeight() / 2, $chart->getWidth(), 0);
$shape->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
$shape->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->RED);
$pres->save("Presentation.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}