Erstellen oder Aktualisieren von PowerPoint-Präsentationsdiagrammen in PHP
Ü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äsentationsdiagramm erstellen
- Java PowerPoint-Präsentationsdiagramm erstellen
Chart: Scattered
- Java Scatter-Diagramm erstellen
- Java PowerPoint-Scatter-Diagramm erstellen
- Java PowerPoint-Präsentations-Scatter-Diagramm erstellen
Chart: Pie
- Java Kreisdiagramm erstellen
- Java PowerPoint-Kreisdiagramm erstellen
- Java PowerPoint-Präsentations-Kreisdiagramm erstellen
Chart: Tree Map
- Java Baumkarten-Diagramm erstellen
- Java PowerPoint-Baumkarten-Diagramm erstellen
- Java PowerPoint-Präsentations-Baumkarten-Diagramm erstellen
Chart: Stock
- Java Börsendiagramm erstellen
- Java PowerPoint-Börsendiagramm erstellen
- Java PowerPoint-Präsentations-Börsendiagramm 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 Trichterdiagramm erstellen
- Java PowerPoint-Trichterdiagramm erstellen
- Java PowerPoint-Präsentations‑Trichterdiagramm 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 Menschen, Daten schnell zu visualisieren und Erkenntnisse 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 einzigen Folie einer Präsentation zusammenfassen, komprimieren oder aggregieren
- Muster und Trends in den Daten aufdecken
- die Richtung und das Momentum der Daten über die Zeit oder in Bezug 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.
Normal‑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 eine Folienreferenz ü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.
- Löschen Sie alle Standard‑Serien und Kategorien.
- Fügen Sie neue Serien und Kategorien hinzu.
- Fügen Sie neue Diagrammdaten für die Diagramm‑Serien hinzu.
- Legen Sie eine Füllfarbe für die Diagramm‑Serien fest.
- Fügen Sie Beschriftungen für die Diagramm‑Serien hinzu.
- Schreiben Sie die geänderte Präsentation als PPTX‑Datei.
Dieser PHP‑Code zeigt, wie ein normales Diagramm erstellt wird:
# Instanziiert 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);
# Befüllt jetzt die Serien-Daten
$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);
# 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(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 X‑Y‑Grafiken genannt) werden häufig verwendet, um Muster zu prüfen oder Korrelationen zwischen zwei Variablen darzustellen.
Sie sollten ein Scatter‑Diagramm verwenden, wenn
- Sie gepaarte numerische Daten haben
- Sie 2 Variablen haben, die gut zueinander passen
- Sie bestimmen wollen, ob 2 Variablen zusammenhängen
- Sie eine unabhängige Variable mit mehreren Werten für eine abhängige Variable haben
Schritte: Scatter‑Diagramm erstellen | Schritte: PowerPoint‑Scatter‑Diagramm erstellen | Schritte: PowerPoint‑Präsentations‑Scatter‑Diagramm erstellen
- Bitte folgen Sie den oben genannten Schritten unter Normal‑Diagramme erstellen
- Für den dritten Schritt fügen Sie ein Diagramm mit einigen Daten hinzu und geben Sie als Diagrammtyp einen der folgenden Werte an
- ChartType::ScatterWithMarkers - Stellt ein Scatter‑Diagramm mit Markern dar.
- ChartType::ScatterWithSmoothLinesAndMarkers - Stellt ein Scatter‑Diagramm mit geglätteten Linien und Markern dar.
- ChartType::ScatterWithSmoothLines - Stellt ein Scatter‑Diagramm mit geglätteten Linien ohne Marker dar.
- ChartType::ScatterWithStraightLinesAndMarkers - Stellt ein Scatter‑Diagramm mit geraden Linien und Markern dar.
- ChartType::ScatterWithStraightLines - Stellt ein Scatter‑Diagramm mit geraden Linien ohne Marker dar.
Dieser PHP‑Code zeigt, wie ein Scatter‑Diagramm mit unterschiedlichen Markern erstellt wird:
# 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);
# Ermittelt den Index des Standard‑Diagrammdaten‑Arbeitsblatts
$defaultWorksheetIndex = 0;
# Ermittelt 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 Marker 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 Marker 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 Balken‑Diagramm 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 die Folienreferenz über den Index.
- Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ (hier: ChartType.Pie) hinzu.
- Greifen Sie auf das ChartDataWorkbook zu.
- Löschen Sie die Standard‑Serien und -Kategorien.
- Fügen Sie neue Serien und Kategorien hinzu.
- Fügen Sie neue Diagrammdaten für die Serien hinzu.
- Fügen Sie neue Punkte für das Diagramm hinzu und definieren Sie benutzerdefinierte Farben für die Sektoren des Kreis‑Diagramms.
- Legen Sie Beschriftungen für die Serien fest.
- Setzen Sie Führungslinien für die Serien‑Beschriftungen.
- 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, um Werte anzuzeigen
$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 generierten 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 nicht in neuer Version
# Adding new points and setting sector color
# 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 Sektorrahmen
$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 Sektorrahmen
$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 Sektorrahmen
$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
$series->getLabels()->getDefaultDataLabelFormat()->setShowLeaderLines(true);
# Setzt den Rotationswinkel für die Kreisdiagramm‑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 (!java_is_null($pres)) {
$pres->dispose();
}
}
Liniendiagramme erstellen
Liniendiagramme (auch Liniendiagramme genannt) eignen sich besonders, wenn Sie Veränderungen von Werten über die Zeit visualisieren möchten. Mit einem Liniendiagramm können Sie viele Daten gleichzeitig vergleichen, Trends und Veränderungen über die Zeit nachverfolgen, Anomalien in Datenreihen hervorheben usw.
- Erstellen Sie eine Instanz der Klasse Presentation.
- Holen Sie die Folienreferenz über deren Index.
- Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ (hier
ChartType::Line) hinzu. - Greifen Sie auf das IChartDataWorkbook der Diagrammdaten zu.
- Löschen Sie die Standard‑Serien und -Kategorien.
- Fügen Sie neue Serien und Kategorien hinzu.
- Fügen Sie neue Diagrammdaten für die Serien 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 die Punkte eines Liniendiagramms durch gerade, durchgängige Linien verbunden. Wenn Sie die Punkte stattdessen durch Striche verbinden möchten, können Sie den gewünschten Strich‑Typ wie folgt 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);
}
Tree‑Map‑Diagramme erstellen
Tree‑Map‑Diagramme eignen sich am besten für Verkaufsdaten, wenn Sie die relative Größe von Datenkategorien zeigen und gleichzeitig schnell auf große Beitragende innerhalb jeder Kategorie aufmerksam machen wollen.
Schritte: Tree‑Map‑Diagramm erstellen | Schritte: PowerPoint‑Tree‑Map‑Diagramm erstellen | Schritte: PowerPoint‑Präsentations‑Tree‑Map‑Diagramm erstellen
- Erstellen Sie eine Instanz der Presentation Klasse.
- Holen Sie die Folienreferenz über deren Index.
- Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ (hier: ChartType.TreeMap) hinzu.
- Greifen Sie auf das ChartDataWorkbook zu.
- Löschen Sie die Standard‑Serien und -Kategorien.
- Fügen Sie neue Serien und Kategorien hinzu.
- Fügen Sie neue Diagrammdaten für die Serien hinzu.
- Schreiben Sie die geänderte Präsentation in eine PPTX‑Datei.
Dieser PHP‑Code zeigt, wie ein Tree‑Map‑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();
}
}
Börsen‑Diagramme erstellen
Schritte: Börsen‑Diagramm erstellen | Schritte: PowerPoint‑Börsen‑Diagramm erstellen | Schritte: PowerPoint‑Präsentations‑Börsen‑Diagramm erstellen
- Erstellen Sie eine Instanz der Presentation Klasse.
- Holen Sie die Folienreferenz über deren Index.
- Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ (ChartType.OpenHighLowClose) hinzu.
- Greifen Sie auf das ChartDataWorkbook zu.
- Löschen Sie die Standard‑Serien und -Kategorien.
- Fügen Sie neue Serien und Kategorien hinzu.
- Fügen Sie neue Diagrammdaten für die Serien hinzu.
- Definieren Sie das Format für HiLowLines.
- Schreiben Sie die geänderte Präsentation in eine PPTX‑Datei.
Beispiel‑PHP‑Code zum Erstellen eines Börsen‑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 die Folienreferenz über deren Index.
- Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ (ChartType.BoxAndWhisker) hinzu.
- Greifen Sie auf das ChartDataWorkbook zu.
- Löschen Sie die Standard‑Serien und -Kategorien.
- Fügen Sie neue Serien und Kategorien hinzu.
- Fügen Sie neue Diagrammdaten für die Serien 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 die Folienreferenz über deren Index.
- Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ (ChartType.Funnel) hinzu.
- 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 die Folienreferenz über deren Index.
- Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ (hier: ChartType.sunburst) hinzu.
- 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 die Folienreferenz über deren Index.
- Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ (ChartType.Histogram) hinzu.
- Greifen Sie auf das ChartDataWorkbook zu.
- Löschen Sie die Standard‑Serien 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 die Folienreferenz über deren Index.
- Fügen Sie ein Diagramm mit einigen Daten hinzu und geben Sie Ihren bevorzugten Diagrammtyp (
ChartType::Radar) an. - 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 die Folienreferenz über deren Index.
- Fügen Sie ein Diagramm mit Standarddaten und dem gewünschten Typ (ChartType.ClusteredColumn) hinzu.
- Greifen Sie auf das ChartDataWorkbook zu.
- Löschen Sie die Standard‑Serien und -Kategorien.
- Fügen Sie neue Serien und Kategorien hinzu.
- Fügen Sie neue Diagrammdaten für die Serien 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 besonders zum Vergleich von Daten oder Werten über geografische Regionen hinweg.
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) kombiniert zwei oder mehr Diagrammtypen in einem einzigen Diagramm. Dieses Diagramm ermöglicht es Ihnen, Unterschiede zwischen zwei oder mehr Datenreihen hervorzuheben, zu vergleichen oder zu untersuchen, was Ihnen hilft, Beziehungen zwischen ihnen zu erkennen.

