Diagram számítások optimalizálása prezentációkhoz JavaScriptben
Áttekintés
Az Aspose.Slides API-kat biztosít a diagramok számításainak és elrendezési adatainak kezeléséhez a bemutatókban. Ez a cikk bemutatja, hogyan lehet lekérni a diagramelemek tényleges értékeit, beleértve az elemek valós pozícióját és méretét, valamint a diagram tengelyek tényleges értékeit. Továbbá ismerteti, hogy ezek az értékek a diagramelrendezés ellenőrzése után kerülnek feltöltésre.
Ezen felül a cikk bemutatja, hogyan lehet lekérni a szülő diagramelemek tényleges pozícióját, valamint hogyan lehet elrejteni a diagram komponenseket, mint a cím, tengelyek, jelmagyarázat és rácsvonalak. Együtt ezek a 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 Node.js via Java egyszerű API-t biztosít ezeknek a tulajdonságoknak a lekéréséhez. Az Axis osztály tulajdonságai információt nyújtanak a tengely diagramelem tényleges pozíciójáról (Axis.getActualMaxValue, Axis.getActualMinValue, Axis.getActualMajorUnit, Axis.getActualMinorUnit, Axis.getActualMajorUnitScale, Axis.getActualMinorUnitScale). Előzetesen meg kell hívni a Chart.validateChartLayout() metódust, hogy a tulajdonságok tényleges értékekkel legyenek feltöltve.
var pres = new aspose.slides.Presentation();
try {
var chart = pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.Area, 100, 100, 500, 350);
chart.validateChartLayout();
var maxValue = chart.getAxes().getVerticalAxis().getActualMaxValue();
var minValue = chart.getAxes().getVerticalAxis().getActualMinValue();
var majorUnit = chart.getAxes().getHorizontalAxis().getActualMajorUnit();
var minorUnit = chart.getAxes().getHorizontalAxis().getActualMinorUnit();
} finally {
if (pres != null) {
pres.dispose();
}
}
A szülő diagramelemek tényleges pozíciójának kiszámítása
Az Aspose.Slides for Node.js via Java egyszerű API-t biztosít ezeknek a tulajdonságoknak a lekéréséhez. Az ActualLayout osztály tulajdonságai információt nyújtanak a szülő diagramelem tényleges pozíciójáról: ActualLayout.getActualX, ActualLayout.getActualY, ActualLayout.getActualWidth, ActualLayout.getActualHeight. Előzetesen meg kell hívni a Chart.validateChartLayout() metódust, hogy a tulajdonságok tényleges értékekkel legyenek feltöltve.
var pres = new aspose.slides.Presentation();
try {
var chart = pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 100, 100, 500, 350);
chart.validateChartLayout();
var x = chart.getPlotArea().getActualX();
var y = chart.getPlotArea().getActualY();
var w = chart.getPlotArea().getActualWidth();
var h = chart.getPlotArea().getActualHeight();
} finally {
if (pres != null) {
pres.dispose();
}
}
Információk elrejtése a diagramról
Ez a téma segít megérteni, hogyan lehet elrejteni információkat a diagramról. Az Aspose.Slides for Node.js via Java segítségével 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 használhatók ezek a tulajdonságok.
var pres = new aspose.slides.Presentation();
try {
var slide = pres.getSlides().get_Item(0);
var chart = slide.getShapes().addChart(aspose.slides.ChartType.LineWithMarkers, 140, 118, 320, 370);
// Diagram címének elrejtése
chart.setTitle(false);
// /Érték tengely elrejtése
chart.getAxes().getVerticalAxis().setVisible(false);
// Kategória tengely láthatósága
chart.getAxes().getHorizontalAxis().setVisible(false);
// Jelmagyarázat elrejtése
chart.setLegend(false);
// Fő rácsvonalak elrejtése
chart.getAxes().getHorizontalAxis().getMajorGridLinesFormat().getLine().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill));
for (var i = 0; i < chart.getChartData().getSeries().size(); i++) {
chart.getChartData().getSeries().removeAt(i);
}
var series = chart.getChartData().getSeries().get_Item(0);
series.getMarker().setSymbol(aspose.slides.MarkerStyleType.Circle);
series.getLabels().getDefaultDataLabelFormat().setShowValue(true);
series.getLabels().getDefaultDataLabelFormat().setPosition(aspose.slides.LegendDataLabelPosition.Top);
series.getMarker().setSize(15);
// Sor vonalszínének beállítása
series.getFormat().getLine().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid));
series.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "MAGENTA"));
series.getFormat().getLine().setDashStyle(aspose.slides.LineDashStyle.Solid);
pres.save("HideInformationFromChart.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
if (pres != null) {
pres.dispose();
}
}
GYIK
Működnek-e 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 ebből a munkafüzetből származnak, és a diagram tükrözi a frissítéseket a megnyitás/nagy szerkesztési műveletek során. Az API lehetővé teszi, hogy megadja a külső munkafüzet útvonalát, és kezelje a kapcsolt adatot.
Kiszámíthatok és megjeleníthetek trendvonalakat anélkül, hogy saját regressziót implementálnék?
Igen. A Trendlines (lineáris, exponenciális és egyéb) hozzáadásra és frissítésre kerülnek az Aspose.Slides által; paramétereiket a sorozat adataiból automatikusan újraszámítja a rendszer, így nem szükséges saját számításokat implementálni.
Ha egy bemutató több diagramot tartalmaz külső hivatkozásokkal, szabályozhatom-e, hogy melyik munkafüzetet használja a diagram a számított értékekhez?
Igen. Minden diagram saját külső munkafüzetre mutathat, vagy létrehozhat/cserélhet egy külső munkafüzetet diagramonként függetlenül a többitől.