Personnaliser les axes du graphique dans les présentations avec Python
Obtenir les valeurs maximales sur l’axe vertical des graphiques
Aspose.Slides for Python via .NET vous permet d’obtenir les valeurs minimale et maximale sur un axe vertical. Suivez ces étapes :
- Créez une instance de la classe Presentation.
- Accédez à la première diapositive.
- Ajoutez un graphique avec des données par défaut.
- Récupérez la valeur maximale réelle sur l’axe.
- Récupérez la valeur minimale réelle sur l’axe.
- Récupérez l’unité principale réelle de l’axe.
- Récupérez l’unité secondaire réelle de l’axe.
- Récupérez l’échelle de l’unité principale réelle de l’axe.
- Récupérez l’échelle de l’unité secondaire réelle de l’axe.
Ce code d’exemple — une implémentation des étapes ci‑above — montre comment obtenir les valeurs requises en Python :
import aspose.slides.charts as charts
import aspose.slides as slides
with slides.Presentation() as pres:
chart = pres.slides[0].shapes.add_chart(charts.ChartType.AREA, 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
# Enregistre la présentation
pres.save("ErrorBars_out.pptx", slides.export.SaveFormat.PPTX)
Échanger les données entre les axes
Aspose.Slides vous permet d’échanger rapidement les données entre les axes : les données représentées sur l’axe vertical (axe y) sont déplacées vers l’axe horizontal (axe x) et inversement.
Ce code Python montre comment effectuer l’échange de données entre les axes d’un graphique :
import aspose.slides.charts as charts
import aspose.slides as slides
# Crée une présentation vide
with slides.Presentation() as pres:
chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 400, 300)
#Échange les lignes et les colonnes
chart.chart_data.switch_row_column()
# Enregistre la présentation
pres.save("SwitchChartRowColumns_out.pptx", slides.export.SaveFormat.PPTX)
Désactiver l’axe vertical pour les graphiques en courbe
Ce code Python montre comment masquer l’axe vertical d’un graphique en courbe :
import aspose.slides.charts as charts
import aspose.slides as slides
with slides.Presentation() as pres:
chart = pres.slides[0].shapes.add_chart(charts.ChartType.LINE, 100, 100, 400, 300)
chart.axes.vertical_axis.is_visible = False
pres.save("chart-is_visible.pptx", slides.export.SaveFormat.PPTX)
Désactiver l’axe horizontal pour les graphiques en courbe
Ce code montre comment masquer l’axe horizontal d’un graphique en courbe :
import aspose.slides.charts as charts
import aspose.slides as slides
with slides.Presentation() as pres:
chart = pres.slides[0].shapes.add_chart(charts.ChartType.LINE, 100, 100, 400, 300)
chart.axes.horizontal_axis.is_visible = False
pres.save("chart-2.pptx", slides.export.SaveFormat.PPTX)
Modifier l’axe des catégories
En utilisant la propriété CategoryAxisType, vous pouvez spécifier le type d’axe des catégories souhaité (date ou text). Ce code en Python montre l’opération :
import aspose.slides.charts as charts
import aspose.slides as slides
with slides.Presentation(path + "ExistingChart.pptx") as presentation:
chart = presentation.slides[0].shapes[0]
chart.axes.horizontal_axis.category_axis_type = charts.CategoryAxisType.DATE
chart.axes.horizontal_axis.is_automatic_major_unit = False
chart.axes.horizontal_axis.major_unit = 1
chart.axes.horizontal_axis.major_unit_scale = charts.TimeUnitType.MONTHS
presentation.save("ChangeChartCategoryAxis_out.pptx", slides.export.SaveFormat.PPTX)
Définir le format de date pour la valeur de l’axe des catégories
Aspose.Slides for Python via .NET vous permet de définir le format de date pour une valeur d’axe des catégories. L’opération est démontrée dans ce code Python :
import aspose.slides.charts as charts
import aspose.slides as slides
from datetime import date
def to_oadate(dt):
delta = dt - date(1899, 12, 30)
return delta.days + (delta.seconds + delta.microseconds / 1e6) / (24 * 3600)
with slides.Presentation() as pres:
chart = pres.slides[0].shapes.add_chart(charts.ChartType.AREA, 50, 50, 450, 300)
wb = chart.chart_data.chart_data_workbook
wb.clear(0)
chart.chart_data.categories.clear()
chart.chart_data.series.clear()
chart.chart_data.categories.add(wb.get_cell(0, "A2", to_oadate(date(2015, 1, 1))))
chart.chart_data.categories.add(wb.get_cell(0, "A3", to_oadate(date(2016, 1, 1))))
chart.chart_data.categories.add(wb.get_cell(0, "A4", to_oadate(date(2017, 1, 1))))
chart.chart_data.categories.add(wb.get_cell(0, "A5", to_oadate(date(2018, 1, 1))))
series = chart.chart_data.series.add(charts.ChartType.LINE)
series.data_points.add_data_point_for_line_series(wb.get_cell(0, "B2", 1))
series.data_points.add_data_point_for_line_series(wb.get_cell(0, "B3", 2))
series.data_points.add_data_point_for_line_series(wb.get_cell(0, "B4", 3))
series.data_points.add_data_point_for_line_series(wb.get_cell(0, "B5", 4))
chart.axes.horizontal_axis.category_axis_type = charts.CategoryAxisType.DATE
chart.axes.horizontal_axis.is_number_format_linked_to_source = False
chart.axes.horizontal_axis.number_format = "yyyy"
pres.save("test.pptx", slides.export.SaveFormat.PPTX)
Définir l’angle de rotation du titre de l’axe du graphique
Aspose.Slides for Python via .NET vous permet de définir l’angle de rotation du titre d’un axe de graphique. Ce code Python montre l’opération :
import aspose.slides.charts as charts
import aspose.slides as slides
with slides.Presentation() as pres:
chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 450, 300)
chart.axes.vertical_axis.has_title = True
chart.axes.vertical_axis.title.text_format.text_block_format.rotation_angle = 90
pres.save("test.pptx", slides.export.SaveFormat.PPTX)
Définir la position de l’axe dans un axe de catégorie ou de valeur
Aspose.Slides for Python via .NET vous permet de définir la position de l’axe dans un axe de catégorie ou de valeur. Ce code Python montre comment réaliser la tâche :
import aspose.slides.charts as charts
import aspose.slides as slides
with slides.Presentation() as pres:
chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 450, 300)
chart.axes.horizontal_axis.axis_between_categories = True
pres.save("AsposeScatterChart.pptx", slides.export.SaveFormat.PPTX)
Activer l’étiquette d’unité d’affichage sur l’axe de valeur du graphique
Aspose.Slides for Python via .NET vous permet de configurer un graphique pour afficher une étiquette d’unité sur son axe de valeur. Ce code Python montre l’opération :
import aspose.slides.charts as charts
import aspose.slides as slides
with slides.Presentation() as pres:
chart = pres.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 450, 300)
chart.axes.vertical_axis.display_unit = charts.DisplayUnitType.MILLIONS
pres.save("Result.pptx", slides.export.SaveFormat.PPTX)
FAQ
Comment définir la valeur à laquelle un axe croise l’autre (croisement d’axe) ?
Les axes offrent un paramètre de croisement : vous pouvez choisir de croiser à zéro, au maximum de la catégorie/valeur, ou à une valeur numérique spécifique. Cela est utile pour déplacer l’axe X vers le haut ou le bas ou pour mettre en évidence une ligne de base.
Comment positionner les étiquettes de repère par rapport à l’axe (à côté, à l’extérieur, à l’intérieur) ?
Définissez la position de l’étiquette sur “cross”, “outside” ou “inside”. Cela affecte la lisibilité et aide à économiser de l’espace, notamment sur les petits graphiques.