Создание или обновление диаграмм презентации PowerPoint в Java

Обзор

Эта статья описывает, как создать диаграммы презентации PowerPoint на Java. Вы также можете обновить диаграммы на Java. В ней рассматриваются следующие темы.

Диаграмма: Обычная

Диаграмма: Точечная

Диаграмма: Круговая

Диаграмма: Диаграмма с деревом

Диаграмма: Фондовая

Диаграмма: Коробка и усы

Диаграмма: Воронкообразная

Диаграмма: Солнечный свет

Диаграмма: Гистограмма

Диаграмма: Радар

Диаграмма: Многокатегориальная

Диаграмма: Карта

Действие: Обновить диаграмму

Создать диаграмму

Диаграммы помогают людям быстро визуализировать данные и получать представление о них, которые могут быть не очевидны из таблицы или электронных таблиц.

Зачем создавать диаграммы?

Используя диаграммы, вы можете

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

В PowerPoint диаграммы можно создавать с помощью функции вставки, которая предоставляет шаблоны, используемые для проектирования различных типов диаграмм. Используя Aspose.Slides, вы можете создавать обычные диаграммы (основанные на популярных типах диаграмм) и настраиваемые диаграммы.

Создание обычных диаграмм

Шаги: Создать диаграмму

Код шаги:

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

Этот код на Java показывает, как создать обычную диаграмму:

