Диаграммы используются для графического представления данных, что упрощает анализ. Таким образом, MS PowerPoint поддерживает ряд диаграмм для визуализации данных различными способами. Наиболее часто используемые диаграммы включают круговые диаграммы, линейные диаграммы, гистограммы, гистограммы, биржевые диаграммы и т. д. В этой статье вы узнаете, как создавать эти диаграммы в PowerPoint PPT или PPTX на Python.
- Библиотека Python для создания диаграмм в PowerPoint
- Создать столбчатую диаграмму в PowerPoint на Python
- Создайте точечную диаграмму в PPT на Python
- Добавить круговую диаграмму в PPT на Python
- Добавить диаграмму гистограммы в PPT на Python
- Создайте биржевую диаграмму в PowerPoint на Python
- Подробнее о диаграммах
Библиотека Python для создания диаграмм в PowerPoint PPT
Для создания диаграмм в PowerPoint PPT/PPTX мы будем использовать Aspose.Slides для Python через .NET. Это многофункциональная библиотека, которая предоставляет полный пакет для создания презентаций PowerPoint и управления ими. Вы можете установить его из PyPI с помощью следующей команды pip.
> pip install aspose.slides
Aspose.Slides поддерживает множество диаграмм, которые можно динамически добавлять в презентации. В следующих разделах мы покажем, как создавать некоторые популярные типы диаграмм.
Создать столбчатую диаграмму в PowerPoint PPT на Python
В этом разделе вы узнаете, как создать столбчатую диаграмму в презентации PowerPoint на Python. Ниже приведены шаги для выполнения этой операции.
- Сначала создайте экземпляр класса Presentation.
- Получите ссылку на слайд из Presentations.slides в объекте.
- Добавьте диаграмму Clustered Column с данными по умолчанию, используя метод Slide.shapes.addchart().
- Установите заголовок диаграммы и другие свойства, такие как форматирование текста.
- Получите доступ к рабочей книге данных диаграммы в объект, используя метод Chart.chartdata.chartdataworkbook().
- Удалите все ряды и категории по умолчанию из данных диаграммы с помощью методов Chart.chartdata.series.clear() и Chart.chartdata.categories.clear() соответственно.
- Добавляйте новые серии и категории.
- Получите доступ к каждой серии диаграммы в объект и добавьте к нему точки данных.
- Добавьте цвет заливки для серии диаграмм и установите метки.
- Наконец, сохраните презентацию с помощью метода Presentation.save(string, SaveFormat).
В следующем примере кода показано, как создать столбчатую диаграмму в PowerPoint PPT на 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)
Ниже приведен скриншот полученной гистограммы.
Создайте точечную диаграмму в PowerPoint PPT на Python
Ниже приведены шаги по созданию точечной диаграммы в PowerPoint PPT на Python.
- Сначала создайте экземпляр класса Presentation.
- Получите ссылку на слайд из Presentations.slides в объекте.
- Добавьте точечную диаграмму с данными по умолчанию, используя метод Slide.shapes.addchart().
- Получите доступ к рабочей книге данных диаграммы в объект, используя метод Chart.chartdata.chartdataworkbook().
- Добавьте новые ряды к данным диаграммы.
- Получите доступ к каждой серии в объект и добавьте точки данных в серию.
- Установите маркер для серии.
- Наконец, сохраните презентацию с помощью метода Presentation.save(string, SaveFormat).
В следующем примере кода показано, как создать точечную диаграмму в PowerPoint PPTX на 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)
На следующем снимке экрана показана результирующая диаграмма рассеяния.
Создание круговой диаграммы в PowerPoint PPT на Python
Ниже приведены шаги по созданию круговой диаграммы в PowerPoint PPT на Python.
- Сначала создайте экземпляр класса Presentation.
- Получите ссылку на слайд из Presentations.slides в объекте.
- Добавьте круговую диаграмму с данными по умолчанию, используя метод Slide.shapes.addchart().
- Установите заголовок диаграммы и другие свойства, такие как форматирование текста.
- Установить видимость значений.
- Удалите все ряды и категории по умолчанию из данных диаграммы с помощью методов Chart.chartdata.series.clear() и Chart.chartdata.categories.clear() соответственно.
- Получите доступ к рабочей книге данных диаграммы в объект, используя метод Chart.chartdata.chartdataworkbook().
- Добавьте новые категории к данным диаграммы.
- Добавьте новые ряды к данным диаграммы.
- Получите доступ к каждой серии в объект и добавьте точки данных в серию.
- Получите доступ к каждой точке данных и установите ее форматирование.
- Примените форматирование к меткам данных в точках данных.
- Задайте линии выноски и углы поворота.
- Наконец, сохраните презентацию с помощью метода Presentation.save(string, SaveFormat).
В следующем примере кода показано, как создать круговую диаграмму в PowerPoint PPTX на 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)
Ниже приведен скриншот сгенерированной круговой диаграммы.
Добавить диаграмму гистограммы в PowerPoint PPTX в Python
Ниже приведены шаги по созданию гистограммы в PowerPoint PPT с использованием Aspose.Slides для Python.
- Сначала создайте экземпляр класса Presentation.
- Получите ссылку на слайд из Presentations.slides в объекте.
- Добавьте гистограмму с данными по умолчанию, используя метод Slide.shapes.addchart().
- Очистите серии и категории по умолчанию.
- Получите доступ к рабочей книге данных диаграммы в объект, используя метод Chart.chartdata.chartdataworkbook().
- Добавьте новые ряды к данным диаграммы.
- Получите доступ к каждой серии в объект и добавьте точки данных в серию.
- Установите тип агрегации оси диаграммы.
- Наконец, сохраните презентацию с помощью метода Presentation.save(string, SaveFormat).
В следующем примере кода показано, как создать гистограмму в формате PPTX в 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)
Ниже приведен скриншот созданного графика гистограммы.
Создайте биржевую диаграмму в PowerPoint с помощью Python
Биржевые диаграммы также являются одними из наиболее часто используемых типов диаграмм в презентациях PowerPoint. Ниже приведены шаги для создания биржевой диаграммы в PPT на Python.
- Сначала создайте экземпляр класса Presentation.
- Получите ссылку на слайд из Presentations.slides в объекте.
- Добавьте диаграмму Open High Low Close с данными по умолчанию, используя метод Slide.shapes.addchart().
- Очистите серии и категории по умолчанию.
- Получите доступ к рабочей книге данных диаграммы в объект, используя метод Chart.chartdata.chartdataworkbook().
- Добавляйте в диаграмму новые серии и категории.
- Получите доступ к каждой серии диаграмм и добавьте точки данных.
- Укажите формат Hi Low Lines.
- Наконец, сохраните презентацию с помощью метода Presentation.save(string, SaveFormat).
В следующем примере кода показано, как добавить биржевую диаграмму в PowerPoint PPTX на 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)
Ниже приведен скриншот созданного биржевого графика.
Подробнее о диаграммах
Есть много других диаграмм, которые вы можете добавить в презентации PowerPoint, используя Aspose.Slides для Python. Чтобы узнать больше о поддерживаемых типах диаграмм, посетите эту статью документации.
Получить бесплатную лицензию
Вы можете получить бесплатную временную лицензию, чтобы опробовать библиотеку без ограничений пробной версии.
Вывод
В этой статье вы узнали, как создавать диаграммы в PowerPoint PPT или PPTX на Python. Мы рассмотрели шаги и примеры кода, как добавить гистограммы, точечные диаграммы, круговые диаграммы, гистограммы и биржевые диаграммы. Вы можете узнать больше об Aspose.Slides для Python, используя документацию. Если у вас возникнут какие-либо вопросы или вопросы, дайте нам знать через наш форум.