Создание или обновление диаграмм презентаций PowerPoint на Python
Обзор
В этой статье представлено всестороннее руководство по созданию и настройке диаграмм с помощью Aspose.Slides for Python via .NET. Вы узнаете, как программно добавить диаграмму на слайд, заполнить её данными и применить различные параметры форматирования в соответствии с вашими требованиями к дизайну. На протяжении всей статьи подробные примеры кода иллюстрируют каждый шаг, от инициализации презентации и объекта диаграммы до настройки серий, осей и легенд. Следуя этому руководству, вы получите чёткое представление о том, как интегрировать динамическое создание диаграмм в свои приложения, упрощая процесс создания презентаций, основанных на данных.
Создать диаграмму
Диаграммы помогают быстро визуализировать данные и получать инсайты, которые могут не быть очевидными из таблицы или электронной таблицы.
Зачем создавать диаграммы?
- агрегировать, уплотнять или суммировать большие объёмы данных на одном слайде презентации;
- выявлять модели и тенденции в данных;
- определять направление и динамику данных во времени или относительно конкретной единицы измерения;
- выявлять выбросы, отклонения, ошибки и бессмысленные данные;
- коммуницировать или представлять сложные данные.
В PowerPoint вы можете создавать диаграммы через функцию Insert, которая предоставляет шаблоны для проектирования различных типов диаграмм. С помощью Aspose.Slides можно создавать как обычные диаграммы (на основе популярных типов), так и пользовательские диаграммы.
Создание сгруппированных столбчатых диаграмм
В этом разделе объясняется, как создавать сгруппированные столбчатые диаграммы с помощью Aspose.Slides for Python via .NET. Вы узнаете, как инициализировать презентацию, добавить диаграмму и настроить её элементы, такие как заголовок, данные, серии, категории и стиль. Следуйте инструкциям ниже, чтобы увидеть, как генерируется стандартная сгруппированная столбчатая диаграмма:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его индекс.
- Добавьте диаграмму с некоторыми данными и укажите тип
ChartType.CLUSTERED_COLUMN. - Добавьте заголовок к диаграмме.
- Получите доступ к листу данных диаграммы.
- Очистите все серии и категории по умолчанию.
- Добавьте новые серии и категории.
- Добавьте новые данные диаграммы для её серий.
- Примените цвет заливки к сериям диаграммы.
- Добавьте подписи к сериям диаграммы.
- Сохраните изменённую презентацию в файле PPTX.
Этот Python‑код демонстрирует, как создать группированную столбчатую диаграмму:
import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw
# Создайте экземпляр класса Presentation, представляющего файл PPTX.
with slides.Presentation() as presentation:
# Получите доступ к первому слайду.
slide = presentation.slides[0]
# Добавьте сгруппированную столбчатую диаграмму с её данными по умолчанию.
chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 300)
# Установите заголовок диаграммы.
chart.chart_title.add_text_frame_for_overriding("Sample Title")
chart.chart_title.text_frame_for_overriding.text_frame_format.center_text = slides.NullableBool.TRUE
chart.chart_title.height = 20
chart.has_title = True
# Установите отображение значений для первой серии.
chart.chart_data.series[0].labels.default_data_label_format.show_value = True
# Установите индекс листа данных диаграммы.
worksheet_index = 0
# Получите рабочую книгу данных диаграммы.
workbook = chart.chart_data.chart_data_workbook
# Удалите автоматически сгенерированные серии и категории.
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
# Добавьте новые серии.
chart.chart_data.series.add(workbook.get_cell(worksheet_index, 0, 1, "Series 1"), chart.type)
chart.chart_data.series.add(workbook.get_cell(worksheet_index, 0, 2, "Series 2"), chart.type)
# Добавьте новые категории.
chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 1, 0, "Category 1"))
chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 2, 0, "Category 2"))
chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 3, 0, "Category 3"))
# Получите первую серию диаграммы.
series = chart.chart_data.series[0]
# Заполните данные серии.
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 1, 1, 20))
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 2, 1, 50))
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 3, 1, 30))
# Установите цвет заливки для серии.
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = draw.Color.red
# Получите вторую серию диаграммы.
series = chart.chart_data.series[1]
# Заполните данные серии.
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 1, 2, 30))
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 2, 2, 10))
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 3, 2, 60))
# Установите цвет заливки для серии.
series.format.fill.fill_type = slides.FillType.SOLID
series.format.fill.solid_fill_color.color = draw.Color.green
# Установите отображение названия категории в первой метке.
label = series.data_points[0].label
label.data_label_format.show_category_name = True
label = series.data_points[1].label
label.data_label_format.show_series_name = True
# Установите отображение значения для третьей метки серии.
label = series.data_points[2].label
label.data_label_format.show_value = True
label.data_label_format.show_series_name = True
label.data_label_format.separator = "/"
# Сохраните презентацию на диск в формате PPTX.
presentation.save("ClusteredColumnChart.pptx", slides.export.SaveFormat.PPTX)
Результат:

