vytvářet grafy v powerpoint ppt java

Grafy se používají k shrnutí a vizuální reprezentaci dat v prezentacích. Pro vizualizaci dat poskytuje MS PowerPoint širokou škálu typů grafů. Mezi nejběžněji používané typy grafů patří koláčové grafy, spojnicové grafy, sloupcové grafy, histogramy, akciové grafy atd. V tomto článku se dozvíte, jak vytvářet grafy v prezentacích PowerPoint pomocí Java.

Java API pro vytváření grafů v PowerPointu

K vytvoření různých typů grafů v prezentacích použijeme Aspose.Slides for Java. Uvedené API vám umožňuje vytvářet a manipulovat s prezentacemi PowerPoint z vašich aplikací Java. Kromě toho vám umožňuje bezproblémově vytvářet a přidávat grafy do prezentací. Rozhraní API si můžete buď stáhnout, nebo jej nainstalovat pomocí následujících konfigurací 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>

Vytvořte sloupcový graf v PowerPoint PPT pomocí Java

Níže jsou uvedeny kroky k vytvoření sloupcového grafu v prezentaci PowerPoint pomocí Java.

  • Nejprve vytvořte instanci třídy Presentation(pro případ načítání existující prezentace zadejte cestu k souboru v konstruktoru).
  • Získejte odkaz na snímek zadáním jeho indexu.
  • Přidejte graf s výchozími daty spolu s typem ChartType.ClusteredColumn.
  • Vymažte výchozí série a kategorie.
  • Přístup k datovému sešitu grafu v objektu IChartDataWorkbook.
  • Přidejte do sešitu nové řady a kategorie grafu.
  • Přidejte do řady grafů nová data grafu.
  • Nakonec prezentaci uložte pomocí metody Presentation.save(String, SaveFormat).

Následující ukázka kódu pro demonstraci ukazuje, jak vytvořit sloupcový graf v prezentaci PowerPoint pomocí Java.

