Optimera diagramberäkningar för presentationer i Python
Översikt
Aspose.Slides tillhandahåller API:er för att arbeta med diagramberäkningar och layoutdata i presentationer. Denna artikel visar hur man hämtar de faktiska värdena för diagramelement, inklusive den verkliga positionen och storleken på element som implementerar ActualLayout samt de faktiska värdena för diagramaxlar. Den förklarar också att dessa värden fylls i efter validering av diagramlayout.
Dessutom visar artikeln hur man får den faktiska positionen för överordnade diagramelement och hur man döljer diagramkomponenter såsom titel, axlar, legend och rutnät. Tillsammans hjälper dessa exempel dig att inspektera diagramlayoutinformation och styra synligheten för diagramelement i PowerPoint-presentationer programmässigt.
Beräkna faktiska värden för diagramelement
Aspose.Slides för Python via .NET tillhandahåller ett enkelt API för att hämta dessa egenskaper. Detta hjälper dig att beräkna faktiska värden för diagramelement. De faktiska värdena inkluderar positionen för element som ärver IActualLayout klassen (IActualLayout.ActualX, IActualLayout.ActualY, IActualLayout.ActualWidth, IActualLayout.ActualHeight) och faktiska axelvärden (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
Beräkna faktisk position för överordnade diagramelement
Aspose.Slides för Python via .NET tillhandahåller ett enkelt API för att hämta dessa egenskaper. Egenskaperna i IActualLayout ger information om den faktiska positionen för överordnat diagramelement. Det är nödvändigt att tidigare anropa metoden IChart.ValidateChartLayout() för att fylla egenskaperna med faktiska värden.
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
Dölj information från diagram
Detta ämne hjälper dig att förstå hur du döljer information från diagram. Med Aspose.Slides för Python via .NET kan du dölja Titel, Vertikal axel, Horisontell axel och Rutnät från diagrammet. Nedanstående kodexempel visar hur du använder dessa egenskaper.
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)
# Döljer diagramtitel
chart.has_title = False
# Döljer värdeaxel
chart.axes.vertical_axis.is_visible = False
# Synlighet för kategorinäxel
chart.axes.horizontal_axis.is_visible = False
# Döljer förklaringsruta
chart.has_legend = False
# Döljer huvudrutnätlinjer
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
# Anger serielinjefärg
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)
Vanliga frågor
Fungerar externa Excel-arbetsböcker som datakälla, och hur påverkar det omberäkning?
Ja. Ett diagram kan referera till en extern arbetsbok: när du ansluter eller uppdaterar den externa källan hämtas formler och värden från den arbetsboken, och diagrammet återspeglar uppdateringarna under öppnings-/redigeringsoperationer. API:et låter dig ange den externa arbetsboken sökväg och hantera den länkade datan.
Kan jag beräkna och visa trendlinjer utan att implementera regression själv?
Ja. Trendlinjer (linjära, exponentiella och andra) läggs till och uppdateras av Aspose.Slides; deras parametrar beräknas om automatiskt utifrån seriedatan, så du behöver inte implementera egna beräkningar.
Om en presentation har flera diagram med externa länkar, kan jag styra vilken arbetsbok varje diagram använder för beräknade värden?
Ja. Varje diagram kan peka på sin egen externa arbetsbok, eller så kan du skapa/ersätta en extern arbetsbok per diagram oberoende av de andra.