Создание точечных диаграмм
Точечные диаграммы (также известные как рассеяния или графики x-y) часто используются для проверки наличия шаблонов или демонстрации корреляций между двумя переменными.
Используйте точечную диаграмму, когда:
- У вас есть парные числовые данные.
- У вас есть две переменные, которые хорошо сочетаются друг с другом.
- Вы хотите определить, связаны ли две переменные.
- У вас есть независимая переменная, имеющая несколько значений для зависимой переменной.
Этот Python‑код показывает, как создать точечную диаграмму с разными маркерами рядов:
import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw
# Создайте экземпляр класса Presentation.
with slides.Presentation() as presentation:
# Получите доступ к первому слайду.
slide = presentation.slides[0]
# Создайте диаграмму рассеяния по умолчанию.
chart = slide.shapes.add_chart(charts.ChartType.SCATTER_WITH_SMOOTH_LINES, 20, 20, 500, 300)
# Установите индекс листа данных диаграммы.
worksheet_index = 0
# Получите рабочую книгу данных диаграммы.
workbook = chart.chart_data.chart_data_workbook
# Удалите серии по умолчанию.
chart.chart_data.series.clear()
# Добавьте новые серии.
chart.chart_data.series.add(workbook.get_cell(worksheet_index, 1, 1, "Series 1"), chart.type)
chart.chart_data.series.add(workbook.get_cell(worksheet_index, 1, 3, "Series 2"), chart.type)
# Получите первую серию диаграммы.
series = chart.chart_data.series[0]
# Добавьте новую точку (1:3) в серию.
series.data_points.add_data_point_for_scatter_series(workbook.get_cell(worksheet_index, 2, 1, 1), workbook.get_cell(worksheet_index, 2, 2, 3))
# Добавьте новую точку (2:10).
series.data_points.add_data_point_for_scatter_series(workbook.get_cell(worksheet_index, 3, 1, 2), workbook.get_cell(worksheet_index, 3, 2, 10))
# Измените тип серии.
series.type = charts.ChartType.SCATTER_WITH_STRAIGHT_LINES_AND_MARKERS
# Измените маркер серии диаграммы.
series.marker.size = 10
series.marker.symbol = charts.MarkerStyleType.STAR
# Получите вторую серию диаграммы.
series = chart.chart_data.series[1]
# Добавьте новую точку (5:2) в серию диаграммы.
series.data_points.add_data_point_for_scatter_series(workbook.get_cell(worksheet_index, 2, 3, 5), workbook.get_cell(worksheet_index, 2, 4, 2))
# Добавьте новую точку (3:1).
series.data_points.add_data_point_for_scatter_series(workbook.get_cell(worksheet_index, 3, 3, 3), workbook.get_cell(worksheet_index, 3, 4, 1))
# Добавьте новую точку (2:2).
series.data_points.add_data_point_for_scatter_series(workbook.get_cell(worksheet_index, 4, 3, 2), workbook.get_cell(worksheet_index, 4, 4, 2))
# Добавьте новую точку (5:1).
series.data_points.add_data_point_for_scatter_series(workbook.get_cell(worksheet_index, 5, 3, 5), workbook.get_cell(worksheet_index, 5, 4, 1))
# Измените маркер серии диаграммы.
series.marker.size = 10
series.marker.symbol = charts.MarkerStyleType.CIRCLE
presentation.save("ScatterChart.pptx", slides.export.SaveFormat.PPTX)
Результат:

Создание круговых диаграмм
Круговые диаграммы лучше всего использовать для отображения соотношения часть‑к‑целому в данных, особенно когда данные содержат категориальные метки с числовыми значениями. Однако если в ваших данных много частей или меток, стоит рассмотреть использование столбчатой диаграммы.
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его индекс.
- Добавьте диаграмму с данными по умолчанию и укажите тип
ChartType.PIE. - Получите доступ к рабочей книге данных диаграммы (ChartDataWorkbook).
- Очистите серии и категории по умолчанию.
- Добавьте новые серии и категории.
- Добавьте новые данные диаграммы для её серий.
- Добавьте новые точки в диаграмму и примените пользовательские цвета к секторам круговой диаграммы.
- Установите подписи для серий.
- Включите линии‑выноски для подписей серий.
- Установите угол вращения для круговой диаграммы.
- Сохраните изменённую презентацию в файле PPTX.
import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw
# Создайте экземпляр класса Presentation, представляющего файл PPTX.
with slides.Presentation() as presentation:
# Получите доступ к первому слайду.
slide = presentation.slides[0]
# Добавьте диаграмму с её данными по умолчанию.
chart = slide.shapes.add_chart(charts.ChartType.PIE, 20, 20, 500, 300)
# Установите заголовок диаграммы.
chart.chart_title.add_text_frame_for_overriding("Sample Title")
chart.chart_title.text_frame_for_overriding.text_frame_format.center_text = slides.NullableBool.TRUE
chart.chart_title.height = 20
chart.has_title = True
# Установите отображение значений для первой серии.
chart.chart_data.series[0].labels.default_data_label_format.show_value = True
# Установите индекс листа данных диаграммы.
worksheet_index = 0
# Получите рабочую книгу данных диаграммы.
workbook = chart.chart_data.chart_data_workbook
# Удалите автоматически созданные серии и категории.
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
# Добавьте новые категории.
chart.chart_data.categories.add(workbook.get_cell(0, 1, 0, "First Qtr"))
chart.chart_data.categories.add(workbook.get_cell(0, 2, 0, "2nd Qtr"))
chart.chart_data.categories.add(workbook.get_cell(0, 3, 0, "3rd Qtr"))
# Добавьте новые серии.
series = chart.chart_data.series.add(workbook.get_cell(0, 0, 1, "Series 1"), chart.type)
# Заполните данные серии.
series.data_points.add_data_point_for_pie_series(workbook.get_cell(worksheet_index, 1, 1, 20))
series.data_points.add_data_point_for_pie_series(workbook.get_cell(worksheet_index, 2, 1, 50))
series.data_points.add_data_point_for_pie_series(workbook.get_cell(worksheet_index, 3, 1, 30))
# Установите цвет сегмента.
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 = draw.Color.cyan
# Установите границу сегмента.
point.format.line.fill_format.fill_type = slides.FillType.SOLID
point.format.line.fill_format.solid_fill_color.color = draw.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 = draw.Color.brown
# Установите границу сегмента.
point1.format.line.fill_format.fill_type = slides.FillType.SOLID
point1.format.line.fill_format.solid_fill_color.color = draw.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 = draw.Color.coral
# Установите границу сегмента.
point2.format.line.fill_format.fill_type = slides.FillType.SOLID
point2.format.line.fill_format.solid_fill_color.color = draw.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
# Создайте пользовательские подписи для каждой категории в новой серии.
label1 = series.data_points[0].label
label1.data_label_format.show_value = True
label2 = series.data_points[1].label
label2.data_label_format.show_value = True
label2.data_label_format.show_legend_key = True
label2.data_label_format.show_percentage = True
label3 = series.data_points[2].label
label3.data_label_format.show_series_name = True
label3.data_label_format.show_percentage = True
# Установите отображение выносных линий для серии в диаграмме.
series.labels.default_data_label_format.show_leader_lines = True
# Установите угол поворота секторов круговой диаграммы.
chart.chart_data.series_groups[0].first_slice_angle = 180
# Сохраните презентацию на диск в формате PPTX.
presentation.save("PieChart.pptx", slides.export.SaveFormat.PPTX)
Результат:

