Les graphiques sont utilisés pour la représentation graphique des données, ce qui facilite l’analyse. Par conséquent, MS PowerPoint prend en charge une gamme de graphiques pour visualiser les données de différentes manières. Parmi tous, les graphiques les plus couramment utilisés incluent les graphiques à secteurs, les graphiques linéaires, les graphiques à barres, les histogrammes, les graphiques boursiers, etc. Dans cet article, vous apprendrez à créer ces graphiques dans PowerPoint PPT ou PPTX en Python.
- Bibliothèque Python pour créer des graphiques dans PowerPoint
- Créer un graphique à colonnes dans PowerPoint en Python
- Créer un graphique en nuage de points dans PPT en Python
- Ajouter un graphique à secteurs dans PPT en Python
- Ajouter un graphique d’histogramme dans PPT en Python
- Créer un graphique boursier dans PowerPoint en Python
- En savoir plus sur les graphiques
Bibliothèque Python pour créer des graphiques dans PowerPoint PPT
Pour créer des graphiques dans PowerPoint PPT/PPTX, nous utiliserons Aspose.Slides for Python via .NET. Il s’agit d’une bibliothèque riche en fonctionnalités qui fournit un package complet pour créer et manipuler des présentations PowerPoint. Vous pouvez l’installer à partir de PyPI à l’aide de la commande pip suivante.
> pip install aspose.slides
Aspose.Slides prend en charge une variété de graphiques qui peuvent être ajoutés dynamiquement aux présentations. Dans les sections suivantes, nous montrerons comment créer certains types de graphiques courants.
Créer un graphique à colonnes dans PowerPoint PPT en Python
Dans cette section, vous apprendrez à créer un histogramme dans une présentation PowerPoint en Python. Voici les étapes pour effectuer cette opération.
- Tout d’abord, créez une instance de la classe Presentation.
- Obtenez la référence de la diapositive à partir de Presentations.slides dans un objet.
- Ajoutez un histogramme groupé avec des données par défaut à l’aide de la méthode Slide.shapes.addchart().
- Définissez le titre du graphique et d’autres propriétés telles que la mise en forme du texte.
- Accédez au classeur de données de graphique dans un objet à l’aide de la méthode Chart.chartdata.chartdataworkbook().
- Effacez toutes les séries et catégories par défaut des données du graphique à l’aide des méthodes Chart.chartdata.series.clear() et Chart.chartdata.categories.clear() respectivement.
- Ajouter de nouvelles séries et catégories.
- Accédez à chaque série de graphiques dans un objet et ajoutez-y des points de données.
- Ajoutez une couleur de remplissage pour les séries de graphiques et définissez des étiquettes.
- Enfin, enregistrez la présentation à l’aide de la méthode Presentation.save(string, SaveFormat).
L’exemple de code suivant montre comment créer un histogramme dans PowerPoint PPT en Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create presentation (or load existing one)
with slides.Presentation() as pres:
# Access first slide
sld = pres.slides[0]
# Add chart with default data
chart = sld.shapes.add_chart(slides.charts.ChartType.CLUSTERED_COLUMN, 0, 0, 500, 500)
# Set chart title
chart.chart_title.add_text_frame_for_overriding("Sample Title")
chart.chart_title.text_frame_for_overriding.text_frame_format.center_text = 1
chart.chart_title.height = 20
chart.has_title = True
# Set first series to show values
chart.chart_data.series[0].labels.default_data_label_format.show_value = True
# Set the index of chart data sheet
defaultWorksheetIndex = 0
# Get the chart data worksheet
fact = chart.chart_data.chart_data_workbook
# Delete default generated series and categories
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
s = len(chart.chart_data.series)
s = len(chart.chart_data.categories)
# Add new series
chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.type)
chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.type)
# Add new categories
chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"))
chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"))
chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"))
# Take first chart series
series = chart.chart_data.series[0]
# Populate series data
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30))
# Set fill color for series
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = drawing.Color.blue
# Take second chart series
series = chart.chart_data.series[1]
# Populate series data
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 2, 30))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 2, 10))
series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 2, 60))
# Set fill color for series
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = drawing.Color.orange
# First label will show category name
lbl = series.data_points[0].label
lbl.data_label_format.show_category_name = True
lbl = series.data_points[1].label
lbl.data_label_format.show_series_name = True
# Show value for third label
lbl = series.data_points[2].label
lbl.data_label_format.show_value = True
lbl.data_label_format.show_series_name = True
lbl.data_label_format.separator = "/"
# Save presentation
pres.save("column-chart.pptx", slides.export.SaveFormat.PPTX)
Voici la capture d’écran de l’histogramme résultant.
Créer un diagramme de dispersion dans PowerPoint PPT en Python
Voici les étapes pour créer un nuage de points dans PowerPoint PPT en Python.
- Tout d’abord, créez une instance de la classe Presentation.
- Obtenez la référence de la diapositive à partir de Presentations.slides dans un objet.
- Ajoutez un nuage de points avec les données par défaut à l’aide de la méthode Slide.shapes.addchart().
- Accédez au classeur de données de graphique dans un objet à l’aide de la méthode Chart.chartdata.chartdataworkbook().
- Ajoutez une nouvelle série aux données du graphique.
- Accédez à chaque série dans un objet et ajoutez des points de données à la série.
- Définissez le marqueur de la série.
- Enfin, enregistrez la présentation à l’aide de la méthode Presentation.save(string, SaveFormat).
L’exemple de code suivant montre comment créer un graphique en nuage de points dans PowerPoint PPTX en Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create presentation (or load existing one)
with slides.Presentation() as pres:
# Access first slide
slide = pres.slides[0]
# Create the default chart
chart = slide.shapes.add_chart(slides.charts.ChartType.SCATTER_WITH_SMOOTH_LINES, 0, 0, 400, 400)
# Get the default chart data worksheet index
defaultWorksheetIndex = 0
# Get the chart data worksheet
fact = chart.chart_data.chart_data_workbook
# Delete demo series
chart.chart_data.series.clear()
# Add new series
chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.type)
chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 1, 3, "Series 2"), chart.type)
# Take first chart series
series = chart.chart_data.series[0]
# Add new point (1:3)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 1), fact.get_cell(defaultWorksheetIndex, 2, 2, 3))
# Add new point (2:10)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 2), fact.get_cell(defaultWorksheetIndex, 3, 2, 10))
# Edit the type of series
series.type = slides.charts.ChartType.SCATTER_WITH_STRAIGHT_LINES_AND_MARKERS
# Change the chart series marker
series.marker.size = 10
series.marker.symbol = slides.charts.MarkerStyleType.STAR
# Take second chart series
series = chart.chart_data.series[1]
# Add new point (5:2)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 2, 3, 5), fact.get_cell(defaultWorksheetIndex, 2, 4, 2))
# Add new point (3:1)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 3, 3, 3), fact.get_cell(defaultWorksheetIndex, 3, 4, 1))
# Add new point (2:2)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 4, 3, 2), fact.get_cell(defaultWorksheetIndex, 4, 4, 2))
# Add new point (5:1)
series.data_points.add_data_point_for_scatter_series(fact.get_cell(defaultWorksheetIndex, 5, 3, 5), fact.get_cell(defaultWorksheetIndex, 5, 4, 1))
# Change the chart series marker
series.marker.size = 10
series.marker.symbol = slides.charts.MarkerStyleType.CIRCLE
# Save presentation
pres.save("scatter-chart.pptx", slides.export.SaveFormat.PPTX)
La capture d’écran suivante montre le nuage de points résultant.
Créer un graphique à secteurs dans PowerPoint PPT en Python
Voici les étapes pour créer un graphique à secteurs dans un PPT PowerPoint en Python.
- Tout d’abord, créez une instance de la classe Presentation.
- Obtenez la référence de la diapositive à partir de Presentations.slides dans un objet.
- Ajoutez un graphique à secteurs avec des données par défaut à l’aide de la méthode Slide.shapes.addchart().
- Définissez le titre du graphique et d’autres propriétés telles que la mise en forme du texte.
- Définissez la visibilité des valeurs.
- Effacez toutes les séries et catégories par défaut des données du graphique à l’aide des méthodes Chart.chartdata.series.clear() et Chart.chartdata.categories.clear() respectivement.
- Accédez au classeur de données de graphique dans un objet à l’aide de la méthode Chart.chartdata.chartdataworkbook().
- Ajoutez de nouvelles catégories aux données du graphique.
- Ajoutez une nouvelle série aux données du graphique.
- Accédez à chaque série dans un objet et ajoutez des points de données à la série.
- Accédez à chaque point de données et définissez son formatage.
- Appliquez la mise en forme aux étiquettes de données dans les points de données.
- Définissez les lignes de repère et les angles de rotation.
- Enfin, enregistrez la présentation à l’aide de la méthode Presentation.save(string, SaveFormat).
L’exemple de code suivant montre comment créer un graphique à secteurs dans PowerPoint PPTX en Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create presentation (or load existing one)
with slides.Presentation() as presentation:
# Access first slide
slide = presentation.slides[0]
# Add chart with default data
chart = slide.shapes.add_chart(slides.charts.ChartType.PIE, 100, 100, 400, 400)
# Set chart title
chart.chart_title.add_text_frame_for_overriding("Sample Title")
chart.chart_title.text_frame_for_overriding.text_frame_format.center_text = 1
chart.chart_title.height = 20
chart.has_title = True
# Set first series to show values
chart.chart_data.series[0].labels.default_data_label_format.show_value = True
# Set the index of chart data sheet
defaultWorksheetIndex = 0
# Get the chart data worksheet
fact = chart.chart_data.chart_data_workbook
# Delete default generated series and categories
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
# Add new categories
chart.chart_data.categories.add(fact.get_cell(0, 1, 0, "First Qtr"))
chart.chart_data.categories.add(fact.get_cell(0, 2, 0, "2nd Qtr"))
chart.chart_data.categories.add(fact.get_cell(0, 3, 0, "3rd Qtr"))
# Add new series
series = chart.chart_data.series.add(fact.get_cell(0, 0, 1, "Series 1"), chart.type)
# Populate series data
series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20))
series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50))
series.data_points.add_data_point_for_pie_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30))
# Add new points and set sector color
chart.chart_data.series_groups[0].is_color_varied = True
point = series.data_points[0]
point.format.fill.fill_type = slides.FillType.SOLID
point.format.fill.solid_fill_color.color = drawing.Color.orange
# Set sector border
point.format.line.fill_format.fill_type = slides.FillType.SOLID
point.format.line.fill_format.solid_fill_color.color = drawing.Color.gray
point.format.line.width = 3.0
# point.format.line.style = slides.LineStyle.THIN_THICK
# point.format.line.dash_style = slides.LineDashStyle.DASH_DOT
point1 = series.data_points[1]
point1.format.fill.fill_type = slides.FillType.SOLID
point1.format.fill.solid_fill_color.color = drawing.Color.blue_violet
# Set sector border
point1.format.line.fill_format.fill_type = slides.FillType.SOLID
point1.format.line.fill_format.solid_fill_color.color = drawing.Color.blue
point1.format.line.width = 3.0
# point1.format.line.style = slides.LineStyle.SINGLE
# point1.format.line.dash_style = slides.LineDashStyle.LARGE_DASH_DOT
point2 = series.data_points[2]
point2.format.fill.fill_type = slides.FillType.SOLID
point2.format.fill.solid_fill_color.color = drawing.Color.yellow_green
# Set sector border
point2.format.line.fill_format.fill_type = slides.FillType.SOLID
point2.format.line.fill_format.solid_fill_color.color = drawing.Color.red
point2.format.line.width = 2.0
# point2.format.line.style = slides.LineStyle.THIN_THIN
# point2.format.line.dash_style = slides.LineDashStyle.LARGE_DASH_DOT_DOT
# Create custom labels for each of categories for new series
lbl1 = series.data_points[0].label
# lbl.show_category_name = True
lbl1.data_label_format.show_value = True
lbl2 = series.data_points[1].label
lbl2.data_label_format.show_value = True
lbl2.data_label_format.show_legend_key = True
lbl2.data_label_format.show_percentage = True
lbl3 = series.data_points[2].label
lbl3.data_label_format.show_series_name = True
lbl3.data_label_format.show_percentage = True
# Show leader lines for chart
# series.labels.default_data_label_format.show_leader_lines = True
# Set rotation angle for pie chart sectors
chart.chart_data.series_groups[0].first_slice_angle = 180
# Save presentation
presentation.save("pie-chart.pptx", slides.export.SaveFormat.PPTX)
Voici la capture d’écran du graphique à secteurs généré.
Ajouter un graphique d’histogramme dans PowerPoint PPTX en Python
Voici les étapes pour créer un histogramme dans PowerPoint PPT en utilisant Aspose.Slides for Python.
- Tout d’abord, créez une instance de la classe Presentation.
- Obtenez la référence de la diapositive à partir de Presentations.slides dans un objet.
- Ajoutez un graphique Histogramme avec les données par défaut à l’aide de la méthode Slide.shapes.addchart().
- Effacez les séries et catégories par défaut.
- Accédez au classeur de données de graphique dans un objet à l’aide de la méthode Chart.chartdata.chartdataworkbook().
- Ajoutez une nouvelle série aux données du graphique.
- Accédez à chaque série dans un objet et ajoutez des points de données à la série.
- Définissez le type d’agrégation de l’axe du graphique.
- Enfin, enregistrez la présentation à l’aide de la méthode Presentation.save(string, SaveFormat).
L’exemple de code suivant montre comment créer un graphique d’histogramme dans PPTX en Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create presentation (or load existing one)
with slides.Presentation() as pres:
# Add chart
chart = pres.slides[0].shapes.add_chart(slides.charts.ChartType.HISTOGRAM, 50, 50, 500, 400)
# Clear default categories and series
chart.chart_data.categories.clear()
chart.chart_data.series.clear()
# Access workbook
wb = chart.chart_data.chart_data_workbook
wb.clear(0)
# Add data points to series
series = chart.chart_data.series.add(slides.charts.ChartType.HISTOGRAM)
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A1", 15))
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A2", -41))
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A3", 16))
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A4", 10))
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A5", -23))
series.data_points.add_data_point_for_histogram_series(wb.get_cell(0, "A6", 16))
# Set aggregation type
chart.axes.horizontal_axis.aggregation_type = slides.charts.AxisAggregationType.AUTOMATIC
# Save presentation
pres.save("histogram-chart.pptx", slides.export.SaveFormat.PPTX)
Voici la capture d’écran du graphique d’histogramme créé.
Créer un graphique boursier dans PowerPoint à l’aide de Python
Les graphiques boursiers font également partie des types de graphiques couramment utilisés dans les présentations PowerPoint. Voici les étapes pour créer un graphique boursier dans un PPT en Python.
- Tout d’abord, créez une instance de la classe Presentation.
- Obtenez la référence de la diapositive à partir de Presentations.slides dans un objet.
- Ajoutez un graphique Open High Low Close avec des données par défaut à l’aide de la méthode Slide.shapes.addchart().
- Effacez les séries et catégories par défaut.
- Accédez au classeur de données de graphique dans un objet à l’aide de la méthode Chart.chartdata.chartdataworkbook().
- Ajoutez de nouvelles séries et catégories au graphique.
- Accédez à chaque série de graphiques et ajoutez des points de données.
- Spécifiez le format Hi Low Lines.
- Enfin, enregistrez la présentation à l’aide de la méthode Presentation.save(string, SaveFormat).
L’exemple de code suivant montre comment ajouter un graphique boursier à PowerPoint PPTX en Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create presentation (or load existing one)
with slides.Presentation() as pres:
# Add chart
chart = pres.slides[0].shapes.add_chart(slides.charts.ChartType.OPEN_HIGH_LOW_CLOSE, 50, 50, 600, 400, False)
# Clear default series and categories
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
# Access workbook
wb = chart.chart_data.chart_data_workbook
# Add categories
chart.chart_data.categories.add(wb.get_cell(0, 1, 0, "A"))
chart.chart_data.categories.add(wb.get_cell(0, 2, 0, "B"))
chart.chart_data.categories.add(wb.get_cell(0, 3, 0, "C"))
# Add series
chart.chart_data.series.add(wb.get_cell(0, 0, 1, "Open"), chart.type)
chart.chart_data.series.add(wb.get_cell(0, 0, 2, "High"), chart.type)
chart.chart_data.series.add(wb.get_cell(0, 0, 3, "Low"), chart.type)
chart.chart_data.series.add(wb.get_cell(0, 0, 4, "Close"), chart.type)
# Add data points
series = chart.chart_data.series[0]
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 1, 1, 72))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 2, 1, 25))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 3, 1, 38))
series = chart.chart_data.series[1]
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 1, 2, 172))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 2, 2, 57))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 3, 2, 57))
series = chart.chart_data.series[2]
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 1, 3, 12))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 2, 3, 12))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 3, 3, 13))
series = chart.chart_data.series[3]
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 1, 4, 25))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 2, 4, 38))
series.data_points.add_data_point_for_stock_series(wb.get_cell(0, 3, 4, 50))
chart.chart_data.series_groups[0].up_down_bars.has_up_down_bars = True
chart.chart_data.series_groups[0].hi_low_lines_format.line.fill_format.fill_type = slides.FillType.SOLID
# Set series fill formatting
for ser in chart.chart_data.series:
ser.format.line.fill_format.fill_type = slides.FillType.NO_FILL
# Save presentation
pres.save("stock-chart.pptx", slides.export.SaveFormat.PPTX)
Voici la capture d’écran du graphique boursier créé.
En savoir plus sur les graphiques
Il existe de nombreux autres graphiques que vous pouvez ajouter aux présentations PowerPoint à l’aide d’Aspose.Slides for Python. Pour en savoir plus sur les types de graphiques pris en charge, vous pouvez consulter cet article de documentation.
Obtenez une licence gratuite
Vous pouvez obtenir une licence temporaire gratuite pour essayer la bibliothèque sans limitation d’évaluation.
Conclusion
Dans cet article, vous avez appris à créer des graphiques dans PowerPoint PPT ou PPTX en Python. Nous avons parcouru les étapes et les exemples de code pour ajouter des histogrammes, des nuages de points, des camemberts, des histogrammes et des graphiques boursiers. Vous pouvez en savoir plus sur Aspose.Slides for Python en utilisant documentation. Si vous avez des questions ou des requêtes, faites-le nous savoir via notre forum.