skapa diagram i powerpoint ppt java

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.

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 kolumndiagram i PowerPoint Java

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 spridda diagram i powerpoint i C#

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.

Skapa cirkeldiagram i PowerPoint Java

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 histogramdiagram i powerpoint i C#

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.

skapa aktiediagram i powerpoint i C#

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.

Se även