Diagram számítások optimalizálása prezentációkhoz Pythonban

Á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 a ActualLayout-et megvalósító elemek valós pozícióját és méretét, valamint a diagram tengelyeinek tényleges értékeit. Emellett elmagyarázza, 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, valamint hogyan lehet elrejteni a diagram komponenseit, mint a cím, a tengelyek, a jelmagyarázat és a rácsvonalak. Ezek a példák segítenek a diagramelrendezési információk ellenőrzésében és a diagramelemek láthatóságának programozott vezérlésében a PowerPoint-bemutatókban.

A diagramelemek tényleges értékeinek kiszámítása

Az Aspose.Slides for Python via .NET 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 azoknak az elemeknek a pozícióját, amelyek öröklik az IActualLayout osztályt (IActualLayout.ActualX, IActualLayout.ActualY, IActualLayout.ActualWidth, IActualLayout.ActualHeight), valamint a tengelyek tényleges értékeit (IAxis.ActualMaxValue, IAxis.ActualMinValue, IAxis.ActualMajorUnit, IAxis.ActualMinorUnit, IAxis.ActualMajorUnitScale, IAxis.ActualMinorUnitScale).

import aspose.slides.charts as charts
import aspose.slides as slides

with slides.Presentation("pres.pptx") as pres:
    chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 500, 350)
    chart.validate_chart_layout()

    maxValue = chart.axes.vertical_axis.actual_max_value
    minValue = chart.axes.vertical_axis.actual_min_value
    majorUnit = chart.axes.horizontal_axis.actual_major_unit
    minorUnit = chart.axes.horizontal_axis.actual_minor_unit

A szülő diagramelemek tényleges pozíciójának kiszámítása

Az Aspose.Slides for Python via .NET egyszerű API-t biztosít ezen tulajdonságok lekéréséhez. Az IActualLayout tulajdonságai információt nyújtanak a szülő diagramelem tényleges pozíciójáról. Előzetesen meg kell hívni az IChart.ValidateChartLayout() metódust, hogy a tulajdonságok tényleges értékekkel legyenek feltöltve.

import aspose.slides.charts as charts
import aspose.slides as slides

with slides.Presentation("pres.pptx") as pres:
    chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 500, 350)
    chart.validate_chart_layout()

    x = chart.plot_area.actual_x
    y = chart.plot_area.actual_y
    w = chart.plot_area.actual_width
    h = chart.plot_area.actual_height

Információ elrejtése a diagramról

Ez a téma segít megérteni, hogyan lehet információkat elrejteni a diagramról. Az Aspose.Slides for Python via .NET 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.

import aspose.slides.charts as charts
import aspose.slides as slides

with slides.Presentation() as pres:
    slide = pres.slides[0]
    chart = slide.shapes.add_chart(charts.ChartType.LINE_WITH_MARKERS, 140, 118, 320, 370)

    # Diagram címének elrejtése
    chart.has_title = False

    # Az érték tengely elrejtése
    chart.axes.vertical_axis.is_visible = False

    # Kategória tengely láthatósága
    chart.axes.horizontal_axis.is_visible = False

    # Jelmagyarázat elrejtése
    chart.has_legend = False

    # Fő rácsvonalak elrejtése
    chart.axes.horizontal_axis.major_grid_lines_format.line.fill_format.fill_type = slides.FillType.NO_FILL

    #for i in range(len(chart.chart_data.series)):
    #    chart.chart_data.series.remove_at(i)

    series = chart.chart_data.series[0]

    series.marker.symbol = charts.MarkerStyleType.CIRCLE
    series.labels.default_data_label_format.show_value = True
    series.labels.default_data_label_format.position = charts.LegendDataLabelPosition.TOP
    series.marker.size = 15

    # Sorozat vonal színének beállítása
    series.format.line.fill_format.fill_type = slides.FillType.SOLID
    series.format.line.fill_format.solid_fill_color.color = draw.Color.purple
    series.format.line.dash_style = slides.LineDashStyle.SOLID

    pres.save("HideInformationFromChart.pptx", slides.export.SaveFormat.PPTX)

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 az adott munkafüzettől származnak, és a diagram az nyitási/szerkesztési műveletek során frissül. Az API lehetővé teszi a külső munkafüzet megadását az elérési úttal, valamint a kapcsolt adatok kezelését.

Számíthatok‑ és megjeleníthetek‑trendvonalakat anélkül, hogy magam implementálnám a regressziót?

Igen. A trendvonalak (lineáris, exponenciális és egyebek) hozzáadódnak és frissülnek az Aspose.Slides által; paramétereiket a sorozat adataiból automatikusan újraszámítja a rendszer, így nem kell saját számításokat implementálni.

Ha egy bemutató több diagramot tartalmaz külső hivatkozásokkal, irányíthatom, hogy melyik munkafüzetet használja az egyes diagram a számított értékekhez?

Igen. Minden diagram saját külső munkafüzete lehet, vagy diagramonként külön‑külön létrehozhat/lecserélhet egy külső munkafüzettet, függetlenül a többitől.