Створюйте діаграми в презентаціях PowerPoint на Python

Діаграми використовуються для графічного представлення даних, що полегшує аналіз. Тому MS PowerPoint підтримує ряд діаграм для візуалізації даних різними способами. Серед усіх діаграм, які найчастіше використовуються, є секторні діаграми, лінійні діаграми, стовпчасті діаграми, гістограми, біржові діаграми тощо. У цій статті ви дізнаєтеся, як створювати ці діаграми в PowerPoint PPT або PPTX у Python.

Бібліотека Python для створення діаграм у PowerPoint PPT

Щоб створити діаграми в PowerPoint PPT/PPTX, ми будемо використовувати Aspose.Slides for Python через .NET. Це багатофункціональна бібліотека, яка надає повний пакет для створення та роботи з презентаціями PowerPoint. Ви можете встановити його з PyPI за допомогою такої команди pip.

> pip install aspose.slides

Aspose.Slides підтримує різноманітні діаграми, які можна динамічно додавати до презентацій. У наступних розділах ми продемонструємо, як створювати деякі популярні типи діаграм.

Створення стовпчастої діаграми в PowerPoint PPT на Python

У цьому розділі ви дізнаєтеся, як створити стовпчасту діаграму в презентації PowerPoint на Python. Нижче наведено кроки для виконання цієї операції.

  • Спочатку створіть екземпляр класу Presentation.
  • Отримайте посилання на слайд із Presentations.slides в об’єкті.
  • Додайте кластерну стовпчасту діаграму з даними за замовчуванням за допомогою методу 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

# Створити презентацію (або завантажити наявну) 
with slides.Presentation() as pres:

    # Доступ до першого слайда
    sld = pres.slides[0]

    # Додайте діаграму з даними за замовчуванням
    chart = sld.shapes.add_chart(slides.charts.ChartType.CLUSTERED_COLUMN, 0, 0, 500, 500)

    # Установіть назву діаграми
    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

    # Установіть першу серію для відображення значень
    chart.chart_data.series[0].labels.default_data_label_format.show_value = True

    # Встановіть індекс таблиці даних діаграми
    defaultWorksheetIndex = 0

    # Отримайте таблицю даних діаграми
    fact = chart.chart_data.chart_data_workbook

    # Видалити створені за замовчуванням серії та категорії
    chart.chart_data.series.clear()
    chart.chart_data.categories.clear()
    s = len(chart.chart_data.series)
    s = len(chart.chart_data.categories)

    # Додати нову серію
    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)

    # Додайте нові категорії
    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"))

    # Візьміть першу серію діаграм
    series = chart.chart_data.series[0]

    # Заповніть дані серії
    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))

    # Установити колір заливки для серії
    series.format.fill.fill_type = slides.FillType.SOLID
    series.format.fill.solid_fill_color.color = drawing.Color.blue

    # Візьміть другу серію діаграм
    series = chart.chart_data.series[1]

    # Заповніть дані серії
    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))

    # Установити колір заливки для серії
    series.format.fill.fill_type = slides.FillType.SOLID
    series.format.fill.solid_fill_color.color = drawing.Color.orange

    # Перший ярлик буде показувати назву категорії
    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

    # Показати значення для третьої мітки
    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 = "/"

    # Зберегти презентацію
    pres.save("column-chart.pptx", slides.export.SaveFormat.PPTX)

Нижче наведено знімок екрана отриманої стовпчастої діаграми.

створити стовпчасту діаграму в PowerPoint на Python

Створення точкової діаграми в 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

# Створити презентацію (або завантажити наявну) 
with slides.Presentation() as pres:

    # Доступ до першого слайда    
    slide = pres.slides[0]

    # Створіть типову діаграму
    chart = slide.shapes.add_chart(slides.charts.ChartType.SCATTER_WITH_SMOOTH_LINES, 0, 0, 400, 400)

    # Отримайте стандартний індекс аркуша даних діаграми
    defaultWorksheetIndex = 0

    # Отримайте таблицю даних діаграми
    fact = chart.chart_data.chart_data_workbook

    # Видалити демо-серію
    chart.chart_data.series.clear()

    # Додати нову серію
    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)

    # Візьміть першу серію діаграм
    series = chart.chart_data.series[0]

    # Додати нову точку (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))

    # Додати нову точку (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))

    # Відредагуйте тип серії
    series.type = slides.charts.ChartType.SCATTER_WITH_STRAIGHT_LINES_AND_MARKERS

    # Змініть маркер серії діаграм
    series.marker.size = 10
    series.marker.symbol = slides.charts.MarkerStyleType.STAR

    # Візьміть другу серію діаграм
    series = chart.chart_data.series[1]

    # Додати нову точку (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))

    # Додати нову точку (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))

    # Додати нову точку (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))

    # Додати нову точку (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))

    # Змініть маркер серії діаграм
    series.marker.size = 10
    series.marker.symbol = slides.charts.MarkerStyleType.CIRCLE

    # Зберегти презентацію
    pres.save("scatter-chart.pptx", slides.export.SaveFormat.PPTX)

