Přidání trendových čar do grafů v prezentaci v PHP
Přehled
Tento článek vysvětluje, jak pomocí Aspose.Slides přidat do grafů v prezentaci trendové čáry. Ukazuje, jak vytvořit graf, přidat trendové čáry do sérií grafu a pracovat s několika typy trendových čar, včetně exponenciální, lineární, logaritmické, klouzavého průměru, polynomické a mocninné.
Také popisuje, jak do grafu přidat vlastní čáru vložením tvaru čáry, a obsahuje krátké FAQ o hodnotách projekce trendové čáry vpřed a vzad a o tom, zda jsou trendové čáry zachovány při exportu do PDF nebo SVG a při vykreslování grafů jako obrázků.
Přidání trendové čáry
Aspose.Slides for PHP via Java poskytuje jednoduché rozhraní API pro správu různých trendových čar v grafech:
- Vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek podle jeho indexu.
- Přidejte graf s výchozími daty a požadovaným typem (v tomto příkladu se používá ChartType::ClusteredColumn).
- Přidání exponenciální trendové čáry pro sérii grafu 1.
- Přidání lineární trendové čáry pro sérii grafu 1.
- Přidání logaritmické trendové čáry pro sérii grafu 2.
- Přidání trendové čáry klouzavého průměru pro sérii grafu 2.
- Přidání polynomické trendové čáry pro sérii grafu 3.
- Přidání mocninné trendové čáry pro sérii grafu 3.
- Zapíšete upravenou prezentaci do souboru PPTX.
Následující kód slouží k vytvoření grafu s trendovými čarami.
# Vytvořte instanci třídy Presentation
$pres = new Presentation();
try {
# Vytvoření seskupeného sloupcového grafu
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::ClusteredColumn, 20, 20, 500, 400);
# Přidání exponenciální trendové čáry pro sérii grafu 1
$tredLinep = $chart->getChartData()->getSeries()->get_Item(0)->getTrendLines()->add(TrendlineType::Exponential);
$tredLinep->setDisplayEquation(false);
$tredLinep->setDisplayRSquaredValue(false);
# Přidání lineární trendové čáry pro sérii grafu 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);
# Přidání logaritmické trendové čáry pro sérii grafu 2
$tredLineLog = $chart->getChartData()->getSeries()->get_Item(1)->getTrendLines()->add(TrendlineType::Logarithmic);
$tredLineLog->setTrendlineType(TrendlineType::Logarithmic);
$tredLineLog->addTextFrameForOverriding("New log trend line");
# Přidání trendové čáry klouzavého průměru pro sérii grafu 2
$tredLineMovAvg = $chart->getChartData()->getSeries()->get_Item(1)->getTrendLines()->add(TrendlineType::MovingAverage);
$tredLineMovAvg->setTrendlineType(TrendlineType::MovingAverage);
$tredLineMovAvg->setPeriod(3);
$tredLineMovAvg->setTrendlineName("New TrendLine Name");
# Přidání polynomické trendové čáry pro sérii grafu 3
$tredLinePol = $chart->getChartData()->getSeries()->get_Item(2)->getTrendLines()->add(TrendlineType::Polynomial);
$tredLinePol->setTrendlineType(TrendlineType::Polynomial);
$tredLinePol->setForward(1);
$tredLinePol->setOrder(3);
# Přidání mocninné trendové čáry pro sérii grafu 3
$tredLinePower = $chart->getChartData()->getSeries()->get_Item(1)->getTrendLines()->add(TrendlineType::Power);
$tredLinePower->setTrendlineType(TrendlineType::Power);
$tredLinePower->setBackward(1);
# Ukládání prezentace
$pres->save("ChartTrendLines_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Přidání vlastní čáry
Aspose.Slides for PHP via Java poskytuje jednoduché rozhraní API pro přidání vlastních čar do grafu. Chcete-li do vybraného snímku prezentace přidat jednoduchou rovnou čáru, postupujte podle následujících kroků:
- Vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek pomocí jeho Indexu.
- Vytvořte nový graf pomocí metody AddChart, která je součástí objektu Shapes.
- Přidejte AutoShape typu Line pomocí metody AddAutoShape, která je součástí objektu Shapes.
- Nastavte barvu čar tvary.
- Uložte upravenou prezentaci jako soubor PPTX.
Následující kód slouží k vytvoření grafu s vlastními čarami.
# Vytvořte instanci třídy 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();
}
}
FAQ
Co znamená ‘forward’ a ‘backward’ u trendové čáry?
Jedná se o délky trendové čáry projektované dopředu či dozadu: pro rozptylové (XY) grafy – v jednotkách osy; pro ne‑rozptylové grafy – v počtu kategorií. Povolené jsou pouze nezáporné hodnoty.
Zůstane trendová čára zachována při exportu prezentace do PDF nebo SVG, nebo při vykreslování snímku do obrázku?
Ano. Aspose.Slides převádí prezentace do PDF/SVG a vykresluje grafy do obrázků; trendové čáry jako součást grafu jsou během těchto operací zachovány. K dispozici je také metoda pro export an image of the chart.