Diagram számítások optimalizálása bemutatókhoz C++-ban
Áttekintés
Az Aspose.Slides API-kat biztosít diagramok számításához és elrendezési adatokhoz a bemutatókban. Ez a cikk bemutatja, hogyan lehet lekérni a diagramelemek tényleges értékeit, beleértve a IActualLayout‑et megvalósító elemek valódi pozícióját és méretét, valamint a diagram tengelyeinek tényleges értékeit. Az is kiderül, hogy ezek az értékek a diagramelrendezés ellenőrzése után töltődnek fel.
Továbbá a cikk bemutatja, hogyan lehet lekérni a szülő diagramelemek tényleges pozícióját, és hogyan lehet elrejteni a diagram összetevőit, mint a cím, tengelyek, jelmagyarázat és rácsvonalak. Ezek az példák segítenek a diagramelrendezési információk vizsgálatában és a diagramelemek láthatóságának programozott vezérlésében a PowerPoint bemutatókban.
Diagramelemek tényleges értékeinek kiszámítása
Az Aspose.Slides for C++ egyszerű API-t biztosít ezen tulajdonságok lekéréséhez. Ez segít a diagramelemek tényleges értékeinek kiszámításában. A tényleges értékek tartalmazzák a IActualLayout interfészt megvalósító elemek pozícióját (IActualLayout::get_ActualX(), IActualLayout::get_ActualY(), IActualLayout::get_ActualWidth(), IActualLayout::get_ActualHeight()) és a tényleges tengelyértékeket (IAxis::get_ActualMaxValue(), IAxis::get_ActualMinValue(), IAxis::get_ActualMajorUnit(), IAxis::get_ActualMinorUnit(), IAxis::get_ActualMajorUnitScale(), IAxis::get_ActualMinorUnitScale()).
auto pres = System::MakeObject<Presentation>(u"test.pptx");
auto chart = System::ExplicitCast<Chart>(pres->get_Slides()->idx_get(0)->get_Shapes()->AddChart(ChartType::ClusteredColumn, 100.0f, 100.0f, 500.0f, 350.0f));
chart->ValidateChartLayout();
double x = chart->get_PlotArea()->get_ActualX();
double y = chart->get_PlotArea()->get_ActualY();
double w = chart->get_PlotArea()->get_ActualWidth();
double h = chart->get_PlotArea()->get_ActualHeight();
// Prezentáció mentése
pres->Save(u"Result.pptx", SaveFormat::Pptx);
A szülő diagramelemek tényleges pozíciójának kiszámítása
Az Aspose.Slides for C++ egyszerű API-t biztosít ezeknek a tulajdonságoknak a lekéréséhez. Az IActualLayout metódusai információt adnak a szülő diagramelem tényleges pozíciójáról. A tulajdonságok tényleges értékekkel való feltöltéséhez előzetesen meg kell hívni az IChart::ValidateChartLayout() metódust.
// Üres bemutató létrehozása
auto pres = System::MakeObject<Presentation>();
auto chart = System::ExplicitCast<Chart>(pres->get_Slides()->idx_get(0)->get_Shapes()->AddChart(ChartType::ClusteredColumn, 100.0f, 100.0f, 500.0f, 350.0f));
chart->ValidateChartLayout();
double x = chart->get_PlotArea()->get_ActualX();
double y = chart->get_PlotArea()->get_ActualY();
double w = chart->get_PlotArea()->get_ActualWidth();
double h = chart->get_PlotArea()->get_ActualHeight();
Diagramelemek elrejtése
Ez a téma segít megérteni, hogyan lehet információkat elrejteni a diagramról. Az Aspose.Slides for C++ használatával elrejtheti a Címet, Függőleges tengelyt, Vízszintes tengelyt és a Rácsvonalakat a diagramról. Az alábbi kódrészlet bemutatja, hogyan kell használni ezeket a tulajdonságokat.
Adattartomány beállítása egy diagramhoz
Az Aspose.Slides for C++ a legegyszerűbb API-t biztosítja a diagram adattartományának beállításához a legegyszerűbb módon. Az adattartomány beállításához:
- Nyisson meg egy Presentation osztály példányt, amely diagramot tartalmaz.
- Szerezze meg egy dia referenciáját annak Indexe alapján.
- Járja be az összes alakzatot a kívánt diagram megtalálásához.
- Hozza elérhetővé a diagram adatait és állítsa be a tartományt.
- Mentse a módosított bemutatót PPTX fájlként.
Az alábbi kódrészletek bemutatják, hogyan frissíthető a diagram.
GYIK
Működnek a külső Excel munkafüzetek adatforrásként, és ez hogyan befolyásolja az újraszámítást?
Igen. A diagram hivatkozhat egy külső munkafüzetre: amikor csatlakozik vagy frissíti a külső forrást, a képletek és értékek azt a munkafüzetet veszik, és a diagram a nyitás/szerkesztés során frissül. Az API lehetővé teszi, hogy adja meg a külső munkafüzetet útvonalát és kezelje a kapcsolt adatokat.
Képes vagyok trendvonalakat számolni és megjeleníteni anélkül, hogy magam implementálnám a regressziót?
Igen. Trendvonalak (lineáris, exponenciális és egyéb) automatikusan hozzáadódnak és frissülnek az Aspose.Slides által; paramétereiket a sorozat adataiból számítja újra, így nem szükséges saját számításokat írni.
Ha egy bemutató több diagramot tartalmaz külső hivatkozásokkal, szabályozhatom, hogy melyik munkafüzetet használja minden diagram a számított értékekhez?
Igen. Minden diagram saját külső munkafüzetre hivatkozhat, vagy függetlenül létrehozhat/lecserélhet egy külső munkafüzetet diagramonként.