Optimiser les calculs de graphiques pour les présentations en Python

Calculer les valeurs réelles des éléments du graphique

Aspose.Slides for Python via .NET fournit une API simple pour obtenir ces propriétés. Cela vous aidera à calculer les valeurs réelles des éléments du graphique. Les valeurs réelles comprennent la position des éléments qui implémentent l’interface IActualLayout (IActualLayout.ActualX, IActualLayout.ActualY, IActualLayout.ActualWidth, IActualLayout.ActualHeight) et les valeurs réelles des axes (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

Calculer la position réelle des éléments parents du graphique

Aspose.Slides for Python via .NET fournit une API simple pour obtenir ces propriétés. Les propriétés de IActualLayout fournissent des informations sur la position réelle de l’élément parent du graphique. Il faut appeler la méthode IChart.ValidateChartLayout() au préalable pour remplir les propriétés avec les valeurs réelles.

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

Masquer des informations du graphique

Ce sujet vous aide à comprendre comment masquer des informations du graphique. En utilisant Aspose.Slides for Python via .NET, vous pouvez masquer le Titre, Axe vertical, Axe horizontal et les Lignes de la grille du graphique. L’exemple de code ci‑dessous montre comment utiliser ces propriétés.

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)

    # Masquer le titre du graphique
    chart.has_title = False

    # Masquer l'axe des valeurs
    chart.axes.vertical_axis.is_visible = False

    # Visibilité de l'axe des catégories
    chart.axes.horizontal_axis.is_visible = False

    # Masquer la légende
    chart.has_legend = False

    # Masquer les lignes principales de la grille
    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

    # Définir la couleur de la ligne de la série
    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)

FAQ

Les classeurs Excel externes fonctionnent-ils comme source de données, et comment cela affecte-t-il le recalcul ?

Oui. Un graphique peut référencer un classeur externe : lorsque vous connectez ou actualisez la source externe, les formules et les valeurs sont prises dans ce classeur, et le graphique reflète les mises à jour lors des opérations d’ouverture/modification. L’API vous permet de spécifier le classeur externe et de gérer les données liées.

Puis-je calculer et afficher les lignes de tendance sans implémenter moi‑même la régression ?

Oui. Les lignes de tendance (linéaires, exponentielles et autres) sont ajoutées et mises à jour par Aspose.Slides ; leurs paramètres sont recalculés à partir des données de séries automatiquement, vous n’avez donc pas besoin d’implémenter vos propres calculs.

Si une présentation contient plusieurs graphiques avec des liens externes, puis‑je contrôler quel classeur chaque graphique utilise pour les valeurs calculées ?

Oui. Chaque graphique peut pointer vers son propre classeur externe, ou vous pouvez créer/remplacer un classeur externe par graphique de façon indépendante des autres.