// Vytvořte novou prezentaci
Presentation pres = new Presentation();
try {
    
    // Přidejte nový sloupcový graf a vymažte výchozí kategorie a řady
    IChart ch = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 600, 450);
    ch.getChartData().getSeries().clear();
    ch.getChartData().getCategories().clear();
    
    // Přístup k datům grafu
    IChartDataWorkbook fact = ch.getChartData().getChartDataWorkbook();
    fact.clear(0);
    int defaultWorksheetIndex = 0;

    // Přidat kategorie
    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"));

    // Přidat sérii
    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));
    
    // Uložit prezentaci s grafem
    pres.save("column-chart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Následuje snímek obrazovky výsledného sloupcového grafu.

Vytvořte sloupcový graf v PowerPoint Java

Vytvořte bodový graf v PowerPoint PPT pomocí Java

Následují kroky k vytvoření rozptýleného grafu v prezentaci PowerPoint pomocí Java.

  • Vytvořte novou prezentaci nebo načtěte existující pomocí třídy Presentation.
  • Získejte odkaz na snímek v objektu ISlide.
  • Přidejte typ grafu ScatterWithSmoothLines s výchozími daty a získejte jeho odkaz v objektu IChart.
  • Otevřete sešit dat grafu do objektu IChartDataWorkbook a vymažte výchozí řadu.
  • Přidejte k datům grafu nové řady.
  • Přistupte ke každé řadě do objektu IChartSeries a přidejte do řady datové body.
  • Otevřete značku série pomocí IChartSeries.getMarker() a nastavte její vlastnosti.
  • Uložte prezentaci pomocí metody Presentation.save(String, SaveFormat).

Následující ukázka kódu ukazuje, jak vytvořit rozptýlený graf v prezentacích PowerPoint pomocí Java.

// Třída okamžité prezentace, která představuje soubor PPTX
Presentation pres = new Presentation();
try {
    // Přístup k prvnímu snímku
    ISlide slide = pres.getSlides().get_Item(0);

    // Vytvořte výchozí graf
    IChart chart = slide.getShapes().addChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);
    
    // Získejte výchozí index listu dat grafu
    int defaultWorksheetIndex = 0;
    
    // Získejte list dat grafu
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    
    // Smazat ukázkovou sérii
    chart.getChartData().getSeries().clear();
    
    // Přidat novou sérii
    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());
    
    // Vezměte první sérii grafů
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);
    
    // Přidejte tam nový bod (1:3).
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 1), fact.getCell(defaultWorksheetIndex, 2, 2, 3));
    
    // Přidat nový bod (2:10)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 2), fact.getCell(defaultWorksheetIndex, 3, 2, 10));
    
    // Upravte typ série
    series.setType(ChartType.ScatterWithStraightLinesAndMarkers);
    
    // Změňte značku řady grafu
    series.getMarker().setSize(10);
    series.getMarker().setSymbol(MarkerStyleType.Star);
    
    // Vezměte druhou řadu grafů
    series = chart.getChartData().getSeries().get_Item(1);
    
    // Přidejte tam nový bod (5:2).
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 3, 5), fact.getCell(defaultWorksheetIndex, 2, 4, 2));
    
    // Přidat nový bod (3:1)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 3, 3), fact.getCell(defaultWorksheetIndex, 3, 4, 1));
    
    // Přidat nový bod (2:2)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 4, 3, 2), fact.getCell(defaultWorksheetIndex, 4, 4, 2));
    
    // Přidat nový bod (5:1)
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 5, 3, 5), fact.getCell(defaultWorksheetIndex, 5, 4, 1));
    
    // Změňte značku řady grafu
    series.getMarker().setSize(10);
    series.getMarker().setSymbol(MarkerStyleType.Circle);
    
    // Uložte prezentaci
    pres.save("scatter-chart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Následující snímek obrazovky ukazuje výsledný rozptýlený graf.

vytvořit rozptýlený graf v powerpointu v C#

Vytvořte koláčový graf v PowerPoint PPT pomocí Java

Následují kroky k vytvoření výsečového grafu v prezentaci PowerPoint pomocí Java.

  • Vytvořte novou prezentaci nebo načtěte existující pomocí třídy Presentation.
  • Získejte odkaz na snímek poskytnutím jeho indexu.
  • Přidejte graf s výchozími daty spolu s typem ChartType.Pie.
  • Získejte přístup k datům grafu v objektu IChartDataWorkbook.
  • Vymažte výchozí série a kategorie.
  • Vytvořte nové série a kategorie.
  • Přidejte nová data grafu pro řadu grafů.
  • Přidejte nové body pro grafy a přidejte vlastní barvy pro sektory koláčového grafu.
  • Nastavte štítky pro série a odkazové čáry pro štítky.
  • Nastavte úhel otočení pro snímky výsečového grafu.
  • Uložte prezentaci pomocí metody Presentation.save(String, SaveFormat).

Následující ukázka kódu ukazuje, jak vytvořit výsečový graf v prezentaci PowerPoint pomocí Java.

// Třída okamžité prezentace, která představuje soubor PPTX
Presentation pres = new Presentation();
try {
    // Přístup k prvnímu snímku
    ISlide slides = pres.getSlides().get_Item(0);
    
    // Přidat graf s výchozími daty
    IChart chart = slides.getShapes().addChart(ChartType.Pie, 100, 100, 400, 400);
    
    // Nastavit název grafu
    chart.getChartTitle().addTextFrameForOverriding("Sample Title");
    chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True);
    chart.getChartTitle().setHeight(20);
    chart.setTitle(true);
    
    // Nastavte první sérii na Zobrazit hodnoty
    chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
    
    // Nastavte index listu dat grafu
    int defaultWorksheetIndex = 0;
    
    // Získejte list dat grafu
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    
    // Smazat výchozí vygenerované série a kategorie
    chart.getChartData().getSeries().clear();
    chart.getChartData().getCategories().clear();
    
    // Přidat nové kategorie
    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"));
    
    // Přidat novou sérii
    IChartSeries series = chart.getChartData().getSeries().add(fact.getCell(0, 0, 1, "Series 1"), chart.getType());
    
    // Nyní se vyplňují data série
    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));
    
    // V nové verzi nefunguje
    // Přidávání nových bodů a nastavení barvy sektoru
    // 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);
	
    // Nastavte ohraničení sektoru
    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);
    
    // Nastavte ohraničení sektoru
    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);
    //bod1.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);
    
    // Nastavte ohraničení sektoru
    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);
    
    // Vytvořte vlastní štítky pro každou z kategorií pro nové série
    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);
    
    // Zobrazit vodicí čáry pro graf
    series.getLabels().getDefaultDataLabelFormat().setShowLeaderLines(true);
    
    // Nastavte úhel rotace pro sektory koláčového grafu
    chart.getChartData().getSeriesGroups().get_Item(0).setFirstSliceAngle(180);
    
    // Uložit prezentaci s grafem
    pres.save("pie-chart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Následuje snímek obrazovky vygenerovaného koláčového grafu.

Vytvořte výsečový graf v PowerPoint Java

Přidejte histogramový graf v PowerPoint PPTX pomocí Java

Následují kroky k vytvoření histogramového grafu v prezentacích PowerPoint pomocí Java.

  • Vytvořte novou prezentaci nebo načtěte existující pomocí třídy Presentation.
  • Získejte odkaz na snímek poskytnutím jeho indexu.
  • Přidejte graf s výchozími daty spolu s typem ChartType.Histogram.
  • Získejte přístup k datům grafu v objektu IChartDataWorkbook.
  • Vymažte výchozí série a kategorie.
  • Přidejte nové série a kategorie.
  • Uložte prezentaci pomocí metody Presentation.save(String, SaveFormat).

Následující ukázka kódu ukazuje, jak vytvořit histogramový graf pomocí Java.

// Vytvořte novou prezentaci
Presentation pres = new Presentation();
try {
    
    // Přidejte nový histogramový graf a vymažte jeho kategorie a řady
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Histogram, 50, 50, 500, 400);
    chart.getChartData().getCategories().clear();
    chart.getChartData().getSeries().clear();

    // Přístup k datům grafu
    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
    wb.clear(0);

    // Přidat sérii
    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);

    // Uložte prezentaci
    pres.save("histogram-chart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Následuje snímek obrazovky vytvořeného histogramu.

vytvořit histogramový graf v powerpointu v C#

Vytvořte burzovní graf v PowerPointu pomocí Java

Burzovní graf je také jedním z běžně používaných typů grafů v prezentacích PowerPoint. Následují kroky k vytvoření burzovního grafu v Javě.

  • Vytvořte instanci třídy Presentation.
  • Získejte odkaz na snímek poskytnutím jeho indexu.
  • Přidejte graf s výchozími daty spolu s typem ChartType.OpenHighLowClose.
  • Získejte přístup k datům grafu v objektu IChartDataWorkbook.
  • Vymažte výchozí série a kategorie.
  • Přidejte nové série a kategorie.
  • Přidejte nová data grafu pro řadu grafů.
  • Zadejte formát HiLowLines.
  • Uložte prezentaci pomocí metody Presentation.save(String, SaveFormat).

Následující ukázka kódu ukazuje, jak přidat burzovní graf do prezentace PowerPoint pomocí C#.

// Vytvořte novou prezentaci
Presentation pres = new Presentation();
try {
    
    // Přidat graf
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.OpenHighLowClose, 50, 50, 600, 400, false);

    // Přehledné kategorie a série
    chart.getChartData().getSeries().clear();
    chart.getChartData().getCategories().clear();

    // Přístup k datům grafu
    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();

    // Přidat kategorie
    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());

    // Přidejte data série
    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);
    }

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

Následuje snímek obrazovky vytvořeného akciového grafu.

vytvořit akciový graf v powerpointu v C#

Více typů grafů

Kromě výše uvedených grafů existují také další typy grafů, které můžete přidat do prezentací aplikace PowerPoint. Chcete-li si přečíst více o podporovaných typech grafů, můžete navštívit tento článek dokumentace.

Získejte bezplatnou licenci API

Můžete získat bezplatnou dočasnou licenci, abyste mohli používat API bez omezení hodnocení.

Vyzkoušejte online

Můžete také vyzkoušet bezplatný online nástroj pro vytváření grafů v prezentacích PowerPoint, který je založen na Aspose.Slides.

Závěr

V tomto článku jste se naučili vytvářet grafy v prezentacích PowerPoint pomocí Java. Podrobný průvodce a ukázky kódu ukázaly, jak přidat sloupcové grafy, bodové grafy, koláčové grafy, histogramy a akciové grafy. Více o Aspose.Slides for Java můžete prozkoumat pomocí dokumentace. V případě jakýchkoliv dotazů nás informujte prostřednictvím našeho fóra.

Viz také