На наступному знімку екрана показано результуючу точкову діаграму.

створити точкову діаграму в PowerPoint на Python

Створення секторної діаграми в 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

# Створити презентацію (або завантажити наявну) 
with slides.Presentation() as presentation:

    # Доступ до першого слайда
    slide = presentation.slides[0]

    # Додайте діаграму з даними за замовчуванням
    chart = slide.shapes.add_chart(slides.charts.ChartType.PIE, 100, 100, 400, 400)

    # Установіть назву діаграми
    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

    # Установіть першу серію для відображення значень
    chart.chart_data.series[0].labels.default_data_label_format.show_value = True

    # Встановіть індекс таблиці даних діаграми
    defaultWorksheetIndex = 0

    # Отримайте таблицю даних діаграми
    fact = chart.chart_data.chart_data_workbook

    # Видалити створені за замовчуванням серії та категорії
    chart.chart_data.series.clear()
    chart.chart_data.categories.clear()

    # Додайте нові категорії
    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"))

    # Додати нову серію
    series = chart.chart_data.series.add(fact.get_cell(0, 0, 1, "Series 1"), chart.type)

    # Заповніть дані серії
    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))

    # Додати нові точки та встановити колір сектора
    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

    # Встановити межу сектора
    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

    # Встановити межу сектора
    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

    # Встановити межу сектора
    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

    # Створіть власні мітки для кожної з категорій для нової серії
    lbl1 = series.data_points[0].label

    # lbl.show_category_name = Правда
    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

    # Показати виносні лінії для діаграми
    # series.labels.default_data_label_format.show_leader_lines = Правда

    # Встановити кут повороту для секторів кругової діаграми
    chart.chart_data.series_groups[0].first_slice_angle = 180

    # Зберегти презентацію
    presentation.save("pie-chart.pptx", slides.export.SaveFormat.PPTX)

Нижче наведено знімок екрана створеної кругової діаграми.

створити секторну діаграму в PowerPoint на Python

Додайте діаграму гістограми в PowerPoint PPTX у Python

Нижче наведено кроки для створення діаграми гістограми в PowerPoint PPT за допомогою Aspose.Slides for 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

# Створити презентацію (або завантажити наявну) 
with slides.Presentation() as pres:

    # Додайте діаграму
    chart = pres.slides[0].shapes.add_chart(slides.charts.ChartType.HISTOGRAM, 50, 50, 500, 400)

    # Очистити категорії та серії за замовчуванням
    chart.chart_data.categories.clear()
    chart.chart_data.series.clear()

    # Робоча книга доступу
    wb = chart.chart_data.chart_data_workbook

    wb.clear(0)

    # Додайте точки даних до серії
    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))

    # Встановіть тип агрегації
    chart.axes.horizontal_axis.aggregation_type = slides.charts.AxisAggregationType.AUTOMATIC

    # Зберегти презентацію
    pres.save("histogram-chart.pptx", slides.export.SaveFormat.PPTX)

Нижче наведено скріншот створеної діаграми гістограми.

створити діаграму гістограми в PowerPoint на Python

Створіть біржову діаграму в 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

# Створити презентацію (або завантажити наявну) 
with slides.Presentation() as pres:

    # Додайте діаграму
    chart = pres.slides[0].shapes.add_chart(slides.charts.ChartType.OPEN_HIGH_LOW_CLOSE, 50, 50, 600, 400, False)

    # Очистити стандартні серії та категорії
    chart.chart_data.series.clear()
    chart.chart_data.categories.clear()

    # Робоча книга доступу
    wb = chart.chart_data.chart_data_workbook

    # Додайте категорії
    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"))

    # Додати серію
    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)

    # Додайте точки даних
    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

    # Встановити форматування заповнення серії
   for ser in chart.chart_data.series:
        ser.format.line.fill_format.fill_type = slides.FillType.NO_FILL

    # Зберегти презентацію
    pres.save("stock-chart.pptx", slides.export.SaveFormat.PPTX)

Нижче наведено скріншот створеної фондової діаграми.

створити біржову діаграму в PowerPoint на Python

Докладніше про діаграми

Існує багато інших діаграм, які можна додати до презентацій PowerPoint за допомогою Aspose.Slides for Python. Щоб дізнатися більше про підтримувані типи діаграм, відвідайте цю статтю документації.

Отримайте безкоштовну ліцензію

Ви можете отримати безкоштовну тимчасову ліцензію, щоб спробувати бібліотеку без оціночних обмежень.

Висновок

У цій статті ви дізналися, як створювати діаграми в PowerPoint PPT або PPTX на Python. Ми розглянули кроки та зразки коду, як додавати стовпчасті діаграми, точкові діаграми, секторні діаграми, гістограми та біржові діаграми. Ви можете дізнатися більше про Aspose.Slides for Python за допомогою документації. Якщо у вас виникнуть запитання чи запити, повідомте нам про це через наш форум.

Дивись також