Der folgende PHP‑Code zeigt, wie das oben gezeigte 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);
// Diagrammtitel festlegen.
$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);
// Diagrammlegende festlegen.
$chart->getLegend()->setPosition(LegendPositionType::Bottom);
$chart->getLegend()->getTextFormat()->getPortionFormat()->setFontHeight(12);
// Standardmäßig erzeugte Serien und Kategorien löschen.
$chart->getChartData()->getSeries()->clear();
$chart->getChartData()->getCategories()->clear();
$worksheetIndex = 0;
$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"));
// Erste Serie hinzufügen.
$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) {
// Horizontale Achse festlegen.
$horizontalAxis = $chart->getAxes()->getHorizontalAxis();
$horizontalAxis->getTextFormat()->getPortionFormat()->setFontHeight(12);
$horizontalAxis->getFormat()->getLine()->getFillFormat()->setFillType(FillType::NoFill);
setAxisTitle($horizontalAxis, "X Axis");
// Vertikale Achse festlegen.
$verticalAxis = $chart->getAxes()->getVerticalAxis();
$verticalAxis->getTextFormat()->getPortionFormat()->setFontHeight(12);
$verticalAxis->getFormat()->getLine()->getFillFormat()->setFillType(FillType::NoFill);
setAxisTitle($verticalAxis, "Y Axis 1");
// Farbe der vertikalen Hauptgitternetzlinien festlegen.
$majorGridLinesFormat = $verticalAxis->getMajorGridLinesFormat()->getLine()->getFillFormat();
$majorGridLinesFormat->setFillType(FillType::Solid);
$majorGridLinesFormat->getSolidFillColor()->setColor(new java("java.awt.Color", 217, 217, 217));
}
function setSecondaryAxesFormat($chart) {
// Sekundäre horizontale Achse festlegen.
$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);
// Sekundäre vertikale Achse festlegen.
$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 darstellt.
- Holen Sie die Referenz einer Folie über deren Index.
- Durchlaufen Sie alle Shapes, um das gewünschte Diagramm zu finden.
- Greifen Sie auf das Datenarbeitsblatt des Diagramms zu.
- Ändern Sie die Daten der Diagramm‑Serien, indem Sie Serienwerte anpassen.
- Fügen Sie eine neue Serie hinzu und fü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 die erste Folie
$sld = $pres->getSlides()->get_Item(0);
# Diagramm mit Standarddaten erhalten
$chart = $sld->getShapes()->get_Item(0);
# Festlegen des Index des Diagrammdatenblatts
$defaultWorksheetIndex = 0;
# Abrufen des Diagrammdaten-Arbeitsblatts
$fact = $chart->getChartData()->getChartDataWorkbook();
# Ändern des Diagramm-Kategorienamens
$fact->getCell($defaultWorksheetIndex, 1, 0, "Modified Category 1");
$fact->getCell($defaultWorksheetIndex, 2, 0, "Modified Category 2");
# Erste Diagrammserie holen
$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 holen
$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 holen
$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 darstellt.
- Holen Sie die Folienreferenz über deren Index.
- Durchlaufen Sie alle Shapes, 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, erhalten die einzelnen Diagramm‑Serien automatisch unterschiedliche Standard‑Marker‑Symbole.
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());
# Zweite Diagrammserie holen
$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, Kreis, Fläche, Scatter, Histogramm, Radar und viele mehr. Diese Flexibilität ermöglicht es Ihnen, den für Ihre Datenvisualisierung am besten geeigneten Diagrammtyp 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, rufen die gewünschte Folie über deren Index ab 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 Daten eines Diagramms aktualisieren, indem Sie auf das Daten‑Workbook des Diagramms (ChartDataWorkbook) zugreifen, alle Standard‑Serien und -Kategorien löschen und anschließend Ihre benutzerdefinierten Daten hinzufügen. So können Sie das Diagramm mit den neuesten Daten aktualisieren.
Ist es möglich, das Aussehen des Diagramms anzupassen?
Ja, Aspose.Slides bietet umfangreiche Anpassungsoptionen. Sie können Farben, Schriftarten, Beschriftungen, Legenden und andere Formatierungselemente ändern, um das Aussehen des Diagramms an Ihre spezifischen Designanforderungen anzupassen.