Optimalizujte výpočty grafů pro prezentace v Pythonu

Přehled

Aspose.Slides poskytuje rozhraní API pro práci s výpočty grafů a daty rozvržení v prezentacích. Tento článek ukazuje, jak získat skutečné hodnoty prvků grafu, včetně skutečné polohy a velikosti prvků, které implementují ActualLayout, a skutečné hodnoty os grafu. Také vysvětluje, že tyto hodnoty jsou naplněny po ověření rozvržení grafu.

Dále článek ukazuje, jak získat skutečnou polohu nadřazených prvků grafu a jak skrýt komponenty grafu, jako jsou název, osy, legenda a mřížkové čáry. Tyto příklady vám pomohou programově prozkoumat informace o rozvržení grafu a řídit viditelnost prvků grafu v prezentacích PowerPoint.

Vypočítat skutečné hodnoty prvků grafu

Aspose.Slides for Python via .NET poskytuje jednoduché API pro získávání těchto vlastností. To vám pomůže vypočítat skutečné hodnoty prvků grafu. Skutečné hodnoty zahrnují polohu prvků, které dědí třídu IActualLayout (IActualLayout.ActualX, IActualLayout.ActualY, IActualLayout.ActualWidth, IActualLayout.ActualHeight) a skutečné hodnoty os (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

Vypočítat skutečnou polohu nadřazených prvků grafu

Aspose.Slides for Python via .NET poskytuje jednoduché API pro získávání těchto vlastností. Vlastnosti IActualLayout poskytují informace o skutečné poloze nadřazeného prvku grafu. Před tím je třeba zavolat metodu IChart.ValidateChartLayout(), aby se vlastnosti naplnily skutečnými hodnotami.

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

Skrýt informace v grafu

Toto téma vám pomůže pochopit, jak skrýt informace v grafu. Pomocí Aspose.Slides for Python via .NET můžete skrýt Název, Vertikální osu, Horizontální osu a Mřížkové čáry v grafu. Níže uvedený příklad kódu ukazuje, jak tyto vlastnosti použít.

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)

    # Skrytí názvu grafu
    chart.has_title = False

    # Skrytí osy hodnot
    chart.axes.vertical_axis.is_visible = False

    # Viditelnost osy kategorií
    chart.axes.horizontal_axis.is_visible = False

    # Skrytí legendy
    chart.has_legend = False

    # Skrytí hlavních čar mřížky
    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

    # Nastavení barvy čáry řady
    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)

Často kladené otázky

Používají se externí sešity Excelu jako zdroj dat a jak to ovlivňuje přepočet?

Ano. Graf může odkazovat na externí sešit: když připojíte nebo obnovíte externí zdroj, vzorce a hodnoty jsou převzaty z tohoto sešitu a graf odráží aktualizace během operací otevření/úpravy. API vám umožňuje specifikovat cestu k externímu sešitu a spravovat propojená data.

Mohu vypočítat a zobrazit čáry trendu bez implementace regrese sami?

Ano. Trendlines (lineární, exponenciální a další) jsou přidávány a aktualizovány pomocí Aspose.Slides; jejich parametry jsou automaticky přepočítány ze sériových dat, takže není nutné implementovat vlastní výpočty.

Pokud má prezentace více grafů s externími odkazy, mohu řídit, který sešit každý graf používá pro vypočtené hodnoty?

Ano. Každý graf může ukazovat na svůj vlastní externí sešit, nebo můžete pro každý graf vytvořit/nahradit externí sešit nezávisle na ostatních.