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.
- API pro vytváření grafů v PowerPointu
- Vytvořte sloupcový graf v PowerPointu pomocí Java
- Vytvořte bodový graf v PowerPointu pomocí Java
- Přidejte výsečový graf v PowerPointu pomocí Java
- Přidejte Histogram Chart v PowerPointu pomocí Java
- Vytvořte burzovní graf v PowerPointu 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 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ř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.
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ř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.
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.