// Создает экземпляр класса презентации, который представляет файл PPTX
Presentation pres = new Presentation();
try {
    // Получает первый слайд
    ISlide sld = pres.getSlides().get_Item(0);
    
    // Добавляет диаграмму с ее стандартными данными
    IChart chart = sld.getShapes().addChart(ChartType.ClusteredColumn, 0, 0, 500, 500);
    
    // Устанавливает заголовок диаграммы
    chart.getChartTitle().addTextFrameForOverriding("Пример заголовка");
    chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True);
    chart.getChartTitle().setHeight(20);
    chart.hasTitle();
    
    // Устанавливает первую серию для показа значений
    chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
    
    // Устанавливает индекс для листа данных диаграммы
    int defaultWorksheetIndex = 0;
    
    // Получает рабочий лист данных диаграммы
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    
    // Удаляет стандартные сгенерированные серии и категории
    chart.getChartData().getSeries().clear();
    chart.getChartData().getCategories().clear();
    int s = chart.getChartData().getSeries().size();
    s = chart.getChartData().getCategories().size();
    
    // Добавляет новые серии
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 1, "Серия 1"),chart.getType());
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 2, "Серия 2"),chart.getType());
    
    // Добавляет новые категории
    chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "Категория 1"));
    chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "Категория 2"));
    chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "Категория 3"));
    
    // Берет первую серию диаграммы
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);
    
    // Теперь заполняет данные для серии
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 20));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 50));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 30));
    
    // Устанавливает цвет заливки для серии
    series.getFormat().getFill().setFillType(FillType.Solid);
    series.getFormat().getFill().getSolidFillColor().setColor(Color.RED);
    
    // Берет вторую серию диаграммы
    series = chart.getChartData().getSeries().get_Item(1);
    
    // Заполняет данные серии
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 2, 30));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 2, 10));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 2, 60));
    
    // Устанавливает цвет заливки для серии
    series.getFormat().getFill().setFillType(FillType.Solid);
    series.getFormat().getFill().getSolidFillColor().setColor(Color.GREEN);
    
    // Создает настраиваемые метки для каждой категории для новой серии
    // Устанавливает первую метку для показа имени категории
    IDataLabel lbl = series.getDataPoints().get_Item(0).getLabel();
    lbl.getDataLabelFormat().setShowCategoryName(true);
    
    lbl = series.getDataPoints().get_Item(1).getLabel();
    lbl.getDataLabelFormat().setShowSeriesName(true);
    
    // Показывает значение для третьей метки
    lbl = series.getDataPoints().get_Item(2).getLabel();
    lbl.getDataLabelFormat().setShowValue(true);
    lbl.getDataLabelFormat().setShowSeriesName(true);
    lbl.getDataLabelFormat().setSeparator("/");
    
    // Сохраняет презентацию с диаграммой
    pres.save("output.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Создание точечных диаграмм

Точечные диаграммы (также известные как диаграммы рассеяния или графики X-Y) часто используются для проверки шаблонов или демонстрации корреляций между двумя переменными.

Вам может понадобиться использовать точечную диаграмму, когда

  • у вас есть парные числовые данные
  • у вас есть 2 переменные, которые хорошо сочетаются друг с другом
  • вы хотите определить, связаны ли 2 переменные
  • у вас есть независимая переменная с несколькими значениями для зависимой переменной

Шаги: Создать точечную диаграмму на Java | Шаги: Создать точечную диаграмму PowerPoint на Java | Шаги: Создать точечную диаграмму презентации PowerPoint на Java

  1. Пожалуйста, следуйте шагам, указанным выше в Создании обычных диаграмм
  2. На третьем шаге добавьте диаграмму с некоторыми данными и укажите тип вашей диаграммы как один из следующих
    1. ChartType.ScatterWithMarkers - Представляет точечную диаграмму.
    2. ChartType.ScatterWithSmoothLinesAndMarkers - Представляет точечную диаграмму, соединенную кривыми с маркерами данных.
    3. ChartType.ScatterWithSmoothLines - Представляет точечную диаграмму, соединенную кривыми без маркеров данных.
    4. ChartType.ScatterWithStraightLinesAndMarkers - Представляет точечную диаграмму, соединенную линиями с маркерами данных.
    5. ChartType.ScatterWithStraightLines - Представляет точечную диаграмму, соединенную линиями без маркеров данных.

Этот код на Java показывает вам, как создать точечные диаграммы с различными сериями маркеров:

// Создает экземпляр класса презентации, который представляет файл PPTX
Presentation pres = new Presentation();
try {
    // Получает первый слайд
    ISlide slide = pres.getSlides().get_Item(0);

    // Создает стандартную диаграмму
    IChart chart = slide.getShapes().addChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);
    
    // Получает индекс рабочего листа данных по умолчанию для диаграммы
    int defaultWorksheetIndex = 0;
    
    // Получает рабочий лист данных диаграммы
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    
    // Удаляет демонстрационные серии
    chart.getChartData().getSeries().clear();
    
    // Добавляет новые серии
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 1, "Серия 1"), chart.getType());
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 3, "Серия 2"), chart.getType());
    
    // Берет первую серию диаграммы
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);
    
    // Добавляет новую точку (1:3) в серию
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 1), fact.getCell(defaultWorksheetIndex, 2, 2, 3));
    
    // Добавляет новую точку (2:10)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 2), fact.getCell(defaultWorksheetIndex, 3, 2, 10));
    
    // Меняет тип серии
    series.setType(ChartType.ScatterWithStraightLinesAndMarkers);
    
    // Меняет маркер серии диаграммы
    series.getMarker().setSize(10);
    series.getMarker().setSymbol(MarkerStyleType.Star);
    
    // Берет вторую серию диаграммы
    series = chart.getChartData().getSeries().get_Item(1);
    
    // Добавляет новую точку (5:2)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 3, 5), fact.getCell(defaultWorksheetIndex, 2, 4, 2));
    
    // Добавляет новую точку (3:1)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 3, 3), fact.getCell(defaultWorksheetIndex, 3, 4, 1));
    
    // Добавляет новую точку (2:2)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 4, 3, 2), fact.getCell(defaultWorksheetIndex, 4, 4, 2));
    
    // Добавляет новую точку (5:1)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 5, 3, 5), fact.getCell(defaultWorksheetIndex, 5, 4, 1));
    
    // Меняет маркер серии диаграммы
    series.getMarker().setSize(10);
    series.getMarker().setSymbol(MarkerStyleType.Circle);
    
    pres.save("AsposeChart_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Создание круговых диаграмм

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

Шаги: Создать круговую диаграмму на Java | Шаги: Создать круговую диаграмму PowerPoint на Java | Шаги: Создать круговую диаграмму презентации PowerPoint на Java

  1. Создайте экземпляр класса Presentation.
  2. Получите ссылку на слайд по индексу.
  3. Добавьте диаграмму с стандартными данными вместе с желаемым типом (в данном случае, ChartType.Pie).
  4. Получите доступ к данным диаграммы IChartDataWorkbook.
  5. Очистите стандартные серии и категории.
  6. Добавьте новые серии и категории.
  7. Добавьте новые данные диаграммы для серий диаграммы.
  8. Добавьте новые точки для диаграмм и добавьте настраиваемые цвета для сегментов круговой диаграммы.
  9. Установите метки для серий.
  10. Установите линии ведущих для меток серий.
  11. Установите угол поворота для слайдов круговой диаграммы.
  12. Запишите измененную презентацию в файл PPTX.

Этот код на Java показывает, как создать круговую диаграмму:

// Создает экземпляр класса презентации, который представляет файл PPTX
Presentation pres = new Presentation();
try {
    // Получает первый слайд
    ISlide slides = pres.getSlides().get_Item(0);
    
    // Добавляет диаграмму со стандартными данными
    IChart chart = slides.getShapes().addChart(ChartType.Pie, 100, 100, 400, 400);
    
    // Устанавливает заголовок диаграммы
    chart.getChartTitle().addTextFrameForOverriding("Пример заголовка");
    chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True);
    chart.getChartTitle().setHeight(20);
    chart.setTitle(true);
    
    // Устанавливает первую серию для показа значений
    chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
    
    // Устанавливает индекс для рабочего листа данных диаграммы
    int defaultWorksheetIndex = 0;
    
    // Получает рабочий лист данных диаграммы
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    
    // Удаляет стандартные сгенерированные серии и категории
    chart.getChartData().getSeries().clear();
    chart.getChartData().getCategories().clear();
    
    // Добавляет новые категории
    chart.getChartData().getCategories().add(fact.getCell(0, 1, 0, "Первый квартал"));
    chart.getChartData().getCategories().add(fact.getCell(0, 2, 0, "Второй квартал"));
    chart.getChartData().getCategories().add(fact.getCell(0, 3, 0, "Третий квартал"));
    
    // Добавляет новые серии
    IChartSeries series = chart.getChartData().getSeries().add(fact.getCell(0, 0, 1, "Серия 1"), chart.getType());
    
    // Заполняет данные для серии
    series.getDataPoints().addDataPointForPieSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 20));
    series.getDataPoints().addDataPointForPieSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 50));
    series.getDataPoints().addDataPointForPieSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 30));
    
    // Не работает в новой версии
    // Добавление новых точек и установка цвета сектора
    // series.IsColorVaried = true;
    chart.getChartData().getSeriesGroups().get_Item(0).setColorVaried(true);
    
    IChartDataPoint point = series.getDataPoints().get_Item(0);
    point.getFormat().getFill().setFillType(FillType.Solid);
    point.getFormat().getFill().getSolidFillColor().setColor(Color.CYAN);
	
    // Устанавливает границу сектора
    point.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
    point.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.GRAY);
    point.getFormat().getLine().setWidth(3.0);
    point.getFormat().getLine().setStyle(LineStyle.ThinThick);
    point.getFormat().getLine().setDashStyle(LineDashStyle.DashDot);
    
    IChartDataPoint point1 = series.getDataPoints().get_Item(1);
    point1.getFormat().getFill().setFillType(FillType.Solid);
    point1.getFormat().getFill().getSolidFillColor().setColor(Color.ORANGE);
    
    // Устанавливает границу сектора
    point1.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
    point1.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
    point1.getFormat().getLine().setWidth(3.0);
    point1.getFormat().getLine().setStyle(LineStyle.Single);
    point1.getFormat().getLine().setDashStyle(LineDashStyle.LargeDashDot);
    
    IChartDataPoint point2 = series.getDataPoints().get_Item(2);
    point2.getFormat().getFill().setFillType(FillType.Solid);
    point2.getFormat().getFill().getSolidFillColor().setColor(Color.YELLOW);
    
    // Устанавливает границу сектора
    point2.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
    point2.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);
    point2.getFormat().getLine().setWidth(2.0);
    point2.getFormat().getLine().setStyle(LineStyle.ThinThin);
    point2.getFormat().getLine().setDashStyle(LineDashStyle.LargeDashDotDot);
    
    // Создает настраиваемые метки для каждой категории для новой серии
    IDataLabel lbl1 = series.getDataPoints().get_Item(0).getLabel();
    
    // lbl.ShowCategoryName = true;
    lbl1.getDataLabelFormat().setShowValue(true);
    
    IDataLabel lbl2 = series.getDataPoints().get_Item(1).getLabel();
    lbl2.getDataLabelFormat().setShowValue(true);
    lbl2.getDataLabelFormat().setShowLegendKey(true);
    lbl2.getDataLabelFormat().setShowPercentage(true);
    
    IDataLabel lbl3 = series.getDataPoints().get_Item(2).getLabel();
    lbl3.getDataLabelFormat().setShowSeriesName(true);
    lbl3.getDataLabelFormat().setShowPercentage(true);
    
    // Показывает линии ведущих для диаграммы
    series.getLabels().getDefaultDataLabelFormat().setShowLeaderLines(true);
    
    // Устанавливает угол поворота для сегментов круговой диаграммы
    chart.getChartData().getSeriesGroups().get_Item(0).setFirstSliceAngle(180);
    
    // Сохраняет презентацию с диаграммой
    pres.save("PieChart_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Создание линейных диаграмм

Линейные диаграммы (также известные как линейные графики) лучше всего использовать в ситуациях, когда вы хотите продемонстрировать изменения значений с течением времени. Используя линейную диаграмму, вы можете сравнивать много данных одновременно, отслеживать изменения и тенденции с течением времени, подчеркивать аномалии в рядах данных и т.д.

  1. Создайте экземпляр класса Presentation.
  2. Получите ссылку на слайд по индексу.
  3. Добавьте диаграмму с стандартными данными и желаемым типом (в данном случае, ChartType.Line).
  4. Получите доступ к данным диаграммы IChartDataWorkbook.
  5. Очистите стандартные серии и категории.
  6. Добавьте новые серии и категории.
  7. Добавьте новые данные диаграммы для серий диаграммы.
  8. Запишите измененную презентацию в файл PPTX.

Этот код на Java показывает, как создать линейную диаграмму:

Presentation pres = new Presentation();
try {
    IChart lineChart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Line, 10, 50, 600, 350);

    pres.save("lineChart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

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

IChart lineChart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Line, 10, 50, 600, 350);

for (IChartSeries series : lineChart.getChartData().getSeries())
{
    series.getFormat().getLine().setDashStyle(LineDashStyle.Dash);
}

Создание диаграмм с деревом

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

Шаги: Создать диаграмму с деревом на Java | Шаги: Создать диаграмму с деревом PowerPoint на Java | Шаги: Создать диаграмму с деревом презентации PowerPoint на Java

  1. Создайте экземпляр класса Presentation.
  2. Получите ссылку на слайд через его индекс.
  3. Добавьте диаграмму с стандартными данными вместе с желаемым типом (в данном случае, ChartType.TreeMap).
  4. Получите доступ к данным диаграммы IChartDataWorkbook.
  5. Очистите стандартные серии и категории.
  6. Добавьте новые серии и категории.
  7. Добавьте новые данные диаграммы для серий диаграммы.
  8. Запишите измененную презентацию в файл PPTX.

Этот код на Java показывает, как создать диаграмму с деревом:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Treemap, 50, 50, 500, 400);
    chart.getChartData().getCategories().clear();
    chart.getChartData().getSeries().clear();

    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
    wb.clear(0);

    //ветвь 1
    IChartCategory leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C1", "Лист1"));
    leaf.getGroupingLevels().setGroupingItem(1, "Стебель1");
    leaf.getGroupingLevels().setGroupingItem(2, "Ветка1");

    chart.getChartData().getCategories().add(wb.getCell(0, "C2", "Лист2"));

    leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C3", "Лист3"));
    leaf.getGroupingLevels().setGroupingItem(1, "Стебель2");

    chart.getChartData().getCategories().add(wb.getCell(0, "C4", "Лист4"));

    //ветвь 2
    leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C5", "Лист5"));
    leaf.getGroupingLevels().setGroupingItem(1, "Стебель3");
    leaf.getGroupingLevels().setGroupingItem(2, "Ветка2");

    chart.getChartData().getCategories().add(wb.getCell(0, "C6", "Лист6"));

    leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C7", "Лист7"));
    leaf.getGroupingLevels().setGroupingItem(1, "Стебель4");

    chart.getChartData().getCategories().add(wb.getCell(0, "C8", "Лист8"));

    IChartSeries series = chart.getChartData().getSeries().add(ChartType.Treemap);
    series.getLabels().getDefaultDataLabelFormat().setShowCategoryName(true);
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D1", 4));
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D2", 5));
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D3", 3));
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D4", 6));
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D5", 9));
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D6", 9));
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D7", 4));
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D8", 3));

    series.setParentLabelLayout(ParentLabelLayoutType.Overlapping);

    pres.save("Treemap.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Создание фондовых диаграмм

Шаги: Создать фондовую диаграмму на Java | Шаги: Создать фондовую диаграмму PowerPoint на Java | Шаги: Создать фондовую диаграмму презентации PowerPoint на Java

  1. Создайте экземпляр класса Presentation .
  2. Получите ссылку на слайд по индексу.
  3. Добавьте диаграмму с стандартными данными вместе с желаемым типом (ChartType.OpenHighLowClose).
  4. Получите доступ к данным диаграммы IChartDataWorkbook.
  5. Очистите стандартные серии и категории.
  6. Добавьте новые серии и категории.
  7. Добавьте новые данные диаграммы для серий диаграммы.
  8. Укажите формат HiLowLines.
  9. Запишите измененную презентацию в файл PPTX.

Пример кода на Java, используемый для создания фондовой диаграммы:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.OpenHighLowClose, 50, 50, 600, 400, false);

    chart.getChartData().getSeries().clear();
    chart.getChartData().getCategories().clear();

    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();

    chart.getChartData().getCategories().add(wb.getCell(0, 1, 0, "A"));
    chart.getChartData().getCategories().add(wb.getCell(0, 2, 0, "B"));
    chart.getChartData().getCategories().add(wb.getCell(0, 3, 0, "C"));

    chart.getChartData().getSeries().add(wb.getCell(0, 0, 1, "Открытие"), chart.getType());
    chart.getChartData().getSeries().add(wb.getCell(0, 0, 2, "Максимум"), chart.getType());
    chart.getChartData().getSeries().add(wb.getCell(0, 0, 3, "Минимум"), chart.getType());
    chart.getChartData().getSeries().add(wb.getCell(0, 0, 4, "Закрытие"), chart.getType());

    IChartSeries series = chart.getChartData().getSeries().get_Item(0);

    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 1, 72));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 1, 25));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 1, 38));

    series = chart.getChartData().getSeries().get_Item(1);
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 2, 172));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 2, 57));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 2, 57));

    series = chart.getChartData().getSeries().get_Item(2);
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 3, 12));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 3, 12));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 3, 13));

    series = chart.getChartData().getSeries().get_Item(3);
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 4, 25));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 4, 38));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 4, 50));

    chart.getChartData().getSeriesGroups().get_Item(0).getUpDownBars().setUpDownBars(true);
    chart.getChartData().getSeriesGroups().get_Item(0).getHiLowLinesFormat().getLine().getFillFormat().setFillType(FillType.Solid);

    for (IChartSeries ser : chart.getChartData().getSeries())
    {
        ser.getFormat().getLine().getFillFormat().setFillType(FillType.NoFill);
    }

    pres.save("output.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Создание диаграмм «коробка и усы»

Шаги: Создать диаграмму «коробка и усы» на Java | Шаги: Создать диаграмму «коробка и усы» PowerPoint на Java | Шаги: Создать диаграмму «коробка и усы» презентации PowerPoint на Java

  1. Создайте экземпляр класса Presentation .
  2. Получите ссылку на слайд по индексу.
  3. Добавьте диаграмму с стандартными данными вместе с желаемым типом (ChartType.BoxAndWhisker).
  4. Получите доступ к данным диаграммы IChartDataWorkbook.
  5. Очистите стандартные серии и категории.
  6. Добавьте новые серии и категории.
  7. Добавьте новые данные диаграммы для серий диаграммы.
  8. Запишите измененную презентацию в файл PPTX.

Этот код на Java показывает, как создать диаграмму «коробка и усы»:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.BoxAndWhisker, 50, 50, 500, 400);
    chart.getChartData().getCategories().clear();
    chart.getChartData().getSeries().clear();

    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
    wb.clear(0);

    chart.getChartData().getCategories().add(wb.getCell(0, "A1", "Категория 1"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A2", "Категория 1"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A3", "Категория 1"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A4", "Категория 1"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A5", "Категория 1"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A6", "Категория 1"));

    IChartSeries series = chart.getChartData().getSeries().add(ChartType.BoxAndWhisker);

    series.setQuartileMethod(QuartileMethodType.Exclusive);
    series.setShowMeanLine(true);
    series.setShowMeanMarkers(true);
    series.setShowInnerPoints(true);
    series.setShowOutlierPoints(true);

    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B1", 15));
    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B2", 41));
    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B3", 16));
    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B4", 10));
    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B5", 23));
    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B6", 16));

    pres.save("BoxAndWhisker.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Создание воронкообразных диаграмм

Шаги: Создать воронкообразную диаграмму на Java | Шаги: Создать воронкообразную диаграмму PowerPoint на Java | Шаги: Создать воронкообразную диаграмму презентации PowerPoint на Java

  1. Создайте экземпляр класса Presentation .
  2. Получите ссылку на слайд по индексу.
  3. Добавьте диаграмму с стандартными данными вместе с желаемым типом (ChartType.Funnel).
  4. Запишите измененную презентацию в файл PPTX.

Код на Java показывает вам, как создать воронкообразную диаграмму:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Funnel, 50, 50, 500, 400);
    chart.getChartData().getCategories().clear();
    chart.getChartData().getSeries().clear();

    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();

    wb.clear(0);

    chart.getChartData().getCategories().add(wb.getCell(0, "A1", "Категория 1"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A2", "Категория 2"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A3", "Категория 3"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A4", "Категория 4"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A5", "Категория 5"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A6", "Категория 6"));

    IChartSeries series = chart.getChartData().getSeries().add(ChartType.Funnel);

    series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B1", 50));
    series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B2", 100));
    series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B3", 200));
    series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B4", 300));
    series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B5", 400));
    series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B6", 500));

    pres.save("Funnel.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Создание диаграмм солнечного света

Шаги: Создать диаграмму солнечного света на Java | Шаги: Создать диаграмму солнечного света PowerPoint на Java | Шаги: Создать диаграмму солнечного света презентации PowerPoint на Java

  1. Создайте экземпляр класса Presentation .
  2. Получите ссылку на слайд по индексу.
  3. Добавьте диаграмму с стандартными данными вместе с желаемым типом (в данном случае,ChartType.sunburst).
  4. Запишите измененную презентацию в файл PPTX.

Этот код на Java показывает вам, как создать диаграмму солнечного света:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Sunburst, 50, 50, 500, 400);
    chart.getChartData().getCategories().clear();
    chart.getChartData().getSeries().clear();

    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
    wb.clear(0);

    //ветвь 1
    IChartCategory leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C1", "Лист1"));
    leaf.getGroupingLevels().setGroupingItem(1, "Стебель1");
    leaf.getGroupingLevels().setGroupingItem(2, "Ветка1");

    chart.getChartData().getCategories().add(wb.getCell(0, "C2", "Лист2"));

    leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C3", "Лист3"));
    leaf.getGroupingLevels().setGroupingItem(1, "Стебель2");

    chart.getChartData().getCategories().add(wb.getCell(0, "C4", "Лист4"));

    //ветвь 2
    leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C5", "Лист5"));
    leaf.getGroupingLevels().setGroupingItem(1, "Стебель3");
    leaf.getGroupingLevels().setGroupingItem(2, "Ветка2");

    chart.getChartData().getCategories().add(wb.getCell(0, "C6", "Лист6"));

    leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C7", "Лист7"));
    leaf.getGroupingLevels().setGroupingItem(1, "Стебель4");

    chart.getChartData().getCategories().add(wb.getCell(0, "C8", "Лист8"));

    IChartSeries series = chart.getChartData().getSeries().add(ChartType.Sunburst);
    series.getLabels().getDefaultDataLabelFormat().setShowCategoryName(true);
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D1", 4));
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D2", 5));
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D3", 3));
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D4", 6));
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D5", 9));
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D6", 9));
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D7", 4));
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D8", 3));
    
    pres.save("Sunburst.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Создание гистограмм

Шаги: Создать гистограмму на Java | Шаги: Создать гистограмму PowerPoint на Java | Шаги: Создать гистограмму презентации PowerPoint на Java

  1. Создайте экземпляр класса Presentation .
  2. Получите ссылку на слайд по индексу.
  3. Добавьте диаграмму с стандартными данными и желаемым типом (ChartType.Histogram).
  4. Получите доступ к данным диаграммы IChartDataWorkbook.
  5. Очистите стандартные серии и категории.
  6. Добавьте новые серии и категории.
  7. Запишите измененную презентацию в файл PPTX.

Этот код на Java показывает, как создать гистограмму:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Histogram, 50, 50, 500, 400);
    chart.getChartData().getCategories().clear();
    chart.getChartData().getSeries().clear();

    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
    wb.clear(0);

    IChartSeries series = chart.getChartData().getSeries().add(ChartType.Histogram);
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A1", 15));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A2", -41));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A3", 16));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A4", 10));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A5", -23));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A6", 16));

    chart.getAxes().getHorizontalAxis().setAggregationType(AxisAggregationType.Automatic;)

    pres.save("Histogram.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Создание радарных диаграмм

Шаги: Создать радарную диаграмму на Java | Шаги: Создать радарную диаграмму PowerPoint на Java | Шаги: Создать радарную диаграмму презентации PowerPoint на Java

  1. Создайте экземпляр класса Presentation .
  2. Получите ссылку на слайд по индексу.
  3. Добавьте диаграмму с некоторыми данными и укажите предпочитаемый тип диаграммы (ChartType.Radar в данном случае).
  4. Запишите измененную презентацию в файл PPTX.

Этот код на Java показывает, как создать радарную диаграмму:

Presentation pres = new Presentation();
try {
    pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Radar, 20, 20, 400, 300);
    pres.save("Radar-chart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Создание многокатегориальных диаграмм

Шаги: Создать многокатегориальную диаграмму на Java | Шаги: Создать многокатегориальную диаграмму PowerPoint на Java | Шаги: Создать многокатегориальную диаграмму презентации PowerPoint на Java

  1. Создайте экземпляр класса Presentation .
  2. Получите ссылку на слайд по индексу.
  3. Добавьте диаграмму с стандартными данными вместе с желаемым типом (ChartType.ClusteredColumn).
  4. Получите доступ к данным диаграммы IChartDataWorkbook.
  5. Очистите стандартные серии и категории.
  6. Добавьте новые серии и категории.
  7. Добавьте новые данные диаграммы для серий диаграммы.
  8. Запишите измененную презентацию в файл.

Этот код на Java показывает, как создать многокатегориальную диаграмму:

Presentation pres = new Presentation();
try {
    IChart ch = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 600, 450);
    ch.getChartData().getSeries().clear();
    ch.getChartData().getCategories().clear();
    
    IChartDataWorkbook fact = ch.getChartData().getChartDataWorkbook();
    fact.clear(0);
    int defaultWorksheetIndex = 0;

    IChartCategory category = ch.getChartData().getCategories().add(fact.getCell(0, "c2", "A"));
    category.getGroupingLevels().setGroupingItem(1, "Группа1");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c3", "B"));

    category = ch.getChartData().getCategories().add(fact.getCell(0, "c4", "C"));
    category.getGroupingLevels().setGroupingItem(1, "Группа2");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c5", "D"));

    category = ch.getChartData().getCategories().add(fact.getCell(0, "c6", "E"));
    category.getGroupingLevels().setGroupingItem(1, "Группа3");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c7", "F"));

    category = ch.getChartData().getCategories().add(fact.getCell(0, "c8", "G"));
    category.getGroupingLevels().setGroupingItem(1, "Группа4");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c9", "H"));

    // Добавление серий
    IChartSeries series = ch.getChartData().getSeries().add(fact.getCell(0, "D1", "Серия 1"),
            ChartType.ClusteredColumn);

    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D2", 10));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D3", 20));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D4", 30));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D5", 40));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D6", 50));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D7", 60));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D8", 70));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, "D9", 80));
    
    // Сохранить презентацию с диаграммой
    pres.save("AsposeChart_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Создание картографических диаграмм

Картографическая диаграмма — это визуализация области с данными. Картографические диаграммы лучше всего использовать для сравнения данных или значений по географическим регионам.

Шаги: Создать картографическую диаграмму на Java | Шаги: Создать картографическую диаграмму PowerPoint на Java | Шаги: Создать картографическую диаграмму презентации PowerPoint на Java

Этот код на Java показывает вам, как создать картографическую диаграмму:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Map, 50, 50, 500, 400);
    pres.save("mapChart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Создание комбинированных диаграмм

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

составная-диаграмма-ппт

Этот код на Java показывает вам, как создать комбинированную диаграмму в PowerPoint:

private static void createComboChart()
{
    Presentation pres = new Presentation();
    {
        IChart chart = createChart(pres.getSlides().get_Item(0));
        addFirstSeriesToChart(chart);
        addSecondSeriesToChart(chart);
        pres.save("combo-chart.pptx", SaveFormat.Pptx);
    }
}

private static IChart createChart(ISlide slide)
{
    IChart chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 500, 400);
    chart.getChartData().getSeries().clear();
    chart.getChartData().getCategories().clear();

    IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook();
    final int worksheetIndex = 0;

    chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Серия 1"), chart.getType());
    chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 2, "Серия 2"), chart.getType());

    chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "Категория 1"));
    chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Категория 2"));
    chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Категория 3"));

    IChartSeries series = chart.getChartData().getSeries().get_Item(0);

    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 20));
    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 50));
    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 30));

    series = chart.getChartData().getSeries().get_Item(1);

    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 2, 30));
    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 2, 10));
    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 2, 60));

    return chart;
}