Создание линейных диаграмм
Линейные диаграммы (также известные как линейные графики) лучше всего использовать в ситуациях, когда нужно продемонстрировать изменения значения во времени. С помощью линейной диаграммы можно одновременно сравнивать большой объём данных, отслеживать изменения и тенденции, подчёркивать аномалии в сериалах данных и многое другое.
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его индекс.
- Добавьте диаграмму с данными по умолчанию и укажите тип
ChartType.LINE. - Получите доступ к рабочей книге данных диаграммы (ChartDataWorkbook).
- Очистите серии и категории по умолчанию.
- Добавьте новые серии и категории.
- Добавьте новые данные диаграммы для её серий.
- Сохраните изменённую презентацию в файле PPTX.
Этот Python‑код показывает, как создать линейную диаграмму:
import aspose.slides as slides
with slides.Presentation() as presentation:
line_chart = presentation.slides[0].shapes.add_chart(slides.charts.ChartType.LINE, 20, 20, 500, 300)
presentation.save("LineChart.pptx", slides.export.SaveFormat.PPTX)
По умолчанию точки на линейной диаграмме соединяются сплошными прямыми линиями. Если вы хотите, чтобы точки соединялись пунктиром, укажите желаемый тип пунктировки следующим образом:
По умолчанию точки на линейной диаграмме соединяются прямыми сплошными линиями. Если вы хотите соединять точки пунктиром, задайте нужный тип пунктирной линии следующим образом:
line_chart = pres.slides[0].shapes.add_chart(slides.charts.ChartType.LINE, 10, 50, 600, 350)
for series in line_chart.chart_data.series:
series.format.line.dash_style = slides.charts.LineDashStyle.DASH
Результат:

Создание диаграмм дерева
Диаграммы дерева лучше всего использовать для данных о продажах, когда нужно показать относительный размер категорий и быстро привлечь внимание к элементам, являющимся крупными вкладчиками в каждой категории.
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его индекс.
- Добавьте диаграмму с данными по умолчанию и укажите тип
ChartType.TREEMAP. - Получите доступ к рабочей книге данных диаграммы (ChartDataWorkbook).
- Очистите серии и категории по умолчанию.
- Добавьте новые серии и категории.
- Добавьте новые данные диаграммы для её серий.
- Сохраните изменённую презентацию в файле PPTX.
Диаграммы Tree Map лучше всего использовать для данных о продажах, когда нужно показать относительные размеры категорий данных и быстро привлечь внимание к элементам, которые являются крупными вкладами в каждой категории.
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его индекс.
- Добавьте диаграмму с данными по умолчанию и укажите тип
ChartType.TREEMAP. - Получите доступ к рабочей книге данных диаграммы (ChartDataWorkbook).
- Очистите ряды и категории по умолчанию.
- Добавьте новые ряды и категории.
- Добавьте новые данные диаграммы для рядов.
- Сохраните изменённую презентацию в файл PPTX.
Этот Python‑код показывает, как создать диаграмму Tree Map:
import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as presentation:
chart = presentation.slides[0].shapes.add_chart(charts.ChartType.TREEMAP, 20, 20, 500, 300)
chart.chart_data.categories.clear()
chart.chart_data.series.clear()
workbook = chart.chart_data.chart_data_workbook
workbook.clear(0)
# Ветвь 1
leaf = chart.chart_data.categories.add(workbook.get_cell(0, "C1", "Leaf1"))
leaf.grouping_levels.set_grouping_item(1, "Stem1")
leaf.grouping_levels.set_grouping_item(2, "Branch1")
chart.chart_data.categories.add(workbook.get_cell(0, "C2", "Leaf2"))
leaf = chart.chart_data.categories.add(workbook.get_cell(0, "C3", "Leaf3"))
leaf.grouping_levels.set_grouping_item(1, "Stem2")
chart.chart_data.categories.add(workbook.get_cell(0, "C4", "Leaf4"))
# Ветвь 2
leaf = chart.chart_data.categories.add(workbook.get_cell(0, "C5", "Leaf5"))
leaf.grouping_levels.set_grouping_item(1, "Stem3")
leaf.grouping_levels.set_grouping_item(2, "Branch2")
chart.chart_data.categories.add(workbook.get_cell(0, "C6", "Leaf6"))
leaf = chart.chart_data.categories.add(workbook.get_cell(0, "C7", "Leaf7"))
leaf.grouping_levels.set_grouping_item(1, "Stem4")
chart.chart_data.categories.add(workbook.get_cell(0, "C8", "Leaf8"))
series = chart.chart_data.series.add(charts.ChartType.TREEMAP)
series.labels.default_data_label_format.show_category_name = True
series.data_points.add_data_point_for_treemap_series(workbook.get_cell(0, "D1", 4))
series.data_points.add_data_point_for_treemap_series(workbook.get_cell(0, "D2", 5))
series.data_points.add_data_point_for_treemap_series(workbook.get_cell(0, "D3", 3))
series.data_points.add_data_point_for_treemap_series(workbook.get_cell(0, "D4", 6))
series.data_points.add_data_point_for_treemap_series(workbook.get_cell(0, "D5", 9))
series.data_points.add_data_point_for_treemap_series(workbook.get_cell(0, "D6", 9))
series.data_points.add_data_point_for_treemap_series(workbook.get_cell(0, "D7", 4))
series.data_points.add_data_point_for_treemap_series(workbook.get_cell(0, "D8", 3))
series.parent_label_layout = charts.ParentLabelLayoutType.OVERLAPPING
presentation.save("TreeMap.pptx", slides.export.SaveFormat.PPTX)
Результат:

