створювати діаграми в powerpoint ppt java

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

Java API для створення діаграм у PowerPoint

Щоб створювати різні типи діаграм у презентаціях, ми будемо використовувати Aspose.Slides for Java. Зазначений API дозволяє створювати та керувати презентаціями PowerPoint із ваших програм Java. Крім того, це дозволяє легко створювати та додавати діаграми до презентацій. Ви можете завантажити API або встановити його за допомогою наведених нижче конфігурацій Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>21.7</version>
    <classifier>jdk16</classifier>
</dependency>

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

Нижче наведено кроки для створення стовпчастої діаграми в презентації PowerPoint за допомогою Java.

  • Спочатку створіть екземпляр класу Presentation(у конструкторі вкажіть шлях до файлу у разі завантаження існуючої презентації).
  • Отримайте посилання на слайд, вказавши його індекс.
  • Додайте діаграму з даними за замовчуванням разом із типом ChartType.ClusteredColumn.
  • Очистіть стандартні серії та категорії.
  • Доступ до книги даних діаграми в об’єкті IChartDataWorkbook.
  • Додайте нові серії та категорії діаграми до робочого зошита.
  • Додайте нові дані діаграми до серії діаграм.
  • Нарешті, збережіть презентацію за допомогою методу Presentation.save(String, SaveFormat).

Для демонстрації наведений нижче зразок коду показує, як створити стовпчасту діаграму в презентації PowerPoint за допомогою 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, "Group1");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c3", "B"));

    category = ch.getChartData().getCategories().add(fact.getCell(0, "c4", "C"));
    category.getGroupingLevels().setGroupingItem(1, "Group2");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c5", "D"));

    category = ch.getChartData().getCategories().add(fact.getCell(0, "c6", "E"));
    category.getGroupingLevels().setGroupingItem(1, "Group3");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c7", "F"));

    category = ch.getChartData().getCategories().add(fact.getCell(0, "c8", "G"));
    category.getGroupingLevels().setGroupingItem(1, "Group4");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c9", "H"));

    // Додати серію
    IChartSeries series = ch.getChartData().getSeries().add(fact.getCell(0, "D1", "Series 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("column-chart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

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

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

Створіть точкову діаграму в PowerPoint PPT за допомогою Java

Нижче наведено кроки для створення розсіяної діаграми в презентації PowerPoint за допомогою Java.

  • Створіть нову презентацію або завантажте існуючу за допомогою класу Presentation.
  • Отримати посилання на слайд в об’єкті ISlide.
  • Додайте тип діаграми ScatterWithSmoothLines із даними за замовчуванням і отримайте посилання на нього в об’єкті IChart.
  • Отримайте доступ до книги даних діаграми в об’єкті IChartDataWorkbook і очистіть серію за замовчуванням.
  • Додайте новий ряд до даних діаграми.
  • Отримайте доступ до кожної серії в об’єкті IChartSeries і додайте точки даних до серії.
  • Отримайте доступ до маркера серії за допомогою IChartSeries.getMarker() і встановіть його властивості.
  • Збережіть презентацію за допомогою методу Presentation.save(String, SaveFormat).

У наведеному нижче прикладі коду показано, як створити розсіяну діаграму в презентаціях PowerPoint за допомогою 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, "Series 1"), chart.getType());
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 3, "Series 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("scatter-chart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

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

створити розсіяну діаграму в powerpoint на C#

Створення секторної діаграми в PowerPoint PPT за допомогою Java

Нижче наведено кроки для створення кругової діаграми в презентації PowerPoint за допомогою Java.

  • Створіть нову презентацію або завантажте існуючу за допомогою класу Presentation.
  • Отримайте посилання на слайд, вказавши його індекс.
  • Додайте діаграму з даними за замовчуванням разом із типом ChartType.Pie.
  • Доступ до даних діаграми в об’єкті IChartDataWorkbook.
  • Очистіть стандартні серії та категорії.
  • Створіть нові серії та категорії.
  • Додайте нові дані діаграми для серії діаграм.
  • Додайте нові точки для діаграм і додайте власні кольори для секторів кругової діаграми.
  • Встановіть мітки для серії та лінії-виноски для міток.
  • Установіть кут повороту для слайдів кругової діаграми.
  • Збережіть презентацію за допомогою методу Presentation.save(String, SaveFormat).

У наведеному нижче прикладі коду показано, як створити секторну діаграму в презентації PowerPoint за допомогою 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("Sample Title");
    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, "First Qtr"));
    chart.getChartData().getCategories().add(fact.getCell(0, 2, 0, "2nd Qtr"));
    chart.getChartData().getCategories().add(fact.getCell(0, 3, 0, "3rd Qtr"));
    
    // Додати нову серію
    IChartSeries series = chart.getChartData().getSeries().add(fact.getCell(0, 0, 1, "Series 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("pie-chart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

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

Створення кругової діаграми в PowerPoint Java

Додайте діаграму гістограми в PowerPoint PPTX за допомогою Java

Нижче наведено кроки для створення діаграми гістограми в презентаціях PowerPoint за допомогою Java.

  • Створіть нову презентацію або завантажте наявну за допомогою класу Presentation.
  • Отримайте посилання на слайд, вказавши його індекс.
  • Додайте діаграму з даними за замовчуванням разом із типом ChartType.Histogram.
  • Доступ до даних діаграми в об’єкті IChartDataWorkbook.
  • Очистіть стандартні серії та категорії.
  • Додайте нові серії та категорії.
  • Збережіть презентацію за допомогою методу Presentation.save(String, SaveFormat).

У наведеному нижче прикладі коду показано, як створити діаграму гістограми за допомогою 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-chart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

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

створити діаграму гістограми в powerpoint на C#

Створіть біржову діаграму в PowerPoint за допомогою Java

Біржова діаграма також є одним із часто використовуваних типів діаграм у презентаціях PowerPoint. Нижче наведено кроки для створення біржової діаграми в Java.

  • Створіть екземпляр класу Presentation.
  • Отримайте посилання на слайд, вказавши його індекс.
  • Додайте діаграму з даними за замовчуванням разом із типом ChartType.OpenHighLowClose.
  • Доступ до даних діаграми в об’єкті IChartDataWorkbook.
  • Очистіть стандартні серії та категорії.
  • Додайте нові серії та категорії.
  • Додайте нові дані діаграми для серії діаграм.
  • Вкажіть формат HiLowLines.
  • Збережіть презентацію за допомогою методу Presentation.save(String, SaveFormat).

У наведеному нижче прикладі коду показано, як додати біржову діаграму до презентації PowerPoint за допомогою C#.

// Створіть нову презентацію
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, "Open"), chart.getType());
    chart.getChartData().getSeries().add(wb.getCell(0, 0, 2, "High"), chart.getType());
    chart.getChartData().getSeries().add(wb.getCell(0, 0, 3, "Low"), chart.getType());
    chart.getChartData().getSeries().add(wb.getCell(0, 0, 4, "Close"), 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();
}

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

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

Більше типів діаграм

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

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

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

Спробуйте онлайн

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

Висновок

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

Дивись також