private static void addFirstSeriesToChart(IChart chart)
{
    IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook();
    final int worksheetIndex = 0;

    IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 3, "Серия 3"), ChartType.ScatterWithSmoothLines);

    series.getDataPoints().addDataPointForScatterSeries(
            workbook.getCell(worksheetIndex, 1, 3, 3),
            workbook.getCell(worksheetIndex, 1, 4, 5));

    series.getDataPoints().addDataPointForScatterSeries(
            workbook.getCell(worksheetIndex, 1, 3, 10),
            workbook.getCell(worksheetIndex, 1, 4, 13));

    series.getDataPoints().addDataPointForScatterSeries(
            workbook.getCell(worksheetIndex, 2, 3, 5),
            workbook.getCell(worksheetIndex, 2, 4, 15));

    series.setPlotOnSecondAxis(true);
}

private static void addSecondSeriesToChart(IChart chart)
{
    IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook();
    final int worksheetIndex = 0;

    IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 5, "Серия 4"),
            ChartType.ScatterWithStraightLinesAndMarkers);

    series.getDataPoints().addDataPointForScatterSeries(
            workbook.getCell(worksheetIndex, 1, 3, 5),
            workbook.getCell(worksheetIndex, 1, 4, 2));

    series.getDataPoints().addDataPointForScatterSeries(
            workbook.getCell(worksheetIndex, 1, 5, 10),
            workbook.getCell(worksheetIndex, 1, 6, 7));

    series.getDataPoints().addDataPointForScatterSeries(
            workbook.getCell(worksheetIndex, 2, 5, 15),
            workbook.getCell(worksheetIndex, 2, 6, 12));

    series.getDataPoints().addDataPointForScatterSeries(
            workbook.getCell(worksheetIndex, 3, 5, 12),
            workbook.getCell(worksheetIndex, 3, 6, 9));

    series.setPlotOnSecondAxis(true);
}