Создание биржевых диаграмм
Биржевые диаграммы используются для отображения финансовых данных, таких как цены открытия, максимумы, минимумы и закрытия, помогая анализировать рыночные тенденции и волатильность. Они предоставляют важные инсайты о динамике акций, поддерживая инвесторов и аналитиков в принятии обоснованных решений.
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его индекс.
- Добавьте диаграмму с данными по умолчанию и укажите тип
ChartType.OPEN_HIGH_LOW_CLOSE. - Получите доступ к рабочей книге данных диаграммы (ChartDataWorkbook).
- Очистите серии и категории по умолчанию.
- Добавьте новые серии и категории.
- Добавьте новые данные диаграммы для её серий.
- Укажите формат HiLowLines.
- Сохраните изменённую презентацию в файле PPTX.
Создание фондовых (Stock) диаграмм
Фондовые диаграммы используются для отображения финансовых данных, таких как цены открытия, максимума, минимума и закрытия, помогая анализировать рыночные тренды и волатильность. Они предоставляют ключевые инсайты о динамике акций, способствуя принятию обоснованных решений инвесторами и аналитиками.
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его индекс.
- Добавьте диаграмму с данными по умолчанию и укажите тип
ChartType.OPEN_HIGH_LOW_CLOSE. - Получите доступ к рабочей книге данных диаграммы (ChartDataWorkbook).
- Очистите ряды и категории по умолчанию.
- Добавьте новые ряды и категории.
- Добавьте новые данные диаграммы для рядов.
- Укажите формат HiLowLines.
- Сохраните изменённую презентацию в файл PPTX.
Этот Python‑код показывает, как создать фондовую диаграмму:
import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as presentation:
chart = presentation.slides[0].shapes.add_chart(charts.ChartType.OPEN_HIGH_LOW_CLOSE, 20, 20, 500, 300, False)
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
workbook = chart.chart_data.chart_data_workbook
chart.chart_data.categories.add(workbook.get_cell(0, 1, 0, "A"))
chart.chart_data.categories.add(workbook.get_cell(0, 2, 0, "B"))
chart.chart_data.categories.add(workbook.get_cell(0, 3, 0, "C"))
chart.chart_data.series.add(workbook.get_cell(0, 0, 1, "Open"), chart.type)
chart.chart_data.series.add(workbook.get_cell(0, 0, 2, "High"), chart.type)
chart.chart_data.series.add(workbook.get_cell(0, 0, 3, "Low"), chart.type)
chart.chart_data.series.add(workbook.get_cell(0, 0, 4, "Close"), chart.type)
series = chart.chart_data.series[0]
series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 1, 1, 72))
series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 2, 1, 25))
series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 3, 1, 38))
series = chart.chart_data.series[1]
series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 1, 2, 172))
series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 2, 2, 57))
series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 3, 2, 57))
series = chart.chart_data.series[2]
series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 1, 3, 12))
series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 2, 3, 12))
series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 3, 3, 13))
series = chart.chart_data.series[3]
series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 1, 4, 25))
series.data_points.add_data_point_for_stock_series(workbook.get_cell(0, 2, 4, 38))
series.data_points.add_data_point_for_stock_series(workbook.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
for ser in chart.chart_data.series:
ser.format.line.fill_format.fill_type = slides.FillType.NO_FILL
presentation.save("StockChart.pptx", slides.export.SaveFormat.PPTX)
Результат:

Создание коробчатых диаграмм
Коробчатые диаграммы используются для отображения распределения данных, суммируя ключевые статистические меры, такие как медиана, квартали и потенциальные выбросы. Они особенно полезны в исследовательском анализе данных и статистических исследованиях для быстрого понимания изменчивости данных и выявления аномалий.
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его индекс.
- Добавьте диаграмму с данными по умолчанию и укажите тип
ChartType.BOX_AND_WHISKER. - Получите доступ к рабочей книге данных диаграммы (ChartDataWorkbook).
- Очистите серии и категории по умолчанию.
- Добавьте новые серии и категории.
- Добавьте новые данные диаграммы для её серий.
- Сохраните изменённую презентацию в файле PPTX.
Диаграммы Box and Whisker используются для отображения распределения данных, суммируя ключевые статистические показатели, такие как медиана, квартиль и потенциальные выбросы. Они особенно полезны в исследовательском анализе данных и статистических исследованиях для быстрого понимания изменчивости данных и выявления аномалий.
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его индекс.
- Добавьте диаграмму с данными по умолчанию и укажите тип
ChartType.BOX_AND_WHISKER. - Получите доступ к рабочей книге данных диаграммы (ChartDataWorkbook).
- Очистите ряды и категории по умолчанию.
- Добавьте новые ряды и категории.
- Добавьте новые данные диаграммы для рядов.
- Сохраните изменённую презентацию в файл PPTX.
Этот Python‑код показывает, как создать диаграмму Box and Whisker:
import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as presentation:
chart = presentation.slides[0].shapes.add_chart(charts.ChartType.BOX_AND_WHISKER, 20, 20, 500, 300)
chart.chart_data.categories.clear()
chart.chart_data.series.clear()
workbook = chart.chart_data.chart_data_workbook
workbook.clear(0)
chart.chart_data.categories.add(workbook.get_cell(0, "A1", "Category 1"))
chart.chart_data.categories.add(workbook.get_cell(0, "A2", "Category 1"))
chart.chart_data.categories.add(workbook.get_cell(0, "A3", "Category 1"))
chart.chart_data.categories.add(workbook.get_cell(0, "A4", "Category 1"))
chart.chart_data.categories.add(workbook.get_cell(0, "A5", "Category 1"))
chart.chart_data.categories.add(workbook.get_cell(0, "A6", "Category 1"))
series = chart.chart_data.series.add(charts.ChartType.BOX_AND_WHISKER)
series.quartile_method = charts.QuartileMethodType.EXCLUSIVE
series.show_mean_line = True
series.show_mean_markers = True
series.show_inner_points = True
series.show_outlier_points = True
series.data_points.add_data_point_for_box_and_whisker_series(workbook.get_cell(0, "B1", 15))
series.data_points.add_data_point_for_box_and_whisker_series(workbook.get_cell(0, "B2", 41))
series.data_points.add_data_point_for_box_and_whisker_series(workbook.get_cell(0, "B3", 16))
series.data_points.add_data_point_for_box_and_whisker_series(workbook.get_cell(0, "B4", 10))
series.data_points.add_data_point_for_box_and_whisker_series(workbook.get_cell(0, "B5", 23))
series.data_points.add_data_point_for_box_and_whisker_series(workbook.get_cell(0, "B6", 16))
presentation.save("BoxAndWhiskerChart.pptx", slides.export.SaveFormat.PPTX)
Создание воронкообразных диаграмм
Воронкообразные диаграммы используются для визуализации процессов, включающих последовательные этапы, где объём данных уменьшается с переходом от одного шага к следующему. Они особенно полезны для анализа коэффициентов конверсии, выявления узких мест и отслеживания эффективности процессов продаж или маркетинга.
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его индекс.
- Добавьте диаграмму с данными по умолчанию и укажите тип
ChartType.FUNNEL. - Сохраните изменённую презентацию в файле PPTX.
Этот Python‑код показывает, как создать воронкообразную диаграмму:
import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as presentation:
chart = presentation.slides[0].shapes.add_chart(charts.ChartType.FUNNEL, 50, 50, 500, 400)
chart.chart_data.categories.clear()
chart.chart_data.series.clear()
workbook = chart.chart_data.chart_data_workbook
workbook.clear(0)
chart.chart_data.categories.add(workbook.get_cell(0, "A1", "Category 1"))
chart.chart_data.categories.add(workbook.get_cell(0, "A2", "Category 2"))
chart.chart_data.categories.add(workbook.get_cell(0, "A3", "Category 3"))
chart.chart_data.categories.add(workbook.get_cell(0, "A4", "Category 4"))
chart.chart_data.categories.add(workbook.get_cell(0, "A5", "Category 5"))
chart.chart_data.categories.add(workbook.get_cell(0, "A6", "Category 6"))
series = chart.chart_data.series.add(charts.ChartType.FUNNEL)
series.data_points.add_data_point_for_funnel_series(workbook.get_cell(0, "B1", 50))
series.data_points.add_data_point_for_funnel_series(workbook.get_cell(0, "B2", 100))
series.data_points.add_data_point_for_funnel_series(workbook.get_cell(0, "B3", 200))
series.data_points.add_data_point_for_funnel_series(workbook.get_cell(0, "B4", 300))
series.data_points.add_data_point_for_funnel_series(workbook.get_cell(0, "B5", 400))
series.data_points.add_data_point_for_funnel_series(workbook.get_cell(0, "B6", 500))
presentation.save("FunnelChart.pptx", slides.export.SaveFormat.PPTX)
Результат:

Создание радиальных диаграмм
Радиальные (Sunburst) диаграммы используются для визуализации иерархических данных, отображая уровни в виде концентрических колец. Они помогают иллюстрировать отношения часть‑к‑целому и идеально подходят для представления вложенных категорий и подкатегорий в компактном формате.
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его индекс.
- Добавьте диаграмму с данными по умолчанию и укажите тип
ChartType.SUNBURST. - Сохраните изменённую презентацию в файле PPTX.
Этот Python‑код показывает, как создать Sunburst диаграмму:
import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as presentation:
chart = presentation.slides[0].shapes.add_chart(charts.ChartType.SUNBURST, 20, 20, 500, 300)
chart.chart_data.categories.clear()
chart.chart_data.series.clear()
workbook = chart.chart_data.chart_data_workbook
workbook.clear(0)
# Ветвь 1
leaf = chart.chart_data.categories.add(workbook.get_cell(0, "C1", "Leaf1"))
leaf.grouping_levels.set_grouping_item(1, "Stem1")
leaf.grouping_levels.set_grouping_item(2, "Branch1")
chart.chart_data.categories.add(workbook.get_cell(0, "C2", "Leaf2"))
leaf = chart.chart_data.categories.add(workbook.get_cell(0, "C3", "Leaf3"))
leaf.grouping_levels.set_grouping_item(1, "Stem2")
chart.chart_data.categories.add(workbook.get_cell(0, "C4", "Leaf4"))
# Ветвь 2
leaf = chart.chart_data.categories.add(workbook.get_cell(0, "C5", "Leaf5"))
leaf.grouping_levels.set_grouping_item(1, "Stem3")
leaf.grouping_levels.set_grouping_item(2, "Branch2")
chart.chart_data.categories.add(workbook.get_cell(0, "C6", "Leaf6"))
leaf = chart.chart_data.categories.add(workbook.get_cell(0, "C7", "Leaf7"))
leaf.grouping_levels.set_grouping_item(1, "Stem4")
chart.chart_data.categories.add(workbook.get_cell(0, "C8", "Leaf8"))
series = chart.chart_data.series.add(charts.ChartType.SUNBURST)
series.labels.default_data_label_format.show_category_name = True
series.data_points.add_data_point_for_sunburst_series(workbook.get_cell(0, "D1", 4))
series.data_points.add_data_point_for_sunburst_series(workbook.get_cell(0, "D2", 5))
series.data_points.add_data_point_for_sunburst_series(workbook.get_cell(0, "D3", 3))
series.data_points.add_data_point_for_sunburst_series(workbook.get_cell(0, "D4", 6))
series.data_points.add_data_point_for_sunburst_series(workbook.get_cell(0, "D5", 9))
series.data_points.add_data_point_for_sunburst_series(workbook.get_cell(0, "D6", 9))
series.data_points.add_data_point_for_sunburst_series(workbook.get_cell(0, "D7", 4))
series.data_points.add_data_point_for_sunburst_series(workbook.get_cell(0, "D8", 3))
presentation.save("SunburstChart.pptx", slides.export.SaveFormat.PPTX)
Результат:

Создание гистограмм
Гистограммы используются для представления распределения числовых данных путём группировки значений в диапазоны (корзины). Они особенно полезны для выявления шаблонов данных, таких как частота, скошенность и разброс, а также для обнаружения выбросов в наборе данных.
-
Создайте экземпляр класса Presentation.
-
Получите ссылку на слайд, используя его индекс.
-
Добавьте диаграмму с некоторыми данными и укажите тип
ChartType.HISTOGRAM. -
Получите доступ к рабочей книге данных диаграммы (ChartDataWorkbook).
-
Очистите серии и категории по умолчанию.
-
Добавьте новые серии и категории.
-
Сохраните изменённую презентацию в файле PPTX.
-
Создайте экземпляр класса Presentation.
-
Получите ссылку на слайд, используя его индекс.
-
Добавьте диаграмму с некоторыми данными и укажите тип
ChartType.HISTOGRAM. -
Получите доступ к рабочей книге данных диаграммы (ChartDataWorkbook).
-
Очистите ряды и категории по умолчанию.
-
Добавьте новые ряды и категории.
-
Сохраните изменённую презентацию в файл PPTX.
Этот Python‑код показывает, как создать гистограмму:
import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as presentation:
chart = presentation.slides[0].shapes.add_chart(charts.ChartType.HISTOGRAM, 20, 20, 500, 300)
chart.chart_data.categories.clear()
chart.chart_data.series.clear()
workbook = chart.chart_data.chart_data_workbook
workbook.clear(0)
series = chart.chart_data.series.add(charts.ChartType.HISTOGRAM)
series.data_points.add_data_point_for_histogram_series(workbook.get_cell(0, "A1", 15))
series.data_points.add_data_point_for_histogram_series(workbook.get_cell(0, "A2", -41))
series.data_points.add_data_point_for_histogram_series(workbook.get_cell(0, "A3", 16))
series.data_points.add_data_point_for_histogram_series(workbook.get_cell(0, "A4", 10))
series.data_points.add_data_point_for_histogram_series(workbook.get_cell(0, "A5", -23))
series.data_points.add_data_point_for_histogram_series(workbook.get_cell(0, "A6", 16))
chart.axes.horizontal_axis.aggregation_type = charts.AxisAggregationType.AUTOMATIC
presentation.save("HistogramChart.pptx", slides.export.SaveFormat.PPTX)
Результат:

Создание радиальных диаграмм
Радиальные диаграммы (Radar) используются для отображения многовариантных данных в двухмерном формате, позволяя легко сравнивать несколько переменных одновременно. Они особенно полезны для выявления шаблонов, сильных и слабых сторон по нескольким метрикам производительности или атрибутам.
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его индекс.
- Добавьте диаграмму с некоторыми данными и укажите тип
ChartType.RADAR. - Сохраните изменённую презентацию в файле PPTX.
Радиальные диаграммы используются для отображения многомерных данных в двумерном виде, позволяя легко сравнивать несколько переменных одновременно. Они особенно полезны для выявления паттернов, сильных и слабых сторон по нескольким метрикам или атрибутам.
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд, используя его индекс.
- Добавьте диаграмму с некоторыми данными и укажите тип
ChartType.RADAR. - Сохраните изменённую презентацию в файл PPTX.
Этот Python‑код показывает, как создать радиальную диаграмму:
import aspose.slides as slides
with slides.Presentation() as presentation:
presentation.slides[0].shapes.add_chart(slides.charts.ChartType.RADAR, 20, 20, 500, 300)
presentation.save("RadarСhart.pptx", slides.export.SaveFormat.PPTX)
Результат:

Создание мультикатегориальных диаграмм
Мультикатегориальные диаграммы используются для отображения данных, включающих более одной категориальной группы, позволяя сравнивать значения по нескольким измерениям одновременно. Они особенно полезны при анализе тенденций и взаимосвязей в сложных многослойных наборах данных.
-
Создайте экземпляр класса Presentation.
-
Получите ссылку на слайд, используя его индекс.
-
Добавьте диаграмму с данными по умолчанию и укажите тип
ChartType.CLUSTERED_COLUMN. -
Получите доступ к рабочей книге данных диаграммы (ChartDataWorkbook).
-
Очистите серии и категории по умолчанию.
-
Добавьте новые серии и категории.
-
Добавьте новые данные диаграммы для её серий.
-
Сохраните изменённую презентацию в файле PPTX.
-
Создайте экземпляр класса Presentation.
-
Получите ссылку на слайд, используя его индекс.
-
Добавьте диаграмму с данными по умолчанию и укажите тип
ChartType.CLUSTERED_COLUMN. -
Получите доступ к рабочей книге данных диаграммы (ChartDataWorkbook).
-
Очистите ряды и категории по умолчанию.
-
Добавьте новые ряды и категории.
-
Добавьте новые данные диаграммы для рядов.
-
Сохраните изменённую презентацию в файл PPTX.
Этот Python‑код показывает, как создать мультикатегориальную диаграмму:
import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as presentation:
slide = presentation.slides[0]
chart = presentation.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 20, 20, 500, 300)
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
workbook = chart.chart_data.chart_data_workbook
workbook.clear(0)
worksheet_index = 0
category = chart.chart_data.categories.add(workbook.get_cell(0, "c2", "A"))
category.grouping_levels.set_grouping_item(1, "Group1")
category = chart.chart_data.categories.add(workbook.get_cell(0, "c3", "B"))
category = chart.chart_data.categories.add(workbook.get_cell(0, "c4", "C"))
category.grouping_levels.set_grouping_item(1, "Group2")
category = chart.chart_data.categories.add(workbook.get_cell(0, "c5", "D"))
category = chart.chart_data.categories.add(workbook.get_cell(0, "c6", "E"))
category.grouping_levels.set_grouping_item(1, "Group3")
category = chart.chart_data.categories.add(workbook.get_cell(0, "c7", "F"))
category = chart.chart_data.categories.add(workbook.get_cell(0, "c8", "G"))
category.grouping_levels.set_grouping_item(1, "Group4")
category = chart.chart_data.categories.add(workbook.get_cell(0, "c9", "H"))
# Добавить серию.
series = chart.chart_data.series.add(workbook.get_cell(0, "D1", "Series 1"), charts.ChartType.CLUSTERED_COLUMN)
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, "D2", 10))
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, "D3", 20))
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, "D4", 30))
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, "D5", 40))
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, "D6", 50))
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, "D7", 60))
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, "D8", 70))
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, "D9", 80))
# Сохранить презентацию с диаграммой.
presentation.save("MultiCategoryChart.pptx", slides.export.SaveFormat.PPTX)
Результат:

