Настройка круговых диаграмм в презентациях с использованием Python через Java

Обзор

В этой статье объясняется, как работать с круговыми диаграммами в Aspose.Slides. Показано, как настроить параметры вторичного построения для диаграмм Pie of Pie и Bar of Pie, а также как включить автоматическое раскрашивание секторов стандартной круговой диаграммы.

В примерах делается акцент на практических шагах настройки диаграмм, таких как добавление диаграммы на слайд, настройка параметров рядов и подписей, замена данных диаграммы по умолчанию пользовательскими категориями и значениями, а также сохранение обновлённой презентации.

Параметры вторичного построения для диаграмм Pie of Pie и Bar of Pie

Aspose.Slides for Python via Java поддерживает параметры вторичного построения для диаграмм Pie of Pie и Bar of Pie. В этом разделе показано, как задать эти параметры с помощью Aspose.Slides. Выполните следующие действия:

  1. Создайте объект Presentation.
  2. Добавьте диаграмму на слайд.
  3. Укажите параметры вторичного построения диаграммы.
  4. Сохраните презентацию на диск.

В следующем примере задаются различные свойства диаграммы Pie of Pie.

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import ChartType, PieSplitType, Presentation, SaveFormat

# Создать экземпляр класса Presentation.
presentation = Presentation()
try:
    # Добавить диаграмму на слайд.
    chart = presentation.getSlides().get_Item(0).getShapes().addChart(ChartType.PieOfPie, 50, 50, 500, 400)

    # Установить разные свойства.
    series = chart.getChartData().getSeries().get_Item(0)
    series.getLabels().getDefaultDataLabelFormat().setShowValue(True)
    series_group = series.getParentSeriesGroup()
    series_group.setSecondPieSize(149)
    series_group.setPieSplitBy(PieSplitType.ByPercentage)
    series_group.setPieSplitPosition(53)

    # Сохранить презентацию на диск.
    presentation.save("SecondPlotOptionsforCharts_out.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Установка автоматических цветов секторов круговой диаграммы

Aspose.Slides for Python via Java предоставляет простой API для установки автоматических цветов секторов круговой диаграммы. В следующем примере показано, как применить эти настройки.

  1. Создайте экземпляр класса Presentation.
  2. Получите первый слайд.
  3. Добавьте диаграмму с данными по умолчанию.
  4. Установите заголовок диаграммы.
  5. Установите индекс листа данных диаграммы.
  6. Получите рабочую книгу данных диаграммы.
  7. Удалите ряд и категории по умолчанию.
  8. Добавьте новые категории.
  9. Добавьте новый ряд.
  10. Установите отображение значений для нового ряда.

Сохраните изменённую презентацию в файл PPTX.

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import ChartType, NullableBool, Presentation, SaveFormat

# Создать экземпляр класса Presentation.
presentation = Presentation()
try:
    # Добавить диаграмму с данными по умолчанию.
    chart = presentation.getSlides().get_Item(0).getShapes().addChart(ChartType.Pie, 100, 100, 400, 400)

    # Установить заголовок диаграммы.
    chart.getChartTitle().addTextFrameForOverriding("Sample Title")
    chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True_)
    chart.getChartTitle().setHeight(20)
    chart.setTitle(True)

    # Установить индекс листа данных диаграммы.
    default_worksheet_index = 0

    # Получить рабочую книгу данных диаграммы.
    workbook = chart.getChartData().getChartDataWorkbook()

    # Удалить ряд и категории по умолчанию.
    chart.getChartData().getSeries().clear()
    chart.getChartData().getCategories().clear()

    # Добавить новые категории.
    first_category_cell = workbook.getCell(0, 1, 0, "First Qtr")
    chart.getChartData().getCategories().add(first_category_cell)
    second_category_cell = workbook.getCell(0, 2, 0, "2nd Qtr")
    chart.getChartData().getCategories().add(second_category_cell)
    third_category_cell = workbook.getCell(0, 3, 0, "3rd Qtr")
    chart.getChartData().getCategories().add(third_category_cell)

    # Добавить новый ряд.
    series_cell = workbook.getCell(0, 0, 1, "Series 1")
    series = chart.getChartData().getSeries().add(series_cell, chart.getType())

    # Заполнить данные ряда.
    first_value_cell = workbook.getCell(default_worksheet_index, 1, 1, jpype.JInt(20))
    series.getDataPoints().addDataPointForPieSeries(first_value_cell)
    second_value_cell = workbook.getCell(default_worksheet_index, 2, 1, jpype.JInt(50))
    series.getDataPoints().addDataPointForPieSeries(second_value_cell)
    third_value_cell = workbook.getCell(default_worksheet_index, 3, 1, jpype.JInt(30))
    series.getDataPoints().addDataPointForPieSeries(third_value_cell)

    # Установить отображение значений для нового ряда.
    series.getLabels().getDefaultDataLabelFormat().setShowValue(True)

    series.getParentSeriesGroup().setColorVaried(True)
    presentation.save("Pie.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

FAQ

Поддерживаются ли варианты ‘Pie of Pie’ и ‘Bar of Pie’?

Да, библиотека поддерживает вторичное построение для круговых диаграмм, включая типы ‘Pie of Pie’ и ‘Bar of Pie’.

Можно ли экспортировать только диаграмму как изображение (например, PNG)?

Да, вы можете экспортировать саму диаграмму как изображение (например, PNG) без всей презентации.