Diagram används för att sammanfatta och visuellt representera data i presentationerna. För att visualisera data tillhandahåller MS PowerPoint ett brett utbud av diagramtyper. Bland alla de mest använda diagramtyperna inkluderar cirkeldiagram, linjediagram, stapeldiagram, histogram, aktiediagram och etc. I den här artikeln kommer du att lära dig hur du skapar diagram i PowerPoint-presentationer med Java.
- API för att skapa diagram i PowerPoint
- Skapa kolumndiagram i PowerPoint med Java
- Skapa spridda diagram i PowerPoint med Java
- Lägg till cirkeldiagram i PowerPoint med Java
- Lägg till histogramdiagram i PowerPoint med Java
- Skapa ett aktiediagram i PowerPoint med Java
Java API för att skapa diagram i PowerPoint
För att skapa olika typer av diagram i presentationer kommer vi att använda Aspose.Slides för Java. Nämnda API låter dig skapa och manipulera PowerPoint-presentationer från dina Java-applikationer. Dessutom låter det dig skapa och lägga till diagram till presentationerna sömlöst. Du kan antingen ladda ner API:et eller installera det med följande Maven-konfigurationer.
<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>
Skapa kolumndiagram i PowerPoint PPT med Java
Följande är stegen för att skapa ett kolumndiagram i en PowerPoint-presentation med Java.
- Skapa först en instans av klassen Presentation(ange sökvägen till filen i konstruktorn vid laddning av befintlig presentation).
- Skaffa bildens referens genom att ange dess index.
- Lägg till ett diagram med standarddata tillsammans med typen ChartType.ClusteredColumn.
- Rensa standardserier och kategorier.
- Öppna arbetsboken för diagramdata i ett IChartDataWorkbook-objekt.
- Lägg till nya serier och kategorier av diagrammet i arbetsboken.
- Lägg till nya diagramdata till diagramserien.
- Slutligen sparar du presentationen med metoden Presentation.save(String, SaveFormat).
För demonstration visar följande kodexempel hur man skapar ett kolumndiagram i en PowerPoint-presentation med Java.
// Skapa en ny presentation
Presentation pres = new Presentation();
try {
// Lägg till ett nytt kolumndiagram och rensa standardkategorier och serier
IChart ch = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 600, 450);
ch.getChartData().getSeries().clear();
ch.getChartData().getCategories().clear();
// Få tillgång till sjökortsdata
IChartDataWorkbook fact = ch.getChartData().getChartDataWorkbook();
fact.clear(0);
int defaultWorksheetIndex = 0;
// Lägg till kategorier
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"));
// Lägg till serie
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));
// Spara presentationen med diagram
pres.save("column-chart.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Följande är skärmdumpen av det resulterande kolumndiagrammet.
Skapa spridda diagram i PowerPoint PPT med Java
Följande är stegen för att skapa ett spritt diagram i PowerPoint-presentationen med Java.
- Skapa en ny presentation eller ladda en befintlig med klassen Presentation.
- Hämta referensen till bilden i objektet ISlide.
- Lägg till en ScatterWithSmoothLines-diagramtyp med standarddata och få dess referens i objektet IChart.
- Öppna arbetsboken för diagramdata till objektet IChartDataWorkbook och rensa standardserien.
- Lägg till nya serier till diagramdata.
- Få åtkomst till varje serie till objektet IChartSeries och lägg till datapunkter i serien.
- Gå till seriens markör med IChartSeries.getMarker() och ställ in dess egenskaper.
- Spara presentationen med metoden Presentation.save(String, SaveFormat).
Följande kodexempel visar hur man skapar ett spritt diagram i PowerPoint-presentationer med Java.
// Instantiate Presentation-klass som representerar PPTX-fil
Presentation pres = new Presentation();
try {
// Få tillgång till första bilden
ISlide slide = pres.getSlides().get_Item(0);
// Skapa standarddiagrammet
IChart chart = slide.getShapes().addChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);
// Hämta standarddiagrammets kalkylbladsindex
int defaultWorksheetIndex = 0;
// Skaffa arbetsbladet för diagramdata
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// Ta bort demoserier
chart.getChartData().getSeries().clear();
// Lägg till nya serier
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());
// Ta första diagramserien
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
// Lägg till ny punkt (1:3) där.
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 1), fact.getCell(defaultWorksheetIndex, 2, 2, 3));
// Lägg till ny punkt (2:10)
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 2), fact.getCell(defaultWorksheetIndex, 3, 2, 10));
// Redigera typen av serie
series.setType(ChartType.ScatterWithStraightLinesAndMarkers);
// Ändra diagramseriemarkören
series.getMarker().setSize(10);
series.getMarker().setSymbol(MarkerStyleType.Star);
// Ta andra diagramserien
series = chart.getChartData().getSeries().get_Item(1);
// Lägg till ny punkt (5:2) där.
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 3, 5), fact.getCell(defaultWorksheetIndex, 2, 4, 2));
// Lägg till ny punkt (3:1)
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 3, 3), fact.getCell(defaultWorksheetIndex, 3, 4, 1));
// Lägg till ny punkt (2:2)
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 4, 3, 2), fact.getCell(defaultWorksheetIndex, 4, 4, 2));
// Lägg till ny punkt (5:1)
series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 5, 3, 5), fact.getCell(defaultWorksheetIndex, 5, 4, 1));
// Ändra diagramseriemarkören
series.getMarker().setSize(10);
series.getMarker().setSymbol(MarkerStyleType.Circle);
// Spara presentationen
pres.save("scatter-chart.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Följande skärmdump visar det resulterande spridda diagrammet.
Skapa cirkeldiagram i PowerPoint PPT med Java
Följande är stegen för att skapa ett cirkeldiagram i en PowerPoint-presentation med Java.
- Skapa en ny presentation eller ladda en befintlig med klassen Presentation.
- Få referens till bilden genom att tillhandahålla dess index.
- Lägg till ett diagram med standarddata tillsammans med typen ChartType.Pie.
- Få tillgång till sjökortsdata i ett IChartDataWorkbook-objekt.
- Rensa standardserier och kategorier.
- Skapa nya serier och kategorier.
- Lägg till nya diagramdata för diagramserien.
- Lägg till nya punkter för diagram och lägg till anpassade färger för cirkeldiagrammets sektorer.
- Ställ in etiketter för serier och ledarlinjer för etiketter.
- Ställ in rotationsvinkeln för cirkeldiagrambilder.
- Spara presentationen med metoden Presentation.save(String, SaveFormat).
Följande kodexempel visar hur man skapar ett cirkeldiagram i PowerPoint-presentation med Java.
// Instantiate Presentation-klass som representerar PPTX-fil
Presentation pres = new Presentation();
try {
// Få tillgång till första bilden
ISlide slides = pres.getSlides().get_Item(0);
// Lägg till diagram med standarddata
IChart chart = slides.getShapes().addChart(ChartType.Pie, 100, 100, 400, 400);
// Ställ in diagrammets titel
chart.getChartTitle().addTextFrameForOverriding("Sample Title");
chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True);
chart.getChartTitle().setHeight(20);
chart.setTitle(true);
// Ställ in första serien på Visa värden
chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
// Ställ in index för diagramdatabladet
int defaultWorksheetIndex = 0;
// Skaffa arbetsbladet för diagramdata
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// Ta bort standardgenererade serier och kategorier
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
// Lägg till nya kategorier
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"));
// Lägg till nya serier
IChartSeries series = chart.getChartData().getSeries().add(fact.getCell(0, 0, 1, "Series 1"), chart.getType());
// Fyller nu på seriedata
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));
// Fungerar inte i ny version
// Lägger till nya punkter och ställer in sektorfärg
// series.IsColorVaried = sant;
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);
// Ställ in sektorgräns
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);
// Ställ in sektorgräns
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);
// Ställ in sektorgräns
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);
// Skapa anpassade etiketter för varje kategori för nya serier
IDataLabel lbl1 = series.getDataPoints().get_Item(0).getLabel();
// lbl.ShowCategoryName = sant;
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);
// Visa ledarlinjer för diagram
series.getLabels().getDefaultDataLabelFormat().setShowLeaderLines(true);
// Ställ in rotationsvinkel för cirkeldiagramsektorer
chart.getChartData().getSeriesGroups().get_Item(0).setFirstSliceAngle(180);
// Spara presentationen med diagram
pres.save("pie-chart.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Följande är skärmdumpen av det genererade cirkeldiagrammet.
Lägg till histogramdiagram i PowerPoint PPTX med Java
Följande är stegen för att skapa ett histogramdiagram i PowerPoint-presentationer med Java.
- Skapa en ny presentation eller ladda en befintlig med klassen Presentation.
- Få referens till bilden genom att tillhandahålla dess index.
- Lägg till ett diagram med standarddata tillsammans med typen ChartType.Histogram.
- Få tillgång till sjökortsdata i objektet IChartDataWorkbook.
- Rensa standardserier och kategorier.
- Lägg till nya serier och kategorier.
- Spara presentationen med metoden Presentation.save(String, SaveFormat).
Följande kodexempel visar hur man skapar ett histogramdiagram med Java.
// Skapa en ny presentation
Presentation pres = new Presentation();
try {
// Lägg till ett nytt histogramdiagram och rensa dess kategorier och serier
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Histogram, 50, 50, 500, 400);
chart.getChartData().getCategories().clear();
chart.getChartData().getSeries().clear();
// Få tillgång till sjökortsdata
IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
wb.clear(0);
// Lägg till serier
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);
// Spara presentationen
pres.save("histogram-chart.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Följande är skärmdumpen av det skapade histogramdiagrammet.
Skapa ett aktiediagram i PowerPoint med Java
Aktiediagram är också en av de vanligaste diagramtyperna inom PowerPoint-presentationer. Följande är stegen för att skapa ett aktiediagram i Java.
- Skapa en instans av klassen Presentation.
- Få referensen till bilden genom att tillhandahålla dess index.
- Lägg till ett diagram med standarddata tillsammans med typen ChartType.OpenHighLowClose.
- Få tillgång till sjökortsdata i objektet IChartDataWorkbook.
- Rensa standardserier och kategorier.
- Lägg till nya serier och kategorier.
- Lägg till nya diagramdata för diagramserien.
- Ange HiLowLines-format.
- Spara presentationen med metoden Presentation.save(String, SaveFormat).
Följande kodexempel visar hur man lägger till ett aktiediagram till PowerPoint-presentation med C#.
// Skapa en ny presentation
Presentation pres = new Presentation();
try {
// Lägg till diagram
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.OpenHighLowClose, 50, 50, 600, 400, false);
// Tydliga kategorier och serier
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
// Få tillgång till sjökortsdata
IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
// Lägg till kategorier
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());
// Lägg till seriedata
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);
}
// Spara presentationen
pres.save("output.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Följande är skärmdumpen av det skapade aktiediagrammet.
Fler diagramtyper
Utöver de ovan nämnda diagrammen finns det även andra typer av diagram som du kan lägga till i PowerPoint-presentationer. För att läsa mer om de diagramtyper som stöds kan du besöka denna dokumentationsartikeln.
Skaffa en gratis API-licens
Du kan få en gratis tillfällig licens för att använda API:t utan utvärderingsbegränsningar.
Prova online
Du kan också prova det kostnadsfria onlineverktyget för att skapa diagram i PowerPoint-presentationer, som är baserat på Aspose.Slides.
Slutsats
I den här artikeln har du lärt dig hur du skapar diagram i PowerPoint-presentationer med Java. Steg-för-steg-guiden och kodexemplen har visat hur du lägger till kolumndiagram, punktdiagram, cirkeldiagram, histogram och aktiediagram. Du kan utforska mer om Aspose.Slides för Java med hjälp av dokumentation. Om du har några frågor, informera oss via vårt forum.