Обновление диаграмм

Шаги: Обновить диаграмму PowerPoint на Java | Шаги: Обновить диаграмму презентации на Java | Шаги: Обновить диаграмму презентации PowerPoint на Java

  1. Создайте экземпляр класса Presentation, который представляет презентацию, содержащую диаграмму, которую вы хотите обновить.
  2. Получите ссылку на слайд, используя его индекс.
  3. Пройдите через все фигуры, чтобы найти нужную диаграмму.
  4. Получите доступ к рабочему листу данных диаграммы.
  5. Измените данные серии диаграммы, изменив значения серии.
  6. Добавьте новую серию и заполните данные в ней.
  7. Запишите измененную презентацию в файл PPTX.

Этот код на Java показывает вам, как обновить диаграмму:

Presentation pres = new Presentation();
try {
    // Получает первый слайд
    ISlide sld = pres.getSlides().get_Item(0);

    // Получает диаграмму с стандартными данными
    IChart chart = (IChart)sld.getShapes().get_Item(0);

    // Устанавливает индекс рабочего листа данных диаграммы
    int defaultWorksheetIndex = 0;

    // Получает рабочий лист данных диаграммы
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();

    // Изменяет имя категории диаграммы
    fact.getCell(defaultWorksheetIndex, 1, 0, "Измененная категория 1");
    fact.getCell(defaultWorksheetIndex, 2, 0, "Измененная категория 2");

    // Берет первую серию диаграммы
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);

    // Теперь обновляет данные серии
    fact.getCell(defaultWorksheetIndex, 0, 1, "Новая_Серия1");// Изменение имени серии
    series.getDataPoints().get_Item(0).getValue().setData(90);
    series.getDataPoints().get_Item(1).getValue().setData(123);
    series.getDataPoints().get_Item(2).getValue().setData(44);

    // Берет вторую серию диаграммы
    series = chart.getChartData().getSeries().get_Item(1);

    // Теперь обновляет данные серии
    fact.getCell(defaultWorksheetIndex, 0, 2, "Новая_Серия2");// Изменение имени серии
    series.getDataPoints().get_Item(0).getValue().setData(23);
    series.getDataPoints().get_Item(1).getValue().setData(67);
    series.getDataPoints().get_Item(2).getValue().setData(99);

    // Теперь добавление новой серии
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 3, "Серия 3"), chart.getType());

    // Берет третью серию диаграммы
    series = chart.getChartData().getSeries().get_Item(2);

    // Теперь заполняет данные для серии
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 3, 20));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 3, 50));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 3, 30));

    chart.setType(ChartType.ClusteredCylinder);

    // Сохраняет презентацию с диаграммой
    pres.save("AsposeChartModified_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Установка диапазона данных для диаграмм

Чтобы установить диапазон данных для диаграммы, выполните следующие действия:

  1. Создайте экземпляр класса Presentation, который представляет презентацию, содержащую диаграмму.
  2. Получите ссылку на слайд по индексу.
  3. Пройдите через все фигуры, чтобы найти нужную диаграмму.
  4. Получите доступ к данным диаграммы и установите диапазон.
  5. Сохраните измененную презентацию в файл PPTX.

Этот код на Java показывает вам, как установить диапазон данных для диаграммы: