PowerPoint-Präsentationsdiagramme in Java erstellen oder aktualisieren

Übersicht

Dieser Artikel beschreibt, wie man PowerPoint‑Präsentationsdiagramme in Java erstellt. Sie können die Diagramme auch in Java aktualisieren. Er behandelt die folgenden Themen.

Diagramm: Normal

Diagramm: Streudiagramm

Diagramm: Tortendiagramm

Diagramm: Tree Map

Diagramm: Aktien‑Diagramm

Diagramm: Box‑und‑Whisker‑Diagramm

Diagramm: Trichter‑Diagramm

Diagramm: Sunburst‑Diagramm

Diagramm: Histogramm

Diagramm: Radar‑Diagramm

Diagramm: Mehrkategorien‑Diagramm

Diagramm: Karten‑Diagramm

Aktion: Diagramm aktualisieren

Diagramm erstellen

Diagramme helfen dabei, Daten schnell zu visualisieren und Einblicke zu gewinnen, die aus einer Tabelle oder einem Arbeitsblatt nicht sofort ersichtlich sind.

Warum Diagramme erstellen?

Mit Diagrammen können Sie

  • große Datenmengen auf einer einzigen Folie in einer Präsentation zusammenfassen, verdichten oder zusammenfassen
  • Muster und Trends in den Daten aufdecken
  • die Richtung und das Momentum von Daten über die Zeit oder in Bezug auf eine bestimmte Maßeinheit ableiten
  • Ausreißer, Abweichungen, Fehler, unsinnige Daten usw. erkennen
  • komplexe Daten kommunizieren oder präsentieren

In PowerPoint können Sie Diagramme über die Einfügefunktion erstellen, die Vorlagen zur Gestaltung vieler Diagrammtypen bereitstellt. Mit Aspose.Slides können Sie reguläre Diagramme (basierend auf gängigen Diagrammtypen) sowie benutzerdefinierte Diagramme erstellen.

Normal‑Diagramme erstellen

Schritte: Diagramm erstellen

Code‑Schritte:

  1. Erstellen Sie eine Instanz der Klasse Presentation.
  2. Holen Sie sich die Referenz einer Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit Daten hinzu und geben Sie Ihren gewünschten Diagrammtyp an.
  4. Fügen Sie dem Diagramm einen Titel hinzu.
  5. Greifen Sie auf das Daten‑Worksheet des Diagramms zu.
  6. Entfernen Sie alle Standard‑Serien und -Kategorien.
  7. Fügen Sie neue Serien und Kategorien hinzu.
  8. Fügen Sie der Diagramm‑Serie neue Daten hinzu.
  9. Legen Sie eine Füllfarbe für die Diagramm‑Serie fest.
  10. Fügen Sie der Diagramm‑Serie Beschriftungen hinzu.
  11. Schreiben Sie die modifizierte Präsentation als PPTX‑Datei.

Dieses Java‑Beispiel zeigt, wie ein normales Diagramm erstellt wird:

// Instanziert eine Präsentationsklasse, die eine PPTX-Datei repräsentiert
Presentation pres = new Presentation();
try {
    // Greift auf die erste Folie zu
    ISlide sld = pres.getSlides().get_Item(0);
    
    // Fügt ein Diagramm mit den Standarddaten hinzu
    IChart chart = sld.getShapes().addChart(ChartType.ClusteredColumn, 0, 0, 500, 500);
    
    // Setzt den Diagrammtitel
    chart.getChartTitle().addTextFrameForOverriding("Sample Title");
    chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True);
    chart.getChartTitle().setHeight(20);
    chart.hasTitle();
    
    // Setzt die erste Serie, um Werte anzuzeigen
    chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
    
    // Setzt den Index für das Diagrammdatenblatt
    int defaultWorksheetIndex = 0;
    
    // Holt das Diagrammdaten-Arbeitsblatt
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    
    // Löscht die automatisch generierten Serien und Kategorien
    chart.getChartData().getSeries().clear();
    chart.getChartData().getCategories().clear();
    int s = chart.getChartData().getSeries().size();
    s = chart.getChartData().getCategories().size();
    
    // Fügt neue Serien hinzu
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 1, "Series 1"),chart.getType());
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 2, "Series 2"),chart.getType());
    
    // Fügt neue Kategorien hinzu
    chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
    chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
    chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));
    
    // Nimmt die erste Diagrammserie
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);
    
    // Befüllt nun die Seriendaten
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 1, 20));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 50));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 30));
    
    // Setzt die Füllfarbe für die Serie
    series.getFormat().getFill().setFillType(FillType.Solid);
    series.getFormat().getFill().getSolidFillColor().setColor(Color.RED);
    
    // Nimmt die zweite Diagrammserie
    series = chart.getChartData().getSeries().get_Item(1);
    
    // Befüllt die Seriendaten
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 2, 30));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 2, 10));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 2, 60));
    
    // Setzt die Füllfarbe für die Serie
    series.getFormat().getFill().setFillType(FillType.Solid);
    series.getFormat().getFill().getSolidFillColor().setColor(Color.GREEN);
    
    //Erstelle benutzerdefinierte Beschriftungen für jede Kategorie für die neue Serie
    // Setzt die erste Beschriftung, um den Kategorienamen anzuzeigen
    IDataLabel lbl = series.getDataPoints().get_Item(0).getLabel();
    lbl.getDataLabelFormat().setShowCategoryName(true);
    
    lbl = series.getDataPoints().get_Item(1).getLabel();
    lbl.getDataLabelFormat().setShowSeriesName(true);
    
    // Zeigt den Wert für die dritte Beschriftung an
    lbl = series.getDataPoints().get_Item(2).getLabel();
    lbl.getDataLabelFormat().setShowValue(true);
    lbl.getDataLabelFormat().setShowSeriesName(true);
    lbl.getDataLabelFormat().setSeparator("/");
    
    // Speichert die Präsentation mit Diagramm
    pres.save("output.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Streudiagramme erstellen

Streudiagramme (auch Scatter‑Plots oder X‑Y‑Grafiken genannt) werden häufig verwendet, um Muster zu prüfen oder Korrelationen zwischen zwei Variablen zu demonstrieren.

Sie können ein Streudiagramm verwenden, wenn

  • Sie gepaarte numerische Daten haben
  • Sie zwei Variablen haben, die gut zusammenpassen
  • Sie feststellen möchten, ob zwei Variablen zusammenhängen
  • Sie eine unabhängige Variable haben, die mehrere Werte für eine abhängige Variable besitzt

Schritte: Streudiagramm in Java erstellen | Schritte: PowerPoint‑Streudiagramm in Java erstellen | Schritte: PowerPoint‑Präsentations‑Streudiagramm in Java erstellen

  1. Bitte folgen Sie den oben beschriebenen Schritten in Normal‑Diagramme erstellen
  2. Für den dritten Schritt fügen Sie ein Diagramm mit Daten hinzu und wählen Sie als Diagrammtyp einen der folgenden:
    1. ChartType.ScatterWithMarkersStreudiagramm mit Markern.
    2. ChartType.ScatterWithSmoothLinesAndMarkersStreudiagramm, das durch Kurven verbunden ist, mit Daten‑Markern.
    3. ChartType.ScatterWithSmoothLinesStreudiagramm, das durch Kurven verbunden ist, ohne Daten‑Marker.
    4. ChartType.ScatterWithStraightLinesAndMarkersStreudiagramm, das durch gerade Linien verbunden ist, mit Daten‑Markern.
    5. ChartType.ScatterWithStraightLinesStreudiagramm, das durch gerade Linien verbunden ist, ohne Daten‑Marker.

Dieses Java‑Beispiel zeigt, wie ein Streudiagramm mit einer anderen Markierungsserie erstellt wird:

// Instanziert eine Präsentationsklasse, die eine PPTX-Datei darstellt
Presentation pres = new Presentation();
try {
    // Greift auf die erste Folie zu
    ISlide slide = pres.getSlides().get_Item(0);

    // Erstellt das Standarddiagramm
    IChart chart = slide.getShapes().addChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);
    
    // Holt den Index des Standard‑Diagrammdaten‑Arbeitsblatts
    int defaultWorksheetIndex = 0;
    
    // Holt das Diagrammdaten‑Arbeitsblatt
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    
    // Löscht die Demo‑Serien
    chart.getChartData().getSeries().clear();
    
    // Fügt neue Serien hinzu
    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());
    
    // Nimmt die erste Diagrammserie
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);
    
    // Fügt der Serie einen neuen Punkt (1:3) hinzu
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 1, 1), fact.getCell(defaultWorksheetIndex, 2, 2, 3));
    
    // Fügt einen neuen Punkt (2:10) hinzu
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 1, 2), fact.getCell(defaultWorksheetIndex, 3, 2, 10));
    
    // Ändert den Serientyp
    series.setType(ChartType.ScatterWithStraightLinesAndMarkers);
    
    // Ändert die Markierung der Diagrammserie
    series.getMarker().setSize(10);
    series.getMarker().setSymbol(MarkerStyleType.Star);
    
    // Nimmt die zweite Diagrammserie
    series = chart.getChartData().getSeries().get_Item(1);
    
    // Fügt dort einen neuen Punkt (5:2) hinzu
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 2, 3, 5), fact.getCell(defaultWorksheetIndex, 2, 4, 2));
    
    // Fügt einen neuen Punkt (3:1) hinzu
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 3, 3, 3), fact.getCell(defaultWorksheetIndex, 3, 4, 1));
    
    // Fügt einen neuen Punkt (2:2) hinzu
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 4, 3, 2), fact.getCell(defaultWorksheetIndex, 4, 4, 2));
    
    // Fügt einen neuen Punkt (5:1) hinzu
    series.getDataPoints().addDataPointForScatterSeries(fact.getCell(defaultWorksheetIndex, 5, 3, 5), fact.getCell(defaultWorksheetIndex, 5, 4, 1));
    
    // Ändert die Markierung der Diagrammserie
    series.getMarker().setSize(10);
    series.getMarker().setSymbol(MarkerStyleType.Circle);
    
    pres.save("AsposeChart_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Tortendiagramme erstellen

Tortendiagramme eignen sich am besten, um das Verhältnis von Teil zu Ganzem darzustellen, insbesondere wenn die Daten kategoriale Beschriftungen mit numerischen Werten enthalten. Wenn Ihre Daten jedoch viele Teile oder Beschriftungen enthalten, sollten Sie stattdessen ein Balkendiagramm in Betracht ziehen.

Schritte: Tortendiagramm in Java erstellen | Schritte: PowerPoint‑Tortendiagramm in Java erstellen | Schritte: PowerPoint‑Präsentations‑Tortendiagramm in Java erstellen

  1. Erstellen Sie eine Instanz der Klasse Presentation.
  2. Holen Sie sich die Referenz einer Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ hinzu (hier: ChartType.Pie).
  4. Greifen Sie auf das Daten‑Workbook IChartDataWorkbook zu.
  5. Entfernen Sie die Standard‑Serien und -Kategorien.
  6. Fügen Sie neue Serien und Kategorien hinzu.
  7. Fügen Sie der Diagramm‑Serie neue Daten hinzu.
  8. Fügen Sie neue Punkte hinzu und definieren Sie benutzerdefinierte Farben für die Sektoren des Tortendiagramms.
  9. Setzen Sie Beschriftungen für die Serien.
  10. Setzen Sie Führungslinien für die Serienbeschriftungen.
  11. Setzen Sie den Rotationswinkel für das Tortendiagramm.
  12. Schreiben Sie die modifizierte Präsentation in eine PPTX‑Datei.

Dieses Java‑Beispiel zeigt, wie ein Tortendiagramm erstellt wird:

// Instanziert eine Präsentationsklasse, die eine PPTX-Datei repräsentiert
Presentation pres = new Presentation();
try {
    // Greift auf die erste Folie zu
    ISlide slides = pres.getSlides().get_Item(0);
    
    // Fügt ein Diagramm mit Standarddaten hinzu
    IChart chart = slides.getShapes().addChart(ChartType.Pie, 100, 100, 400, 400);
    
    // Setzt den Diagrammtitel
    chart.getChartTitle().addTextFrameForOverriding("Sample Title");
    chart.getChartTitle().getTextFrameForOverriding().getTextFrameFormat().setCenterText(NullableBool.True);
    chart.getChartTitle().setHeight(20);
    chart.setTitle(true);
    
    // Setzt die erste Serie, um Werte anzuzeigen
    chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
    
    // Setzt den Index für das Diagrammdatenblatt
    int defaultWorksheetIndex = 0;
    
    // Holt das Diagrammdaten-Arbeitsblatt
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    
    // Löscht die standardmäßig erzeugten Serien und Kategorien
    chart.getChartData().getSeries().clear();
    chart.getChartData().getCategories().clear();
    
    // Fügt neue Kategorien hinzu
    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"));
    
    // Fügt neue Serien hinzu
    IChartSeries series = chart.getChartData().getSeries().add(fact.getCell(0, 0, 1, "Series 1"), chart.getType());
    
    // Befüllt die Seriendaten
    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));
    
    // Funktioniert nicht in der neuen Version
    // Hinzufügen neuer Punkte und Festlegen der Sektorfarbe
    // 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);
	
    // Setzt den Sektorrand
    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);
    
    // Setzt den Sektorrand
    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);
    
    // Setzt den Sektorrand
    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);
    
    // Erstellt benutzerdefinierte Beschriftungen für jede Kategorie der neuen Serie
    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);
    
    // Zeigt Führungslinien für das Diagramm
    series.getLabels().getDefaultDataLabelFormat().setShowLeaderLines(true);
    
    // Setzt den Rotationswinkel für die Tortendiagramm-Sektoren
    chart.getChartData().getSeriesGroups().get_Item(0).setFirstSliceAngle(180);
    
    // Speichert die Präsentation mit einem Diagramm
    pres.save("PieChart_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Liniendiagramme erstellen

Liniendiagramme (auch Liniengraphen genannt) eignen sich besonders, wenn Sie Änderungen von Werten über die Zeit darstellen möchten. Mit einem Liniendiagramm können Sie viele Daten gleichzeitig vergleichen, Änderungen und Trends über die Zeit verfolgen, Anomalien in Datenreihen hervorheben usw.

  1. Erstellen Sie eine Instanz der Klasse Presentation.
  2. Holen Sie sich die Referenz einer Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ hinzu (hier: ChartType.Line).
  4. Greifen Sie auf das Daten‑Workbook IChartDataWorkbook zu.
  5. Entfernen Sie die Standard‑Serien und -Kategorien.
  6. Fügen Sie neue Serien und Kategorien hinzu.
  7. Fügen Sie der Diagramm‑Serie neue Daten hinzu.
  8. Schreiben Sie die modifizierte Präsentation in eine PPTX‑Datei.

Dieses Java‑Beispiel zeigt, wie ein Liniendiagramm erstellt wird:

Presentation pres = new Presentation();
try {
    IChart lineChart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Line, 10, 50, 600, 350);

    pres.save("lineChart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Standardmäßig werden Punkte in einem Liniendiagramm durch gerade, durchgehende Linien verbunden. Wenn Sie stattdessen gestrichelte Linien wünschen, können Sie den gewünschten Strichtyp wie folgt angeben:

IChart lineChart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Line, 10, 50, 600, 350);

for (IChartSeries series : lineChart.getChartData().getSeries())
{
    series.getFormat().getLine().setDashStyle(LineDashStyle.Dash);
}

Tree‑Map‑Diagramme erstellen

Tree‑Map‑Diagramme eignen sich besonders für Verkaufsdaten, wenn Sie die relative Größe von Datenkategorien zeigen und gleichzeitig schnell auf große Beitragsleistende in jeder Kategorie aufmerksam machen möchten.

Schritte: Tree‑Map‑Diagramm in Java erstellen | Schritte: PowerPoint‑Tree‑Map‑Diagramm in Java erstellen | Schritte: PowerPoint‑Präsentations‑Tree‑Map‑Diagramm in Java erstellen

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Holen Sie sich die Referenz einer Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ hinzu (hier: ChartType.TreeMap).
  4. Greifen Sie auf das Daten‑Workbook IChartDataWorkbook zu.
  5. Entfernen Sie die Standard‑Serien und -Kategorien.
  6. Fügen Sie neue Serien und Kategorien hinzu.
  7. Fügen Sie der Diagramm‑Serie neue Daten hinzu.
  8. Schreiben Sie die modifizierte Präsentation in eine PPTX‑Datei.

Dieses Java‑Beispiel zeigt, wie ein Tree‑Map‑Diagramm erstellt wird:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Treemap, 50, 50, 500, 400);
    chart.getChartData().getCategories().clear();
    chart.getChartData().getSeries().clear();

    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
    wb.clear(0);

    //Zweig 1
    IChartCategory leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C1", "Leaf1"));
    leaf.getGroupingLevels().setGroupingItem(1, "Stem1");
    leaf.getGroupingLevels().setGroupingItem(2, "Branch1");

    chart.getChartData().getCategories().add(wb.getCell(0, "C2", "Leaf2"));

    leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C3", "Leaf3"));
    leaf.getGroupingLevels().setGroupingItem(1, "Stem2");

    chart.getChartData().getCategories().add(wb.getCell(0, "C4", "Leaf4"));

    //Zweig 2
    leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C5", "Leaf5"));
    leaf.getGroupingLevels().setGroupingItem(1, "Stem3");
    leaf.getGroupingLevels().setGroupingItem(2, "Branch2");

    chart.getChartData().getCategories().add(wb.getCell(0, "C6", "Leaf6"));

    leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C7", "Leaf7"));
    leaf.getGroupingLevels().setGroupingItem(1, "Stem4");

    chart.getChartData().getCategories().add(wb.getCell(0, "C8", "Leaf8"));

    IChartSeries series = chart.getChartData().getSeries().add(ChartType.Treemap);
    series.getLabels().getDefaultDataLabelFormat().setShowCategoryName(true);
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D1", 4));
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D2", 5));
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D3", 3));
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D4", 6));
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D5", 9));
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D6", 9));
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D7", 4));
    series.getDataPoints().addDataPointForTreemapSeries(wb.getCell(0, "D8", 3));

    series.setParentLabelLayout(ParentLabelLayoutType.Overlapping);

    pres.save("Treemap.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Aktien‑Diagramme erstellen

Schritte: Aktien‑Diagramm in Java erstellen | Schritte: PowerPoint‑Aktien‑Diagramm in Java erstellen | Schritte: PowerPoint‑Präsentations‑Aktien‑Diagramm in Java erstellen

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Holen Sie sich die Referenz einer Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ hinzu (ChartType.OpenHighLowClose).
  4. Greifen Sie auf das Daten‑Workbook IChartDataWorkbook zu.
  5. Entfernen Sie die Standard‑Serien und -Kategorien.
  6. Fügen Sie neue Serien und Kategorien hinzu.
  7. Fügen Sie der Diagramm‑Serie neue Daten hinzu.
  8. Definieren Sie das Format für HiLowLines.
  9. Schreiben Sie die modifizierte Präsentation in eine PPTX‑Datei.

Beispiel‑Java‑Code zum Erstellen eines Aktien‑Diagramms:

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();
}

Box‑und‑Whisker‑Diagramme erstellen

Schritte: Box‑und‑Whisker‑Diagramm in Java erstellen | Schritte: PowerPoint‑Box‑und‑Whisker‑Diagramm in Java erstellen | Schritte: PowerPoint‑Präsentations‑Box‑und‑Whisker‑Diagramm in Java erstellen

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Holen Sie sich die Referenz einer Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ hinzu (ChartType.BoxAndWhisker).
  4. Greifen Sie auf das Daten‑Workbook IChartDataWorkbook zu.
  5. Entfernen Sie die Standard‑Serien und -Kategorien.
  6. Fügen Sie neue Serien und Kategorien hinzu.
  7. Fügen Sie der Diagramm‑Serie neue Daten hinzu.
  8. Schreiben Sie die modifizierte Präsentation in eine PPTX‑Datei.

Dieses Java‑Beispiel zeigt, wie ein Box‑und‑Whisker‑Diagramm erstellt wird:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.BoxAndWhisker, 50, 50, 500, 400);
    chart.getChartData().getCategories().clear();
    chart.getChartData().getSeries().clear();

    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
    wb.clear(0);

    chart.getChartData().getCategories().add(wb.getCell(0, "A1", "Category 1"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A2", "Category 1"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A3", "Category 1"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A4", "Category 1"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A5", "Category 1"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A6", "Category 1"));

    IChartSeries series = chart.getChartData().getSeries().add(ChartType.BoxAndWhisker);

    series.setQuartileMethod(QuartileMethodType.Exclusive);
    series.setShowMeanLine(true);
    series.setShowMeanMarkers(true);
    series.setShowInnerPoints(true);
    series.setShowOutlierPoints(true);

    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B1", 15));
    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B2", 41));
    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B3", 16));
    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B4", 10));
    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B5", 23));
    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "B6", 16));

    pres.save("BoxAndWhisker.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Trichter‑Diagramme erstellen

Schritte: Trichter‑Diagramm in Java erstellen | Schritte: PowerPoint‑Trichter‑Diagramm in Java erstellen | Schritte: PowerPoint‑Präsentations‑Trichter‑Diagramm in Java erstellen

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Holen Sie sich die Referenz einer Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ hinzu (ChartType.Funnel).
  4. Schreiben Sie die modifizierte Präsentation in eine PPTX‑Datei.

Der Java‑Code zeigt, wie ein Trichter‑Diagramm erstellt wird:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Funnel, 50, 50, 500, 400);
    chart.getChartData().getCategories().clear();
    chart.getChartData().getSeries().clear();

    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();

    wb.clear(0);

    chart.getChartData().getCategories().add(wb.getCell(0, "A1", "Category 1"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A2", "Category 2"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A3", "Category 3"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A4", "Category 4"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A5", "Category 5"));
    chart.getChartData().getCategories().add(wb.getCell(0, "A6", "Category 6"));

    IChartSeries series = chart.getChartData().getSeries().add(ChartType.Funnel);

    series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B1", 50));
    series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B2", 100));
    series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B3", 200));
    series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B4", 300));
    series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B5", 400));
    series.getDataPoints().addDataPointForFunnelSeries(wb.getCell(0, "B6", 500));

    pres.save("Funnel.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Sunburst‑Diagramme erstellen

Schritte: Sunburst‑Diagramm in Java erstellen | Schritte: PowerPoint‑Sunburst‑Diagramm in Java erstellen | Schritte: PowerPoint‑Präsentations‑Sunburst‑Diagramm in Java erstellen

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Holen Sie sich die Referenz einer Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ hinzu (hier: ChartType.sunburst).
  4. Schreiben Sie die modifizierte Präsentation in eine PPTX‑Datei.

Dieser Java‑Code zeigt, wie ein Sunburst‑Diagramm erstellt wird:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Sunburst, 50, 50, 500, 400);
    chart.getChartData().getCategories().clear();
    chart.getChartData().getSeries().clear();

    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();
    wb.clear(0);

    //Zweig 1
    IChartCategory leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C1", "Leaf1"));
    leaf.getGroupingLevels().setGroupingItem(1, "Stem1");
    leaf.getGroupingLevels().setGroupingItem(2, "Branch1");

    chart.getChartData().getCategories().add(wb.getCell(0, "C2", "Leaf2"));

    leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C3", "Leaf3"));
    leaf.getGroupingLevels().setGroupingItem(1, "Stem2");

    chart.getChartData().getCategories().add(wb.getCell(0, "C4", "Leaf4"));

    //Zweig 2
    leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C5", "Leaf5"));
    leaf.getGroupingLevels().setGroupingItem(1, "Stem3");
    leaf.getGroupingLevels().setGroupingItem(2, "Branch2");

    chart.getChartData().getCategories().add(wb.getCell(0, "C6", "Leaf6"));

    leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C7", "Leaf7"));
    leaf.getGroupingLevels().setGroupingItem(1, "Stem4");

    chart.getChartData().getCategories().add(wb.getCell(0, "C8", "Leaf8"));

    IChartSeries series = chart.getChartData().getSeries().add(ChartType.Sunburst);
    series.getLabels().getDefaultDataLabelFormat().setShowCategoryName(true);
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D1", 4));
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D2", 5));
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D3", 3));
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D4", 6));
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D5", 9));
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D6", 9));
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D7", 4));
    series.getDataPoints().addDataPointForSunburstSeries(wb.getCell(0, "D8", 3));
    
    pres.save("Sunburst.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Histogramm‑Diagramme erstellen

Schritte: Histogramm‑Diagramm in Java erstellen | Schritte: PowerPoint‑Histogramm‑Diagramm in Java erstellen | Schritte: PowerPoint‑Präsentations‑Histogramm‑Diagramm in Java erstellen

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Holen Sie sich die Referenz einer Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ hinzu (ChartType.Histogram).
  4. Greifen Sie auf das Daten‑Workbook IChartDataWorkbook zu.
  5. Entfernen Sie die Standard‑Serien und -Kategorien.
  6. Fügen Sie neue Serien und Kategorien hinzu.
  7. Schreiben Sie die modifizierte Präsentation in eine PPTX‑Datei.

Dieses Java‑Beispiel zeigt, wie ein Histogramm‑Diagramm erstellt wird:

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.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Radar‑Diagramme erstellen

Schritte: Radar‑Diagramm in Java erstellen | Schritte: PowerPoint‑Radar‑Diagramm in Java erstellen | Schritte: PowerPoint‑Präsentations‑Radar‑Diagramm in Java erstellen

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Holen Sie sich die Referenz einer Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit Daten hinzu und geben Sie Ihren gewünschten Diagrammtyp an (ChartType.Radar in diesem Fall).
  4. Schreiben Sie die modifizierte Präsentation in eine PPTX‑Datei.

Dieser Java‑Code zeigt, wie ein Radar‑Diagramm erstellt wird:

Presentation pres = new Presentation();
try {
    pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Radar, 20, 20, 400, 300);
    pres.save("Radar-chart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Mehrkategorien‑Diagramme erstellen

Schritte: Mehrkategorien‑Diagramm in Java erstellen | Schritte: PowerPoint‑Mehrkategorien‑Diagramm in Java erstellen | Schritte: PowerPoint‑Präsentations‑Mehrkategorien‑Diagramm in Java erstellen

  1. Erstellen Sie eine Instanz der Presentation Klasse.
  2. Holen Sie sich die Referenz einer Folie über ihren Index.
  3. Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ hinzu (ChartType.ClusteredColumn).
  4. Greifen Sie auf das Daten‑Workbook IChartDataWorkbook zu.
  5. Entfernen Sie die Standard‑Serien und -Kategorien.
  6. Fügen Sie neue Serien und Kategorien hinzu.
  7. Fügen Sie der Diagramm‑Serie neue Daten hinzu.
  8. Schreiben Sie die modifizierte Präsentation in eine PPTX‑Datei.

Dieses Java‑Beispiel zeigt, wie ein Mehrkategorien‑Diagramm erstellt wird:

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"));

    // Serien hinzufügen
    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));
    
    // Präsentation mit Diagramm speichern
    pres.save("AsposeChart_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Karten‑Diagramme erstellen

Ein Karten‑Diagramm visualisiert ein Gebiet, das Daten enthält. Karten‑Diagramme eignen sich besonders, um Daten oder Werte über geografische Regionen hinweg zu vergleichen.

Schritte: Karten‑Diagramm in Java erstellen | Schritte: PowerPoint‑Karten‑Diagramm in Java erstellen | Schritte: PowerPoint‑Präsentations‑Karten‑Diagramm in Java erstellen

Dieser Java‑Code zeigt, wie ein Karten‑Diagramm erstellt wird:

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Map, 50, 50, 500, 400);
    pres.save("mapChart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Kombinations‑Diagramme erstellen

Ein Kombinations‑Diagramm (oder Combo‑Diagramm) kombiniert zwei oder mehr Diagrammtypen in einer einzigen Grafik. Dieses Diagramm ermöglicht es, Unterschiede zwischen zwei oder mehr Datensätzen hervorzuheben, zu vergleichen oder zu untersuchen und so Beziehungen zwischen ihnen zu erkennen.

Das Kombinations‑Diagramm

Der folgende Java‑Code zeigt, wie das oben dargestellte Kombinations‑Diagramm in einer PowerPoint‑Präsentation erstellt wird:

static void createComboChart() {
    Presentation presentation = new Presentation();
    ISlide slide = presentation.getSlides().get_Item(0);
    try {
        IChart chart = createChartWithFirstSeries(slide);

        addSecondSeriesToChart(chart);
        addThirdSeriesToChart(chart);

        setPrimaryAxesFormat(chart);
        setSecondaryAxesFormat(chart);

        presentation.save("combo-chart.pptx", SaveFormat.Pptx);
    } finally {
        presentation.dispose();
    }
}

static IChart createChartWithFirstSeries(ISlide slide) {
    IChart chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400);

    // Setzen Sie den Diagrammtitel.
    chart.setTitle(true);
    chart.getChartTitle().addTextFrameForOverriding("Chart Title");
    chart.getChartTitle().setOverlay(false);
    IParagraph titleParagraph = chart.getChartTitle().getTextFrameForOverriding().getParagraphs().get_Item(0);
    IPortionFormat titleFormat = titleParagraph.getParagraphFormat().getDefaultPortionFormat();
    titleFormat.setFontBold(NullableBool.False);
    titleFormat.setFontHeight(18f);

    // Setzen Sie die Diagrammlegende.
    chart.getLegend().setPosition(LegendPositionType.Bottom);
    chart.getLegend().getTextFormat().getPortionFormat().setFontHeight(12f);

    // Löschen Sie die standardmäßig erzeugten Serien und Kategorien.
    chart.getChartData().getSeries().clear();
    chart.getChartData().getCategories().clear();

    int worksheetIndex = 0;
    IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook();

    // Neue Kategorien hinzufügen.
    chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "Category 1"));
    chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Category 2"));
    chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Category 3"));
    chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Category 4"));

    // Die erste Serie hinzufügen.
    IChartDataCell seriesNameCell = workbook.getCell(worksheetIndex, 0, 1, "Series 1");
    IChartSeries series = chart.getChartData().getSeries().add(seriesNameCell, chart.getType());

    series.getParentSeriesGroup().setOverlap((byte)-25);
    series.getParentSeriesGroup().setGapWidth(220);

    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 4.3));
    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 2.5));
    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 3.5));
    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 4.5));

    return chart;
}

static void addSecondSeriesToChart(IChart chart) {
    IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook();
    final int worksheetIndex = 0;

    IChartDataCell seriesNameCell = workbook.getCell(worksheetIndex, 0, 2, "Series 2");
    IChartSeries series = chart.getChartData().getSeries().add(seriesNameCell, ChartType.ClusteredColumn);

    series.getParentSeriesGroup().setOverlap((byte)-25);
    series.getParentSeriesGroup().setGapWidth(220);

    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 2, 2.4));
    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 2, 4.4));
    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 2, 1.8));
    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 2, 2.8));
}

static void addThirdSeriesToChart(IChart chart) {
    IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook();
    final int worksheetIndex = 0;

    IChartDataCell seriesNameCell = workbook.getCell(worksheetIndex, 0, 3, "Series 3");
    IChartSeries series = chart.getChartData().getSeries().add(seriesNameCell, ChartType.Line);

    series.getDataPoints().addDataPointForLineSeries(workbook.getCell(worksheetIndex, 1, 3, 2.0));
    series.getDataPoints().addDataPointForLineSeries(workbook.getCell(worksheetIndex, 2, 3, 2.0));
    series.getDataPoints().addDataPointForLineSeries(workbook.getCell(worksheetIndex, 3, 3, 3.0));
    series.getDataPoints().addDataPointForLineSeries(workbook.getCell(worksheetIndex, 4, 3, 5.0));

    series.setPlotOnSecondAxis(true);
}

static void setPrimaryAxesFormat(IChart chart) {
    // Setzen Sie die horizontale Achse.
    IAxis horizontalAxis = chart.getAxes().getHorizontalAxis();
    horizontalAxis.getTextFormat().getPortionFormat().setFontHeight(12f);
    horizontalAxis.getFormat().getLine().getFillFormat().setFillType(FillType.NoFill);

    setAxisTitle(horizontalAxis, "X Axis");

    // Setzen Sie die vertikale Achse.
    IAxis verticalAxis = chart.getAxes().getVerticalAxis();
    verticalAxis.getTextFormat().getPortionFormat().setFontHeight(12f);
    verticalAxis.getFormat().getLine().getFillFormat().setFillType(FillType.NoFill);

    setAxisTitle(verticalAxis, "Y Axis 1");

    // Setzen Sie die Farbe der vertikalen Hauptgitterlinien.
    ILineFillFormat majorGridLinesFormat = verticalAxis.getMajorGridLinesFormat().getLine().getFillFormat();
    majorGridLinesFormat.setFillType(FillType.Solid);
    majorGridLinesFormat.getSolidFillColor().setColor(new Color(217, 217, 217));
}

static void setSecondaryAxesFormat(IChart chart) {
    // Setzen Sie die sekundäre horizontale Achse.
    IAxis secondaryHorizontalAxis = chart.getAxes().getSecondaryHorizontalAxis();
    secondaryHorizontalAxis.setPosition(AxisPositionType.Bottom);
    secondaryHorizontalAxis.setCrossType(CrossesType.Maximum);
    secondaryHorizontalAxis.setVisible(false);
    secondaryHorizontalAxis.getMajorGridLinesFormat().getLine().getFillFormat().setFillType(FillType.NoFill);
    secondaryHorizontalAxis.getMinorGridLinesFormat().getLine().getFillFormat().setFillType(FillType.NoFill);

    // Setzen Sie die sekundäre vertikale Achse.
    IAxis secondaryVerticalAxis = chart.getAxes().getSecondaryVerticalAxis();
    secondaryVerticalAxis.setPosition(AxisPositionType.Right);
    secondaryVerticalAxis.getTextFormat().getPortionFormat().setFontHeight(12f);
    secondaryVerticalAxis.getFormat().getLine().getFillFormat().setFillType(FillType.NoFill);
    secondaryVerticalAxis.getMajorGridLinesFormat().getLine().getFillFormat().setFillType(FillType.NoFill);
    secondaryVerticalAxis.getMinorGridLinesFormat().getLine().getFillFormat().setFillType(FillType.NoFill);

    setAxisTitle(secondaryVerticalAxis, "Y Axis 2");
}

static void setAxisTitle(IAxis axis, String axisTitle) {
    axis.setTitle(true);
    axis.getTitle().setOverlay(false);
    IParagraph titleParagraph = axis.getTitle().addTextFrameForOverriding(axisTitle).getParagraphs().get_Item(0);
    IPortionFormat titleFormat = titleParagraph.getParagraphFormat().getDefaultPortionFormat();
    titleFormat.setFontBold(NullableBool.False);
    titleFormat.setFontHeight(12f);
}

Diagramme aktualisieren

Schritte: PowerPoint‑Diagramm in Java aktualisieren | Schritte: Präsentations‑Diagramm in Java aktualisieren | Schritte: PowerPoint‑Präsentations‑Diagramm in Java aktualisieren

  1. Instanziieren Sie eine Presentation‑Klasse, die die Präsentation mit dem zu aktualisierenden Diagramm darstellt.
  2. Holen Sie die Referenz einer Folie über ihren Index.
  3. Durchsuchen Sie alle Formen, um das gewünschte Diagramm zu finden.
  4. Greifen Sie auf das Daten‑Worksheet des Diagramms zu.
  5. Ändern Sie die Daten der Diagramm‑Serie, indem Sie die Serienwerte anpassen.
  6. Fügen Sie eine neue Serie hinzu und befüllen Sie die Daten.
  7. Schreiben Sie die modifizierte Präsentation als PPTX‑Datei.

Dieser Java‑Code zeigt, wie ein Diagramm aktualisiert wird:

    // Zugriff auf die erste Folie
    ISlide sld = pres.getSlides().get_Item(0);

    // Diagramm mit Standarddaten abrufen
    IChart chart = (IChart)sld.getShapes().get_Item(0);

    // Festlegen des Index des Diagrammdatenblatts
    int defaultWorksheetIndex = 0;

    // Abrufen des Diagrammdaten-Arbeitsblatts
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();

    // Diagrammkategorie‑Name ändern
    fact.getCell(defaultWorksheetIndex, 1, 0, "Modified Category 1");
    fact.getCell(defaultWorksheetIndex, 2, 0, "Modified Category 2");

    // Erste Diagrammserie auswählen
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);

    // Jetzt werden die Seriendaten aktualisiert
    fact.getCell(defaultWorksheetIndex, 0, 1, "New_Series1");// Seriennamen ändern
    series.getDataPoints().get_Item(0).getValue().setData(90);
    series.getDataPoints().get_Item(1).getValue().setData(123);
    series.getDataPoints().get_Item(2).getValue().setData(44);

    // Zweite Diagrammserie auswählen
    series = chart.getChartData().getSeries().get_Item(1);

    // Jetzt werden die Seriendaten aktualisiert
    fact.getCell(defaultWorksheetIndex, 0, 2, "New_Series2");// Seriennamen ändern
    series.getDataPoints().get_Item(0).getValue().setData(23);
    series.getDataPoints().get_Item(1).getValue().setData(67);
    series.getDataPoints().get_Item(2).getValue().setData(99);

    // Jetzt eine neue Serie hinzufügen
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 3, "Series 3"), chart.getType());

    // Dritte Diagrammserie auswählen
    series = chart.getChartData().getSeries().get_Item(2);

    // Jetzt werden die Seriendaten befüllt
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 1, 3, 20));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 2, 3, 50));
    series.getDataPoints().addDataPointForBarSeries(fact.getCell(defaultWorksheetIndex, 3, 3, 30));

    chart.setType(ChartType.ClusteredCylinder);

    // Präsentation mit Diagramm speichern
    pres.save("AsposeChartModified_out.pptx", SaveFormat.Pptx);

Datenbereich für ein Diagramm festlegen

So legen Sie den Datenbereich für ein Diagramm fest:

  1. Instanziieren Sie eine Presentation‑Klasse, die die Präsentation mit dem Diagramm darstellt.
  2. Holen Sie die Referenz einer Folie über ihren Index.
  3. Durchsuchen Sie alle Formen, um das gewünschte Diagramm zu finden.
  4. Greifen Sie auf die Diagrammdaten zu und setzen Sie den Bereich.
  5. Speichern Sie die modifizierte Präsentation als PPTX‑Datei.

Dieser Java‑Code zeigt, wie der Datenbereich für ein Diagramm festgelegt wird:

Presentation pres = new Presentation();
try {
    ISlide slide = pres.getSlides().get_Item(0);
    IChart chart = (IChart)slide.getShapes().get_Item(0);
    
    chart.getChartData().setRange("Sheet1!A1:B4");
    
    pres.save("SetDataRange_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Standard‑Marker in Diagrammen verwenden

Wenn Sie einen Standard‑Marker in Diagrammen verwenden, erhält jede Diagramm‑Serie automatisch ein unterschiedliches Standard‑Markiersymbol.

Dieser Java‑Code zeigt, wie ein Diagramm‑Serien‑Marker automatisch gesetzt wird:

Presentation pres = new Presentation();
try {
    ISlide slide = pres.getSlides().get_Item(0);
    IChart chart = slide.getShapes().addChart(ChartType.LineWithMarkers, 10, 10, 400, 400);

    chart.getChartData().getSeries().clear();
    chart.getChartData().getCategories().clear();

    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    chart.getChartData().getSeries().add(fact.getCell(0, 0, 1, "Series 1"), chart.getType());
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);

    chart.getChartData().getCategories().add(fact.getCell(0, 1, 0, "C1"));
    series.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 1, 1, 24));
    chart.getChartData().getCategories().add(fact.getCell(0, 2, 0, "C2"));
    series.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 2, 1, 23));
    chart.getChartData().getCategories().add(fact.getCell(0, 3, 0, "C3"));
    series.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 3, 1, -10));
    chart.getChartData().getCategories().add(fact.getCell(0, 4, 0, "C4"));
    series.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 4, 1, null));

    chart.getChartData().getSeries().add(fact.getCell(0, 0, 2, "Series 2"), chart.getType());
    // Zweite Diagrammserie nehmen
    IChartSeries series2 = chart.getChartData().getSeries().get_Item(1);

    // Jetzt werden die Seriendaten befüllt
    series2.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 1, 2, 30));
    series2.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 2, 2, 10));
    series2.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 3, 2, 60));
    series2.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 4, 2, 40));

    chart.setLegend(true);
    chart.getLegend().setOverlay(false);

    pres.save("DefaultMarkersInChart.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

FAQ

Welche Diagrammtypen werden von Aspose.Slides unterstützt?

Aspose.Slides unterstützt eine breite Palette von Diagrammtypen, darunter Balken, Linien, Torten, Flächen, Scatter, Histogramm, Radar und viele weitere. Diese Flexibilität ermöglicht die Auswahl des am besten geeigneten Diagrammtyps für Ihre Datenvisualisierung.

Wie füge ich ein neues Diagramm zu einer Folie hinzu?

Um ein Diagramm hinzuzufügen, erstellen Sie zunächst eine Instanz der Klasse Presentation , holen die gewünschte Folie über ihren Index und rufen dann die Methode zum Hinzufügen eines Diagramms auf, wobei Sie den Diagrammtyp und die Anfangsdaten angeben. Dieser Vorgang integriert das Diagramm direkt in Ihre Präsentation.

Wie kann ich die in einem Diagramm angezeigten Daten aktualisieren?

Sie können die Diagrammdaten aktualisieren, indem Sie das Daten‑Workbook (IChartDataWorkbook) des Diagramms öffnen, alle Standard‑Serien und -Kategorien entfernen und anschließend Ihre eigenen Daten hinzufügen. So können Sie das Diagramm auf die neuesten Daten aktualisieren.

Ist es möglich, das Erscheinungsbild des Diagramms anzupassen?

Ja, Aspose.Slides bietet umfangreiche Anpassungsoptionen. Sie können Farben, Schriften, Beschriftungen, Legenden und andere Formatierungselemente ändern, um das Aussehen des Diagramms an Ihre spezifischen Designanforderungen anzupassen.