Создание карт
Картографические диаграммы используются для визуализации географических данных, сопоставляя информацию с конкретными местоположениями, такими как страны, штаты или города. Они особенно полезны для анализа региональных тенденций, демографических данных и пространственного распределения в наглядной и визуально привлекательной форме.
Этот Python‑код показывает, как создать картографическую диаграмму:
import aspose.slides as slides
with slides.Presentation() as presentation:
chart = presentation.slides[0].shapes.add_chart(slides.charts.ChartType.MAP, 20, 20, 500, 300)
presentation.save("mapChart.pptx", slides.export.SaveFormat.PPTX)
Результат:

Создание комбинированных диаграмм
Комбинированная диаграмма (или combo‑диаграмма) объединяет два или более типов диаграмм в одном графике. Такая диаграмма позволяет подчёркнуть, сравнить или проанализировать различия между двумя и более наборами данных, помогая выявлять взаимосвязи между ними.

Следующий код Python показывает, как создать комбинированную диаграмму, показанную выше, в презентации PowerPoint:

Этот Python‑код показывает, как создать комбинированную диаграмму в презентации PowerPoint:
def create_combo_chart():
with slides.Presentation() as presentation:
chart = create_chart_with_first_series(presentation.slides[0])
add_second_series_to_chart(chart)
add_third_series_to_chart(chart)
set_primary_axes_format(chart)
set_secondary_axes_format(chart)
presentation.save("combo-chart.pptx", slides.export.SaveFormat.PPTX)
def create_chart_with_first_series(slide):
chart = slide.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 50, 50, 600, 400)
# Установить заголовок диаграммы.
chart.has_title = True
chart.chart_title.add_text_frame_for_overriding("Chart Title")
chart.chart_title.overlay = False
title_paragraph = chart.chart_title.text_frame_for_overriding.paragraphs[0]
title_format = title_paragraph.paragraph_format.default_portion_format
title_format.font_bold = slides.NullableBool.FALSE
title_format.font_height = 18
# Установить легенду диаграммы.
chart.legend.position = charts.LegendPositionType.BOTTOM
chart.legend.text_format.portion_format.font_height = 12
# Удалить автоматически сгенерированные серии и категории.
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
worksheet_index = 0
workbook = chart.chart_data.chart_data_workbook
# Добавить новые категории.
chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 1, 0, "Category 1"))
chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 2, 0, "Category 2"))
chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 3, 0, "Category 3"))
chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 4, 0, "Category 4"))
# Добавить первую серию.
series_name_cell = workbook.get_cell(worksheet_index, 0, 1, "Series 1")
series = chart.chart_data.series.add(series_name_cell, chart.type)
series.parent_series_group.overlap = -25
series.parent_series_group.gap_width = 220
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 1, 1, 4.3))
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 2, 1, 2.5))
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 3, 1, 3.5))
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 4, 1, 4.5))
return chart
def add_second_series_to_chart(chart):
workbook = chart.chart_data.chart_data_workbook
worksheet_index = 0
series_name_cell = workbook.get_cell(worksheet_index, 0, 2, "Series 2")
series = chart.chart_data.series.add(series_name_cell, charts.ChartType.CLUSTERED_COLUMN)
series.parent_series_group.overlap = -25
series.parent_series_group.gap_width = 220
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 1, 2, 2.4))
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 2, 2, 4.4))
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 3, 2, 1.8))
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 4, 2, 2.8))
def add_third_series_to_chart(chart):
workbook = chart.chart_data.chart_data_workbook
worksheet_index = 0
series_name_cell = workbook.get_cell(worksheet_index, 0, 3, "Series 3")
series = chart.chart_data.series.add(series_name_cell, charts.ChartType.LINE)
series.data_points.add_data_point_for_line_series(workbook.get_cell(worksheet_index, 1, 3, 2.0))
series.data_points.add_data_point_for_line_series(workbook.get_cell(worksheet_index, 2, 3, 2.0))
series.data_points.add_data_point_for_line_series(workbook.get_cell(worksheet_index, 3, 3, 3.0))
series.data_points.add_data_point_for_line_series(workbook.get_cell(worksheet_index, 4, 3, 5.0))
series.plot_on_second_axis = True
def set_primary_axes_format(chart):
# Установить горизонтальную ось.
horizontal_axis = chart.axes.horizontal_axis
horizontal_axis.text_format.portion_format.font_height = 12.0
horizontal_axis.format.line.fill_format.fill_type = slides.FillType.NO_FILL
set_axis_title(horizontal_axis, "X Axis")
# Установить вертикальную ось.
vertical_axis = chart.axes.vertical_axis
vertical_axis.text_format.portion_format.font_height = 12.0
vertical_axis.format.line.fill_format.fill_type = slides.FillType.NO_FILL
set_axis_title(vertical_axis, "Y Axis 1")
# Установить цвет основных вертикальных линий сетки.
major_grid_lines_format = vertical_axis.major_grid_lines_format.line.fill_format
major_grid_lines_format.fill_type = slides.FillType.SOLID
major_grid_lines_format.solid_fill_color.color = draw.Color.from_argb(217, 217, 217)
def set_secondary_axes_format(chart):
# Установить вторичную горизонтальную ось.
secondary_horizontal_axis = chart.axes.secondary_horizontal_axis
secondary_horizontal_axis.position = charts.AxisPositionType.BOTTOM
secondary_horizontal_axis.cross_type = charts.CrossesType.MAXIMUM
secondary_horizontal_axis.is_visible = False
secondary_horizontal_axis.major_grid_lines_format.line.fill_format.fill_type = slides.FillType.NO_FILL
secondary_horizontal_axis.minor_grid_lines_format.line.fill_format.fill_type = slides.FillType.NO_FILL
# Установить вторичную вертикальную ось.
secondary_vertical_axis = chart.axes.secondary_vertical_axis
secondary_vertical_axis.position = charts.AxisPositionType.RIGHT
secondary_vertical_axis.text_format.portion_format.font_height = 12.0
secondary_vertical_axis.format.line.fill_format.fill_type = slides.FillType.NO_FILL
secondary_vertical_axis.major_grid_lines_format.line.fill_format.fill_type = slides.FillType.NO_FILL
secondary_vertical_axis.minor_grid_lines_format.line.fill_format.fill_type = slides.FillType.NO_FILL
set_axis_title(secondary_vertical_axis, "Y Axis 2")
def set_axis_title(axis, axis_title):
axis.has_title = True
axis.title.overlay = False
title_portion_format = axis.title.add_text_frame_for_overriding(axis_title).paragraphs[0].paragraph_format.default_portion_format
title_portion_format.font_bold = slides.NullableBool.FALSE
title_portion_format.font_height = 12.0
Обновление диаграмм
Aspose.Slides for Python via .NET позволяет обновлять диаграммы PowerPoint, изменяя данные диаграммы, её форматирование и стиль. Эта функция упрощает процесс поддержания актуальности презентаций с динамичным содержимым и гарантирует, что диаграммы точно отражают текущие данные и визуальные стандарты.
- Создайте объект класса Presentation, представляющий презентацию с диаграммой.
- Получите ссылку на слайд, используя его индекс.
- Пройдите по всем фигурам, чтобы найти диаграмму.
- Получите доступ к листу данных диаграммы.
- Измените серию данных диаграммы, изменив значения серии.
- Добавьте новую серию и заполните её данными.
- Сохраните изменённую презентацию в файле PPTX.
Этот Python‑код показывает, как обновить диаграмму:
import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw
chart_name = "My chart"
# Создайте экземпляр класса Presentation, представляющего файл PPTX.
with slides.Presentation("ExistingChart.pptx") as presentation:
# Получите доступ к первому слайду.
slide = presentation.slides[0]
for shape in slide.shapes:
if isinstance(shape, charts.Chart) and shape.name == chart_name:
chart = shape
# Установите индекс листа данных диаграммы.
worksheet_index = 0
# Получите рабочую книгу данных диаграммы.
workbook = chart.chart_data.chart_data_workbook
# Измените названия категорий диаграммы.
workbook.get_cell(worksheet_index, 1, 0, "Modified Category 1")
workbook.get_cell(worksheet_index, 2, 0, "Modified Category 2")
# Получите первую серию диаграммы.
series = chart.chart_data.series[0]
# Обновите данные серии.
workbook.get_cell(worksheet_index, 0, 1, "New_Series1") # Изменение имени серии.
series.data_points[0].value.data = 90
series.data_points[1].value.data = 123
series.data_points[2].value.data = 44
# Получите вторую серию диаграммы.
series = chart.chart_data.series[1]
# Обновите данные серии.
workbook.get_cell(worksheet_index, 0, 2, "New_Series2") # Изменение имени серии.
series.data_points[0].value.data = 23
series.data_points[1].value.data = 67
series.data_points[2].value.data = 99
# Добавьте новую серию.
series = chart.chart_data.series.add(workbook.get_cell(worksheet_index, 0, 3, "Series 3"), chart.type)
# Заполните данные серии.
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 1, 3, 20))
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 2, 3, 50))
series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 3, 3, 30))
chart.type = charts.ChartType.CLUSTERED_CYLINDER
# Сохраните презентацию с диаграммой.
presentation.save("ModifiedChart.pptx", slides.export.SaveFormat.PPTX)
Установка диапазона данных для диаграмм
Aspose.Slides for Python via .NET предоставляет возможность определить конкретный диапазон данных из рабочего листа в качестве источника данных для вашей диаграммы. Это позволяет напрямую сопоставлять часть листа с диаграммой, контролируя, какие ячейки участвуют в серии и категориях диаграммы. В результате вы можете легко обновлять и синхронизировать диаграммы с последними изменениями данных в листе, обеспечивая актуальность и точность информации в ваших презентациях PowerPoint.
- Создайте объект класса Presentation, представляющий презентацию с диаграммой.
- Получите ссылку на слайд, используя его индекс.
- Пройдите по всем фигурам, чтобы найти диаграмму.
- Получите доступ к данным диаграммы и задайте диапазон.
- Сохраните изменённую презентацию в файле PPTX.
Этот Python‑код показывает, как задать диапазон данных для диаграммы:
import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw
chart_name = "My chart"
# Создайте экземпляр класса Presentation, представляющего файл PPTX.
with slides.Presentation("ExistingChart.pptx") as presentation:
# Получите доступ к первому слайду.
slide = presentation.slides[0]
for shape in slide.shapes:
if isinstance(shape, charts.Chart) and shape.name == chart_name:
chart = shape
chart.chart_data.set_range("Sheet1!A1:B4")
presentation.save("DataRange.pptx", slides.export.SaveFormat.PPTX)
Использование стандартных маркеров в диаграммах
При использовании стандартных маркеров в диаграммах каждому ряду автоматически назначается различный маркер по умолчанию.
Этот Python‑код показывает, как автоматически задать маркер для ряда диаграммы:
import aspose.slides.charts as charts
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as presentation:
slide = presentation.slides[0]
chart = slide.shapes.add_chart(charts.ChartType.LINE_WITH_MARKERS, 10, 10, 400, 400)
chart.chart_data.series.clear()
chart.chart_data.categories.clear()
workbook = chart.chart_data.chart_data_workbook
series = chart.chart_data.series.add(workbook.get_cell(0, 0, 1, "Series 1"), chart.type)
chart.chart_data.categories.add(workbook.get_cell(0, 1, 0, "C1"))
series.data_points.add_data_point_for_line_series(workbook.get_cell(0, 1, 1, 24))
chart.chart_data.categories.add(workbook.get_cell(0, 2, 0, "C2"))
series.data_points.add_data_point_for_line_series(workbook.get_cell(0, 2, 1, 23))
chart.chart_data.categories.add(workbook.get_cell(0, 3, 0, "C3"))
series.data_points.add_data_point_for_line_series(workbook.get_cell(0, 3, 1, -10))
chart.chart_data.categories.add(workbook.get_cell(0, 4, 0, "C4"))
series.data_points.add_data_point_for_line_series(workbook.get_cell(0, 4, 1, None))
series2 = chart.chart_data.series.add(workbook.get_cell(0, 0, 2, "Series 2"), chart.type)
# Заполнить данные серии.
series2.data_points.add_data_point_for_line_series(workbook.get_cell(0, 1, 2, 30))
series2.data_points.add_data_point_for_line_series(workbook.get_cell(0, 2, 2, 10))
series2.data_points.add_data_point_for_line_series(workbook.get_cell(0, 3, 2, 60))
series2.data_points.add_data_point_for_line_series(workbook.get_cell(0, 4, 2, 40))
chart.has_legend = True
chart.legend.overlay = False
presentation.save("DefaultMarkersInChart.pptx", slides.export.SaveFormat.PPTX)
FAQ
Какие типы диаграмм поддерживает Aspose.Slides for Python via .NET?
Aspose.Slides for Python via .NET поддерживает широкий спектр типов диаграмм, включая столбчатые, линейные, круговые, областные, точечные, гистограммы, радиальные и многие другие. Эта гибкость позволяет выбрать наиболее подходящий тип диаграммы для визуализации ваших данных.
Как добавить новую диаграмму на слайд?
Чтобы добавить диаграмму, сначала создайте объект класса Presentation, получите нужный слайд по его индексу, а затем вызовите метод добавления диаграммы, указав тип диаграммы и начальные данные. Этот процесс интегрирует диаграмму непосредственно в вашу презентацию.
Как обновить данные, отображаемые в диаграмме?
Вы можете обновить данные диаграммы, получив доступ к её рабочей книге данных (ChartDataWorkbook), очистив любые серии и категории по умолчанию и добавив свои собственные данные. Это позволяет программно обновлять диаграмму в соответствии с новейшими данными.
Можно ли настроить внешний вид диаграммы?
Да, Aspose.Slides for Python via .NET предоставляет обширные параметры настройки. Вы можете изменять цвета, шрифты, подписи, легенды и другие элементы форматирования, чтобы адаптировать внешний вид диаграммы к вашим конкретным требованиям дизайна.