PowerPoint-Präsentationsdiagramme in PHP erstellen oder aktualisieren
Übersicht
Dieser Artikel beschreibt, wie man PowerPoint-Präsentationsdiagramme in Java erstellt. Sie können die Diagramme auch aktualisieren. Er behandelt die folgenden Themen.
Chart: Normal
- Java PowerPoint‑Diagramm erstellen
- Java Präsentations‑Diagramm erstellen
- Java PowerPoint‑Präsentations‑Diagramm erstellen
Chart: Scattered
- Java Scatter‑Diagramm erstellen
- Java PowerPoint‑Scatter‑Diagramm erstellen
- Java PowerPoint‑Präsentations‑Scatter‑Diagramm erstellen
Chart: Pie
- Java Kreis‑Diagramm erstellen
- Java PowerPoint‑Kreis‑Diagramm erstellen
- Java PowerPoint‑Präsentations‑Kreis‑Diagramm erstellen
Chart: Tree Map
- Java Baum‑Karten‑Diagramm erstellen
- Java PowerPoint‑Baum‑Karten‑Diagramm erstellen
- Java PowerPoint‑Präsentations‑Baum‑Karten‑Diagramm erstellen
Chart: Stock
- Java Aktien‑Diagramm erstellen
- Java PowerPoint‑Aktien‑Diagramm erstellen
- Java PowerPoint‑Präsentations‑Aktien‑Diagramm erstellen
Chart: Box and Whisker
- Java Box‑und‑Whisker‑Diagramm erstellen
- Java PowerPoint‑Box‑und‑Whisker‑Diagramm erstellen
- Java PowerPoint‑Präsentations‑Box‑und‑Whisker‑Diagramm erstellen
Chart: Funnel
- Java Trichter‑Diagramm erstellen
- Java PowerPoint‑Trichter‑Diagramm erstellen
- Java PowerPoint‑Präsentations‑Trichter‑Diagramm erstellen
Chart: Sunburst
- Java Sunburst‑Diagramm erstellen
- Java PowerPoint‑Sunburst‑Diagramm erstellen
- Java PowerPoint‑Präsentations‑Sunburst‑Diagramm erstellen
Chart: Histogram
- Java Histogramm‑Diagramm erstellen
- Java PowerPoint‑Histogramm‑Diagramm erstellen
- Java PowerPoint‑Präsentations‑Histogramm‑Diagramm erstellen
Chart: Radar
- Java Radar‑Diagramm erstellen
- Java PowerPoint‑Radar‑Diagramm erstellen
- Java PowerPoint‑Präsentations‑Radar‑Diagramm erstellen
Chart: Multi Category
- Java Mehrkategorie‑Diagramm erstellen
- Java PowerPoint‑Mehrkategorie‑Diagramm erstellen
- Java PowerPoint‑Präsentations‑Mehrkategorie‑Diagramm erstellen
Chart: Map
- Java Karten‑Diagramm erstellen
- Java PowerPoint‑Karten‑Diagramm erstellen
- Java PowerPoint‑Präsentations‑Karten‑Diagramm erstellen
Action: Update Chart
- Java PowerPoint‑Diagramm aktualisieren
- Java Präsentations‑Diagramm aktualisieren
- Java PowerPoint‑Präsentations‑Diagramm aktualisieren
Diagramm erstellen
Diagramme helfen, Daten schnell zu visualisieren und Einsichten zu gewinnen, die aus einer Tabelle oder einem Spreadsheet nicht sofort ersichtlich sind.
Warum Diagramme erstellen?
Mit Diagrammen können Sie
- große Datenmengen auf einer einzelnen Folie zusammenfassen, kondensieren oder aggregieren
- Muster und Trends in Daten aufzeigen
- die Richtung und das Momentum von Daten über die Zeit oder bezogen auf eine bestimmte Maßeinheit ableiten
- Ausreißer, Anomalien, 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 für viele Diagrammtypen bereitstellt. Mit Aspose.Slides können Sie reguläre Diagramme (basierend auf gängigen Diagrammtypen) und benutzerdefinierte Diagramme erstellen.
Normale Diagramme erstellen
Schritte: Diagramm erstellen
- Schritte: PowerPoint‑Diagramm erstellen
- Schritte: Präsentations‑Diagramm erstellen
- Schritte: PowerPoint‑Präsentations‑Diagramm erstellen
Code‑Schritte:
- Erstellen Sie eine Instanz der Klasse Presentation.
- Holen Sie sich die Referenz einer Folie über deren Index.
- Fügen Sie ein Diagramm mit einigen Daten hinzu und geben Sie Ihren bevorzugten Diagrammtyp an.
- Fügen Sie dem Diagramm einen Titel hinzu.
- Greifen Sie auf das Arbeitsblatt der Diagrammdaten zu.
- Entfernen Sie alle Standardserien und -kategorien.
- Fügen Sie neue Serien und Kategorien hinzu.
- Fügen Sie neue Diagrammdaten für die Diagrammserien hinzu.
- Legen Sie eine Füllfarbe für die Diagrammserien fest.
- Fügen Sie Beschriftungen für die Diagrammserien hinzu.
- Schreiben Sie die geänderte Präsentation als PPTX‑Datei.
Dieser PHP‑Code zeigt, wie ein normales Diagramm erstellt wird:
# Instanziert eine Präsentationsklasse, die eine PPTX-Datei darstellt
$pres = new Presentation();
try {
# Greift auf die erste Folie zu
$sld = $pres->getSlides()->get_Item(0);
# Fügt ein Diagramm mit den Standarddaten hinzu
$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 so, dass Werte angezeigt werden
$chart->getChartData()->getSeries()->get_Item(0)->getLabels()->getDefaultDataLabelFormat()->setShowValue(true);
# Setzt den Index für das Diagrammdatenblatt
$defaultWorksheetIndex = 0;
# Holt das Arbeitsblatt der Diagrammdaten
$fact = $chart->getChartData()->getChartDataWorkbook();
# Löscht die standardmäßig erzeugten Serien und Kategorien
$chart->getChartData()->getSeries()->clear();
$chart->getChartData()->getCategories()->clear();
$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
$series = $chart->getChartData()->getSeries()->get_Item(0);
# Fü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(java("java.awt.Color")->RED);
# Nimmt die zweite Diagrammserie
$series = $chart->getChartData()->getSeries()->get_Item(1);
# Fü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(java("java.awt.Color")->GREEN);
# Erstellt benutzerdefinierte Beschriftungen für jede Kategorie der neuen Serie
# Setzt die erste Beschriftung so, dass der Kategoriename angezeigt wird
$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 dem Diagramm
$pres->save("output.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Scatter‑Diagramme erstellen
Scatter‑Diagramme (auch Streudiagramme oder XY‑Diagramme genannt) werden häufig verwendet, um Muster zu prüfen oder Korrelationen zwischen zwei Variablen zu demonstrieren.
Sie können ein Scatter‑Diagramm verwenden, wenn
- Sie gepaarte numerische Daten haben
- Sie 2 Variablen haben, die gut zusammenpassen
- Sie feststellen möchten, ob 2 Variablen zusammenhängen
- Sie eine unabhängige Variable haben, die mehrere Werte für eine abhängige Variable besitzt
Schritte: Scatter‑Diagramm erstellen | Schritte: PowerPoint‑Scatter‑Diagramm erstellen | Schritte: PowerPoint‑Präsentations‑Scatter‑Diagramm erstellen
- Bitte folgen Sie den oben genannten Schritten unter Normale Diagramme erstellen
- Für den dritten Schritt fügen Sie ein Diagramm mit Daten hinzu und wählen als Diagrammtyp eine der folgenden Optionen
- ChartType::ScatterWithMarkers - Stellt ein Scatter‑Diagramm dar.
- ChartType::ScatterWithSmoothLinesAndMarkers - Stellt ein Scatter‑Diagramm dar, das durch Kurven verbunden ist und Datenmarker enthält.
- ChartType::ScatterWithSmoothLines - Stellt ein Scatter‑Diagramm dar, das durch Kurven verbunden ist, jedoch ohne Datenmarker.
- ChartType::ScatterWithStraightLinesAndMarkers - Stellt ein Scatter‑Diagramm dar, das durch gerade Linien verbunden ist und Datenmarker enthält.
- ChartType::ScatterWithStraightLines - Stellt ein Scatter‑Diagramm dar, das durch gerade Linien verbunden ist, jedoch ohne Datenmarker.
Dieser PHP‑Code zeigt, wie Scatter‑Diagramme mit unterschiedlichen Marker‑Serien erstellt werden:
# Instanziert eine Präsentationsklasse, die eine PPTX-Datei darstellt
$pres = new Presentation();
try {
# Greift auf die erste Folie zu
$slide = $pres->getSlides()->get_Item(0);
# Erstellt das Standarddiagramm
$chart = $slide->getShapes()->addChart(ChartType::ScatterWithSmoothLines, 0, 0, 400, 400);
# Holt den Index des Standard‑Diagrammdaten‑Arbeitsblatts
$defaultWorksheetIndex = 0;
# Holt das Diagrammdaten‑Arbeitsblatt
$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
$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 den Markierungsstil 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 den Markierungsstil der Diagrammserie
$series->getMarker()->setSize(10);
$series->getMarker()->setSymbol(MarkerStyleType::Circle);
$pres->save("AsposeChart_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Kreis‑Diagramme erstellen
Kreis‑Diagramme eignen sich am besten, um das Verhältnis von Teil zu Ganzem darzustellen, insbesondere wenn die Daten kategoriale Beschriftungen mit numerischen Werten enthalten. Enthält Ihre Daten jedoch viele Teile oder Beschriftungen, sollten Sie stattdessen ein Balkendiagramm in Betracht ziehen.
Schritte: Kreis‑Diagramm erstellen | Schritte: PowerPoint‑Kreis‑Diagramm erstellen | Schritte: PowerPoint‑Präsentations‑Kreis‑Diagramm erstellen
- Erstellen Sie eine Instanz der Klasse Presentation.
- Holen Sie sich die Referenz einer Folie über deren Index.
- Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ hinzu (hier: ChartType.Pie).
- Greifen Sie auf die Diagrammdaten‑IChartDataWorkbook zu.
- Entfernen Sie die Standardserien und -kategorien.
- Fügen Sie neue Serien und Kategorien hinzu.
- Fügen Sie neue Diagrammdaten für die Diagrammserien hinzu.
- Fügen Sie neue Punkte hinzu und setzen Sie benutzerdefinierte Farben für die Sektoren des Kreis‑Diagramms.
- Legen Sie Beschriftungen für die Serien fest.
- Setzen Sie Führungslinien für Serienbeschriftungen.
- Bestimmen Sie den Rotationswinkel für das Kreis‑Diagramm.
- Schreiben Sie die geänderte Präsentation in eine PPTX‑Datei.
Dieser PHP‑Code zeigt, wie ein Kreis‑Diagramm erstellt wird:
# Instanziert eine Präsentationsklasse, die eine PPTX-Datei darstellt
$pres = new Presentation();
try {
# Greift auf die erste Folie zu
$slides = $pres->getSlides()->get_Item(0);
# Fügt ein Diagramm mit Standarddaten hinzu
$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, sodass Werte angezeigt werden
$chart->getChartData()->getSeries()->get_Item(0)->getLabels()->getDefaultDataLabelFormat()->setShowValue(true);
# Setzt den Index für das Diagrammdatenblatt
$defaultWorksheetIndex = 0;
# Holt das Diagrammdaten-Arbeitsblatt
$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
$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 in neuer Version nicht
# Hinzufügen neuer Punkte und Festlegen der Sektorfarbe
# series.IsColorVaried = true;
$chart->getChartData()->getSeriesGroups()->get_Item(0)->setColorVaried(true);
$point = $series->getDataPoints()->get_Item(0);
$point->getFormat()->getFill()->setFillType(FillType::Solid);
$point->getFormat()->getFill()->getSolidFillColor()->setColor(java("java.awt.Color")->CYAN);
# Setzt den Sektorrand
$point->getFormat()->getLine()->getFillFormat()->setFillType(FillType::Solid);
$point->getFormat()->getLine()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->GRAY);
$point->getFormat()->getLine()->setWidth(3.0);
$point->getFormat()->getLine()->setStyle(LineStyle->ThinThick);
$point->getFormat()->getLine()->setDashStyle(LineDashStyle->DashDot);
$point1 = $series->getDataPoints()->get_Item(1);
$point1->getFormat()->getFill()->setFillType(FillType::Solid);
$point1->getFormat()->getFill()->getSolidFillColor()->setColor(java("java.awt.Color")->ORANGE);
# Setzt den Sektorrand
$point1->getFormat()->getLine()->getFillFormat()->setFillType(FillType::Solid);
$point1->getFormat()->getLine()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
$point1->getFormat()->getLine()->setWidth(3.0);
$point1->getFormat()->getLine()->setStyle(LineStyle->Single);
$point1->getFormat()->getLine()->setDashStyle(LineDashStyle->LargeDashDot);
$point2 = $series->getDataPoints()->get_Item(2);
$point2->getFormat()->getFill()->setFillType(FillType::Solid);
$point2->getFormat()->getFill()->getSolidFillColor()->setColor(java("java.awt.Color")->YELLOW);
# Setzt den Sektorrand
$point2->getFormat()->getLine()->getFillFormat()->setFillType(FillType::Solid);
$point2->getFormat()->getLine()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.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
$lbl1 = $series->getDataPoints()->get_Item(0)->getLabel();
# lbl.ShowCategoryName = true;
$lbl1->getDataLabelFormat()->setShowValue(true);
$lbl2 = $series->getDataPoints()->get_Item(1)->getLabel();
$lbl2->getDataLabelFormat()->setShowValue(true);
$lbl2->getDataLabelFormat()->setShowLegendKey(true);
$lbl2->getDataLabelFormat()->setShowPercentage(true);
$lbl3 = $series->getDataPoints()->get_Item(2)->getLabel();
$lbl3->getDataLabelFormat()->setShowSeriesName(true);
$lbl3->getDataLabelFormat()->setShowPercentage(true);
# Zeigt Leitlinien für das Diagramm an
$series->getLabels()->getDefaultDataLabelFormat()->setShowLeaderLines(true);
# Setzt den Rotationswinkel für die Sektoren des Kreisdiagramms
$chart->getChartData()->getSeriesGroups()->get_Item(0)->setFirstSliceAngle(180);
# Speichert die Präsentation mit einem Diagramm
$pres->save("PieChart_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Liniendiagramme erstellen
Liniendiagramme (auch Liniendiagramme genannt) eignen sich besonders, wenn Sie Änderungen von Werten über die Zeit demonstrieren möchten. Mit einem Liniendiagramm können Sie viele Daten gleichzeitig vergleichen, Änderungen und Trends über die Zeit verfolgen, Anomalien in Datenreihen hervorheben usw.
- Erstellen Sie eine Instanz der Klasse Presentation.
- Holen Sie sich die Referenz einer Folie über deren Index.
- Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ hinzu (hier:
ChartType::Line). - Greifen Sie auf das Diagrammdaten‑IChartDataWorkbook zu.
- Entfernen Sie die Standardserien und -kategorien.
- Fügen Sie neue Serien und Kategorien hinzu.
- Fügen Sie neue Diagrammdaten für die Diagrammserien hinzu.
- Schreiben Sie die geänderte Präsentation in eine PPTX‑Datei.
Dieser PHP‑Code zeigt, wie ein Liniendiagramm erstellt wird:
$pres = new Presentation();
try {
$lineChart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Line, 10, 50, 600, 350);
$pres->save("lineChart.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Standardmäßig werden Punkte in einem Liniendiagramm durch gerade durchgehende Linien verbunden. Wenn Sie die Punkte stattdessen durch Striche verbinden möchten, können Sie den gewünschten Strichtyp folgendermaßen angeben:
$lineChart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Line, 10, 50, 600, 350);
foreach($lineChart->getChartData()->getSeries() as $series) {
$series->getFormat()->getLine()->setDashStyle(LineDashStyle->Dash);
}
Baum‑Karten‑Diagramme erstellen
Baum‑Karten‑Diagramme eignen sich am besten für Verkaufsdaten, wenn Sie die relative Größe von Datenkategorien zeigen und gleichzeitig die großen Beiträge zu jeder Kategorie schnell hervorheben möchten.
Schritte: Baum‑Karten‑Diagramm erstellen | Schritte: PowerPoint‑Baum‑Karten‑Diagramm erstellen | Schritte: PowerPoint‑Präsentations‑Baum‑Karten‑Diagramm erstellen
- Erstellen Sie eine Instanz der Klasse Presentation .
- Holen Sie sich die Referenz einer Folie über deren Index.
- Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ hinzu (hier: ChartType.TreeMap).
- Greifen Sie auf die Diagrammdaten‑IChartDataWorkbook zu.
- Entfernen Sie die Standardserien und -kategorien.
- Fügen Sie neue Serien und Kategorien hinzu.
- Fügen Sie neue Diagrammdaten für die Diagrammserien hinzu.
- Schreiben Sie die geänderte Präsentation in eine PPTX‑Datei.
Dieser PHP‑Code zeigt, wie ein Baum‑Karten‑Diagramm erstellt wird:
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Treemap, 50, 50, 500, 400);
$chart->getChartData()->getCategories()->clear();
$chart->getChartData()->getSeries()->clear();
$wb = $chart->getChartData()->getChartDataWorkbook();
$wb->clear(0);
# Zweig 1
$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"));
$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 (!java_is_null($pres)) {
$pres->dispose();
}
}
Aktien‑Diagramme erstellen
Schritte: Aktien‑Diagramm erstellen | Schritte: PowerPoint‑Aktien‑Diagramm erstellen | Schritte: PowerPoint‑Präsentations‑Aktien‑Diagramm erstellen
- Erstellen Sie eine Instanz der Presentation Klasse.
- Holen Sie sich die Referenz einer Folie über deren Index.
- Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ hinzu (ChartType.OpenHighLowClose).
- Greifen Sie auf die Diagrammdaten‑IChartDataWorkbook zu.
- Entfernen Sie die Standardserien und -kategorien.
- Fügen Sie neue Serien und Kategorien hinzu.
- Fügen Sie neue Diagrammdaten für die Diagrammserien hinzu.
- Legen Sie das Format für HiLowLines fest.
- Schreiben Sie die geänderte Präsentation in eine PPTX‑Datei.
Beispiel‑PHP‑Code zum Erstellen eines Aktien‑Diagramms:
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::OpenHighLowClose, 50, 50, 600, 400, false);
$chart->getChartData()->getSeries()->clear();
$chart->getChartData()->getCategories()->clear();
$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());
$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);
foreach($chart->getChartData()->getSeries() as $ser) {
$ser->getFormat()->getLine()->getFillFormat()->setFillType(FillType::NoFill);
}
$pres->save("output.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Box‑ und‑Whisker‑Diagramme erstellen
Schritte: Box‑und‑Whisker‑Diagramm erstellen | Schritte: PowerPoint‑Box‑und‑Whisker‑Diagramm erstellen | Schritte: PowerPoint‑Präsentations‑Box‑und‑Whisker‑Diagramm erstellen
- Erstellen Sie eine Instanz der Presentation Klasse.
- Holen Sie sich die Referenz einer Folie über deren Index.
- Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ hinzu (ChartType.BoxAndWhisker).
- Greifen Sie auf die Diagrammdaten‑IChartDataWorkbook zu.
- Entfernen Sie die Standardserien und -kategorien.
- Fügen Sie neue Serien und Kategorien hinzu.
- Fügen Sie neue Diagrammdaten für die Diagrammserien hinzu.
- Schreiben Sie die geänderte Präsentation in eine PPTX‑Datei.
Dieser PHP‑Code zeigt, wie ein Box‑und‑Whisker‑Diagramm erstellt wird:
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::BoxAndWhisker, 50, 50, 500, 400);
$chart->getChartData()->getCategories()->clear();
$chart->getChartData()->getSeries()->clear();
$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"));
$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 (!java_is_null($pres)) {
$pres->dispose();
}
}
Trichter‑Diagramme erstellen
Schritte: Trichter‑Diagramm erstellen | Schritte: PowerPoint‑Trichter‑Diagramm erstellen | Schritte: PowerPoint‑Präsentations‑Trichter‑Diagramm erstellen
- Erstellen Sie eine Instanz der Presentation Klasse.
- Holen Sie sich die Referenz einer Folie über deren Index.
- Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ hinzu (ChartType.Funnel).
- Schreiben Sie die geänderte Präsentation in eine PPTX‑Datei.
Der PHP‑Code zeigt, wie ein Trichter‑Diagramm erstellt wird:
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Funnel, 50, 50, 500, 400);
$chart->getChartData()->getCategories()->clear();
$chart->getChartData()->getSeries()->clear();
$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"));
$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 (!java_is_null($pres)) {
$pres->dispose();
}
}
Sunburst‑Diagramme erstellen
Schritte: Sunburst‑Diagramm erstellen | Schritte: PowerPoint‑Sunburst‑Diagramm erstellen | Schritte: PowerPoint‑Präsentations‑Sunburst‑Diagramm erstellen
- Erstellen Sie eine Instanz der Presentation Klasse.
- Holen Sie sich die Referenz einer Folie über deren Index.
- Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ hinzu (hier: ChartType.sunburst).
- Schreiben Sie die geänderte Präsentation in eine PPTX‑Datei.
Dieser PHP‑Code zeigt, wie ein Sunburst‑Diagramm erstellt wird:
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Sunburst, 50, 50, 500, 400);
$chart->getChartData()->getCategories()->clear();
$chart->getChartData()->getSeries()->clear();
$wb = $chart->getChartData()->getChartDataWorkbook();
$wb->clear(0);
# Zweig 1
$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"));
$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 (!java_is_null($pres)) {
$pres->dispose();
}
}
Histogramm‑Diagramme erstellen
Schritte: Histogramm‑Diagramm erstellen | Schritte: PowerPoint‑Histogramm‑Diagramm erstellen | Schritte: PowerPoint‑Präsentations‑Histogramm‑Diagramm erstellen
- Erstellen Sie eine Instanz der Presentation Klasse.
- Holen Sie sich die Referenz einer Folie über deren Index.
- Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ hinzu (ChartType.Histogram).
- Greifen Sie auf die Diagrammdaten‑IChartDataWorkbook zu.
- Entfernen Sie die Standardserien und -kategorien.
- Fügen Sie neue Serien und Kategorien hinzu.
- Schreiben Sie die geänderte Präsentation in eine PPTX‑Datei.
Dieser PHP‑Code zeigt, wie ein Histogramm‑Diagramm erstellt wird:
$pres = new Presentation();
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Histogram, 50, 50, 500, 400);
$chart->getChartData()->getCategories()->clear();
$chart->getChartData()->getSeries()->clear();
$wb = $chart->getChartData()->getChartDataWorkbook();
$wb->clear(0);
$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);
Radar‑Diagramme erstellen
Schritte: Radar‑Diagramm erstellen | Schritte: PowerPoint‑Radar‑Diagramm erstellen | Schritte: PowerPoint‑Präsentations‑Radar‑Diagramm erstellen
- Erstellen Sie eine Instanz der Presentation Klasse.
- Holen Sie sich die Referenz einer Folie über deren Index.
- Fügen Sie ein Diagramm mit einigen Daten hinzu und geben Sie Ihren bevorzugten Diagrammtyp an (
ChartType::Radarin diesem Fall). - Schreiben Sie die geänderte Präsentation in eine PPTX‑Datei.
Dieser PHP‑Code zeigt, wie ein Radar‑Diagramm erstellt wird:
$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 (!java_is_null($pres)) {
$pres->dispose();
}
}
Mehrkategorie‑Diagramme erstellen
Schritte: Mehrkategorie‑Diagramm erstellen | Schritte: PowerPoint‑Mehrkategorie‑Diagramm erstellen | Schritte: PowerPoint‑Präsentations‑Mehrkategorie‑Diagramm erstellen
- Erstellen Sie eine Instanz der Presentation Klasse.
- Holen Sie sich die Referenz einer Folie über deren Index.
- Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ hinzu (ChartType.ClusteredColumn).
- Greifen Sie auf die Diagrammdaten‑IChartDataWorkbook zu.
- Entfernen Sie die Standardserien und -kategorien.
- Fügen Sie neue Serien und Kategorien hinzu.
- Fügen Sie neue Diagrammdaten für die Diagrammserien hinzu.
- Schreiben Sie die geänderte Präsentation in eine PPTX‑Datei.
Dieser PHP‑Code zeigt, wie ein Mehrkategorie‑Diagramm erstellt wird:
$pres = new Presentation();
try {
$ch = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::ClusteredColumn, 100, 100, 600, 450);
$ch->getChartData()->getSeries()->clear();
$ch->getChartData()->getCategories()->clear();
$fact = $ch->getChartData()->getChartDataWorkbook();
$fact->clear(0);
$defaultWorksheetIndex = 0;
$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
$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 (!java_is_null($pres)) {
$pres->dispose();
}
}
Karten‑Diagramme erstellen
Ein Karten‑Diagramm visualisiert ein Gebiet, das Daten enthält. Karten‑Diagramme eignen sich am besten, um Daten oder Werte über geografische Regionen hinweg zu vergleichen.
Schritte: Karten‑Diagramm erstellen | Schritte: PowerPoint‑Karten‑Diagramm erstellen | Schritte: PowerPoint‑Präsentations‑Karten‑Diagramm erstellen
Dieser PHP‑Code zeigt, wie ein Karten‑Diagramm erstellt wird:
$pres = new Presentation();
try {
$chart = $pres->getSlides()->get_Item(0)->getShapes()->addChart(ChartType::Map, 50, 50, 500, 400);
$pres->save("mapChart.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Kombinations‑Diagramme erstellen
Ein Kombinations‑Diagramm (oder Combo‑Diagramm) verbindet zwei oder mehr Diagrammtypen in einem einzigen Diagramm. Dieses Diagramm ermöglicht es Ihnen, Unterschiede zwischen zwei oder mehr Datensätzen hervorzuheben, zu vergleichen oder zu untersuchen und so Beziehungen zwischen ihnen zu erkennen.

Der folgende PHP‑Code zeigt, wie das oben abgebildete Kombinations‑Diagramm in einer PowerPoint‑Präsentation erstellt wird:
function createComboChart() {
$presentation = new Presentation();
$slide = $presentation->getSlides()->get_Item(0);
try {
$chart = createChartWithFirstSeries($slide);
addSecondSeriesToChart($chart);
addThirdSeriesToChart($chart);
setPrimaryAxesFormat($chart);
setSecondaryAxesFormat($chart);
$presentation->save("combo-chart.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
}
function createChartWithFirstSeries($slide) {
$chart = $slide->getShapes()->addChart(ChartType::ClusteredColumn, 50, 50, 600, 400);
// Setze den Diagrammtitel.
$chart->setTitle(true);
$chart->getChartTitle()->addTextFrameForOverriding("Chart Title");
$chart->getChartTitle()->setOverlay(false);
$titleParagraph = $chart->getChartTitle()->getTextFrameForOverriding()->getParagraphs()->get_Item(0);
$titleFormat = $titleParagraph->getParagraphFormat()->getDefaultPortionFormat();
$titleFormat->setFontBold(NullableBool::False);
$titleFormat->setFontHeight(18);
// Setze die Diagrammlegende.
$chart->getLegend()->setPosition(LegendPositionType::Bottom);
$chart->getLegend()->getTextFormat()->getPortionFormat()->setFontHeight(12);
// Lösche die standardmäßig erzeugten Serien und Kategorien.
$chart->getChartData()->getSeries()->clear();
$chart->getChartData()->getCategories()->clear();
$worksheetIndex = 0;
$workbook = $chart->getChartData()->getChartDataWorkbook();
// Füge neue Kategorien hinzu.
$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"));
// Füge die erste Serie hinzu.
$seriesNameCell = $workbook->getCell($worksheetIndex, 0, 1, "Series 1");
$series = $chart->getChartData()->getSeries()->add($seriesNameCell, $chart->getType());
$series->getParentSeriesGroup()->setOverlap(-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;
}
function addSecondSeriesToChart($chart) {
$workbook = $chart->getChartData()->getChartDataWorkbook();
$worksheetIndex = 0;
$seriesNameCell = $workbook->getCell($worksheetIndex, 0, 2, "Series 2");
$series = $chart->getChartData()->getSeries()->add($seriesNameCell, ChartType::ClusteredColumn);
$series->getParentSeriesGroup()->setOverlap(-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));
}
function addThirdSeriesToChart($chart) {
$workbook = $chart->getChartData()->getChartDataWorkbook();
$worksheetIndex = 0;
$seriesNameCell = $workbook->getCell($worksheetIndex, 0, 3, "Series 3");
$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);
}
function setPrimaryAxesFormat($chart) {
// Setze die horizontale Achse.
$horizontalAxis = $chart->getAxes()->getHorizontalAxis();
$horizontalAxis->getTextFormat()->getPortionFormat()->setFontHeight(12);
$horizontalAxis->getFormat()->getLine()->getFillFormat()->setFillType(FillType::NoFill);
setAxisTitle($horizontalAxis, "X Axis");
// Setze die vertikale Achse.
$verticalAxis = $chart->getAxes()->getVerticalAxis();
$verticalAxis->getTextFormat()->getPortionFormat()->setFontHeight(12);
$verticalAxis->getFormat()->getLine()->getFillFormat()->setFillType(FillType::NoFill);
setAxisTitle($verticalAxis, "Y Axis 1");
// Setze die Farbe der vertikalen Hauptgitternetzlinien.
$majorGridLinesFormat = $verticalAxis->getMajorGridLinesFormat()->getLine()->getFillFormat();
$majorGridLinesFormat->setFillType(FillType::Solid);
$majorGridLinesFormat->getSolidFillColor()->setColor(new java("java.awt.Color", 217, 217, 217));
}
function setSecondaryAxesFormat($chart) {
// Setze die sekundäre horizontale Achse.
$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);
// Setze die sekundäre vertikale Achse.
$secondaryVerticalAxis = $chart->getAxes()->getSecondaryVerticalAxis();
$secondaryVerticalAxis->setPosition(AxisPositionType::Right);
$secondaryVerticalAxis->getTextFormat()->getPortionFormat()->setFontHeight(12);
$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");
}
function setAxisTitle($axis, $axisTitle) {
$axis->setTitle(true);
$axis->getTitle()->setOverlay(false);
$titleParagraph = $axis->getTitle()->addTextFrameForOverriding($axisTitle)->getParagraphs()->get_Item(0);
$titleFormat = $titleParagraph->getParagraphFormat()->getDefaultPortionFormat();
$titleFormat->setFontBold(NullableBool::False);
$titleFormat->setFontHeight(12);
}
Diagramme aktualisieren
Schritte: PowerPoint‑Diagramm aktualisieren | Schritte: Präsentations‑Diagramm aktualisieren | Schritte: PowerPoint‑Präsentations‑Diagramm aktualisieren
- Instanziieren Sie eine Presentation‑Klasse, die die Präsentation mit dem zu aktualisierenden Diagramm repräsentiert.
- Holen Sie sich die Referenz einer Folie über deren Index.
- Durchlaufen Sie alle Formen, um das gewünschte Diagramm zu finden.
- Greifen Sie auf das Arbeitsblatt der Diagrammdaten zu.
- Ändern Sie die Daten der Diagrammserien, indem Sie die Serienwerte anpassen.
- Fügen Sie eine neue Serie hinzu und befüllen Sie die Daten.
- Schreiben Sie die geänderte Präsentation als PPTX‑Datei.
Dieser PHP‑Code zeigt, wie ein Diagramm aktualisiert wird:
$pres = new Presentation();
try {
# Zugriff auf den ersten Folienmarker
$sld = $pres->getSlides()->get_Item(0);
# Diagramm mit Standarddaten abrufen
$chart = $sld->getShapes()->get_Item(0);
# Festlegen des Index des Diagrammdatenblatts
$defaultWorksheetIndex = 0;
# Abrufen des Diagrammdaten-Arbeitsblatts
$fact = $chart->getChartData()->getChartDataWorkbook();
# Ändern des Diagrammkategorienamens
$fact->getCell($defaultWorksheetIndex, 1, 0, "Modified Category 1");
$fact->getCell($defaultWorksheetIndex, 2, 0, "Modified Category 2");
# Erste Diagrammserie auswählen
$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);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Datenbereich für ein Diagramm festlegen
Um den Datenbereich für ein Diagramm festzulegen, gehen Sie wie folgt vor:
- Instanziieren Sie eine Presentation‑Klasse, die die Präsentation mit dem Diagramm repräsentiert.
- Holen Sie sich die Referenz einer Folie über deren Index.
- Durchlaufen Sie alle Formen, um das gewünschte Diagramm zu finden.
- Greifen Sie auf die Diagrammdaten zu und setzen Sie den Bereich.
- Speichern Sie die geänderte Präsentation als PPTX‑Datei.
Dieser PHP‑Code zeigt, wie der Datenbereich für ein Diagramm festgelegt wird:
$pres = new Presentation();
try {
$slide = $pres->getSlides()->get_Item(0);
$chart = $slide->getShapes()->get_Item(0);
$chart->getChartData()->setRange("Sheet1!A1:B4");
$pres->save("SetDataRange_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Standard‑Marker in Diagrammen verwenden
Wenn Sie einen Standard‑Marker in Diagrammen verwenden, erhält jede Diagrammserie automatisch ein unterschiedliches Standardsymbol.
Dieser PHP‑Code zeigt, wie ein Diagramm‑Serien‑Marker automatisch festgelegt wird:
$pres = new Presentation();
try {
$slide = $pres->getSlides()->get_Item(0);
$chart = $slide->getShapes()->addChart(ChartType::LineWithMarkers, 10, 10, 400, 400);
$chart->getChartData()->getSeries()->clear();
$chart->getChartData()->getCategories()->clear();
$fact = $chart->getChartData()->getChartDataWorkbook();
$chart->getChartData()->getSeries()->add($fact->getCell(0, 0, 1, "Series 1"), $chart->getType());
$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());
# Nimm die zweite Diagrammserie
$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 (!java_is_null($pres)) {
$pres->dispose();
}
}
FAQ
Welche Diagrammtypen werden von Aspose.Slides unterstützt?
Aspose.Slides unterstützt eine breite Palette von Diagrammtypen, darunter Balken, Linien, Kreise, Flächen, Scatter, Histogramm, Radar und viele weitere. Diese Flexibilität ermöglicht es Ihnen, den am besten geeigneten Diagrammtyp für Ihre Datenvisualisierung auszuwählen.
Wie füge ich ein neues Diagramm zu einer Folie hinzu?
Um ein Diagramm hinzuzufügen, erstellen Sie zunächst eine Instanz der Presentation‑Klasse, 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 auf das Daten‑Workbook (ChartDataWorkbook) zugreifen, die Standardserien und -kategorien entfernen und dann Ihre eigenen Daten hinzufügen. So können Sie das Diagramm auf die neuesten Daten aktualisieren.
Ist es möglich, das Aussehen des Diagramms anzupassen?
Ja, Aspose.Slides bietet umfangreiche Anpassungsmöglichkeiten. Sie können Farben, Schriftarten, Beschriftungen, Legenden und andere Formatierungselemente ändern, um das Erscheinungsbild des Diagramms an Ihre spezifischen Designanforderungen anzupassen.