Créer ou mettre à jour des graphiques de présentation PowerPoint en PHP
Vue d’ensemble
Cet article décrit comment créer des graphiques de présentation PowerPoint en Java. Vous pouvez également mettre à jour les graphiques. Il couvre les sujets suivants.
Chart: Normal
- Java Create PowerPoint Chart
- Java Create Presentation Chart
- Java Create PowerPoint Presentation Chart
Chart: Scattered
- Java Create Scattered Chart
- Java Create PowerPoint Scattered Chart
- Java Create PowerPoint Presentation Scattered Chart
Chart: Pie
- Java Create Pie Chart
- Java Create PowerPoint Pie Chart
- Java Create PowerPoint Presentation Pie Chart
Chart: Tree Map
- Java Create Tree Map Chart
- Java Create PowerPoint Tree Map Chart
- Java Create PowerPoint Presentation Tree Map Chart
Chart: Stock
- Java Create Stock Chart
- Java Create PowerPoint Stock Chart
- Java Create PowerPoint Presentation Stock Chart
Chart: Box and Whisker
- Java Create Box and Whisker Chart
- Java Create PowerPoint Box and Whisker Chart
- Java Create PowerPoint Presentation Box and Whisker Chart
Chart: Funnel
- Java Create Funnel Chart
- Java Create PowerPoint Funnel Chart
- Java Create PowerPoint Presentation Funnel Chart
Chart: Sunburst
- Java Create Sunburst Chart
- Java Create PowerPoint Sunburst Chart
- Java Create PowerPoint Presentation Sunburst Chart
Chart: Histogram
- Java Create Histogram Chart
- Java Create PowerPoint Histogram Chart
- Java Create PowerPoint Presentation Histogram Chart
Chart: Radar
- Java Create Radar Chart
- Java Create PowerPoint Radar Chart
- Java Create PowerPoint Presentation Radar Chart
Chart: Multi Category
- Java Create Multi Category Chart
- Java Create PowerPoint Multi Category Chart
- Java Create PowerPoint Presentation Multi Category Chart
Chart: Map
- Java Create Map Chart
- Java Create PowerPoint Map Chart
- Java Create PowerPoint Presentation Map Chart
Action: Update Chart
- Java Update PowerPoint Chart
- Java Update Presentation Chart
- Java Update PowerPoint Presentation Chart
Créer un graphique
Les graphiques aident les utilisateurs à visualiser rapidement les données et à en tirer des enseignements, ce qui peut ne pas être immédiatement évident à partir d’un tableau ou d’une feuille de calcul.
Pourquoi créer des graphiques ?
Grâce aux graphiques, vous pouvez :
- agréger, condenser ou résumer de grandes quantités de données sur une seule diapositive d’une présentation
- révéler des motifs et des tendances dans les données
- déduire la direction et l’élan des données dans le temps ou par rapport à une unité de mesure spécifique
- repérer les valeurs aberrantes, les anomalies, les écarts, les erreurs, les données incohérentes, etc.
- communiquer ou présenter des données complexes
Dans PowerPoint, vous pouvez créer des graphiques via la fonction d’insertion, qui fournit des modèles utilisés pour concevoir de nombreux types de graphiques. Avec Aspose.Slides, vous pouvez créer des graphiques standards (basés sur les types de graphiques courants) et des graphiques personnalisés.
Créer des graphiques normaux
Steps: Create Chart
- Steps: Create PowerPoint Chart
- Steps: Create Presentation Chart
- Steps: Create PowerPoint Presentation Chart
Code Steps:
- Créez une instance de la classe Presentation.
- Obtenez la référence d’une diapositive via son index.
- Ajoutez un graphique avec certaines données et spécifiez le type de graphique souhaité.
- Ajoutez un titre au graphique.
- Accédez à la feuille de données du graphique.
- Supprimez toutes les séries et catégories par défaut.
- Ajoutez de nouvelles séries et catégories.
- Ajoutez de nouvelles données de graphique pour les séries.
- Ajoutez une couleur de remplissage pour les séries.
- Ajoutez des étiquettes pour les séries.
- Enregistrez la présentation modifiée au format PPTX.
Ce code PHP montre comment créer un graphique normal :
# Instancie une classe de présentation qui représente un fichier PPTX
$pres = new Presentation();
try {
# Accède à la première diapositive
$sld = $pres->getSlides()->get_Item(0);
# Ajoute un graphique avec ses données par défaut
$chart = $sld->getShapes()->addChart(ChartType::ClusteredColumn, 0, 0, 500, 500);
# Définit le titre du graphique
$chart->getChartTitle()->addTextFrameForOverriding("Sample Title");
$chart->getChartTitle()->getTextFrameForOverriding()->getTextFrameFormat()->setCenterText(NullableBool::True);
$chart->getChartTitle()->setHeight(20);
$chart->hasTitle();
# Définit la première série pour afficher les valeurs
$chart->getChartData()->getSeries()->get_Item(0)->getLabels()->getDefaultDataLabelFormat()->setShowValue(true);
# Définit l'index de la feuille de données du graphique
$defaultWorksheetIndex = 0;
# Obtient la feuille de données du graphique
$fact = $chart->getChartData()->getChartDataWorkbook();
# Supprime les séries et catégories générées par défaut
$chart->getChartData()->getSeries()->clear();
$chart->getChartData()->getCategories()->clear();
$s = $chart->getChartData()->getSeries()->size();
$s = $chart->getChartData()->getCategories()->size();
# Ajoute de nouvelles séries
$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());
# Ajoute de nouvelles catégories
$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"));
# Prend la première série du graphique
$series = $chart->getChartData()->getSeries()->get_Item(0);
# Maintenant remplit les données de la série
$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));
# Définit la couleur de remplissage pour la série
$series->getFormat()->getFill()->setFillType(FillType::Solid);
$series->getFormat()->getFill()->getSolidFillColor()->setColor(java("java.awt.Color")->RED);
# Prend la deuxième série du graphique
$series = $chart->getChartData()->getSeries()->get_Item(1);
# Remplit les données de la série
$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));
# Définit la couleur de remplissage pour la série
$series->getFormat()->getFill()->setFillType(FillType::Solid);
$series->getFormat()->getFill()->getSolidFillColor()->setColor(java("java.awt.Color")->GREEN);
# Crée des étiquettes personnalisées pour chaque catégorie de la nouvelle série
# Définit la première étiquette pour afficher le nom de la catégorie
$lbl = $series->getDataPoints()->get_Item(0)->getLabel();
$lbl->getDataLabelFormat()->setShowCategoryName(true);
$lbl = $series->getDataPoints()->get_Item(1)->getLabel();
$lbl->getDataLabelFormat()->setShowSeriesName(true);
# Affiche la valeur pour la troisième étiquette
$lbl = $series->getDataPoints()->get_Item(2)->getLabel();
$lbl->getDataLabelFormat()->setShowValue(true);
$lbl->getDataLabelFormat()->setShowSeriesName(true);
$lbl->getDataLabelFormat()->setSeparator("/");
# Enregistre la présentation avec le graphique
$pres->save("output.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Créer des graphiques dispersés
Les graphiques dispersés (également appelés nuages de points ou graphiques x‑y) sont souvent utilisés pour vérifier des motifs ou démontrer des corrélations entre deux variables.
Vous pouvez choisir un graphique dispersé lorsque :
- vous avez des données numériques appariées
- vous avez 2 variables qui se combinent bien
- vous voulez déterminer si 2 variables sont liées
- vous avez une variable indépendante qui possède plusieurs valeurs pour une variable dépendante
Steps: Create Scattered Chart | Steps: Create PowerPoint Scattered Chart | Steps: Create PowerPoint Presentation Scattered Chart
- Veuillez suivre les étapes décrites ci‑dessus dans Creating Normal Charts
- Pour la troisième étape, ajoutez un graphique avec des données et spécifiez le type de graphique parmi les suivants :
- ChartType::ScatterWithMarkers – Représente un graphique de dispersion avec marqueurs.
- ChartType::ScatterWithSmoothLinesAndMarkers – Représente un graphique de dispersion avec lignes lisses et marqueurs.
- ChartType::ScatterWithSmoothLines – Représente un graphique de dispersion avec lignes lisses, sans marqueurs.
- ChartType::ScatterWithStraightLinesAndMarkers – Représente un graphique de dispersion avec lignes droites et marqueurs.
- ChartType::ScatterWithStraightLines – Représente un graphique de dispersion avec lignes droites, sans marqueurs.
Ce code PHP montre comment créer des graphiques dispersés avec différentes séries de marqueurs :
# Instancie une classe de présentation qui représente un fichier PPTX
$pres = new Presentation();
try {
# Accède à la première diapositive
$slide = $pres->getSlides()->get_Item(0);
# Crée le graphique par défaut
$chart = $slide->getShapes()->addChart(ChartType::ScatterWithSmoothLines, 0, 0, 400, 400);
# Obtient l'index de la feuille de données du graphique par défaut
$defaultWorksheetIndex = 0;
# Obtient la feuille de données du graphique
$fact = $chart->getChartData()->getChartDataWorkbook();
# Supprime la série de démonstration
$chart->getChartData()->getSeries()->clear();
# Ajoute de nouvelles séries
$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());
# Prend la première série du graphique
$series = $chart->getChartData()->getSeries()->get_Item(0);
# Ajoute un nouveau point (1:3) à la série
$series->getDataPoints()->addDataPointForScatterSeries($fact->getCell($defaultWorksheetIndex, 2, 1, 1), $fact->getCell($defaultWorksheetIndex, 2, 2, 3));
# Ajoute un nouveau point (2:10)
$series->getDataPoints()->addDataPointForScatterSeries($fact->getCell($defaultWorksheetIndex, 3, 1, 2), $fact->getCell($defaultWorksheetIndex, 3, 2, 10));
# Modifie le type de la série
$series->setType(ChartType::ScatterWithStraightLinesAndMarkers);
# Modifie le marqueur de la série du graphique
$series->getMarker()->setSize(10);
$series->getMarker()->setSymbol(MarkerStyleType::Star);
# Prend la deuxième série du graphique
$series = $chart->getChartData()->getSeries()->get_Item(1);
# Ajoute un nouveau point (5:2) ici
$series->getDataPoints()->addDataPointForScatterSeries($fact->getCell($defaultWorksheetIndex, 2, 3, 5), $fact->getCell($defaultWorksheetIndex, 2, 4, 2));
# Ajoute un nouveau point (3:1)
$series->getDataPoints()->addDataPointForScatterSeries($fact->getCell($defaultWorksheetIndex, 3, 3, 3), $fact->getCell($defaultWorksheetIndex, 3, 4, 1));
# Ajoute un nouveau point (2:2)
$series->getDataPoints()->addDataPointForScatterSeries($fact->getCell($defaultWorksheetIndex, 4, 3, 2), $fact->getCell($defaultWorksheetIndex, 4, 4, 2));
# Ajoute un nouveau point (5:1)
$series->getDataPoints()->addDataPointForScatterSeries($fact->getCell($defaultWorksheetIndex, 5, 3, 5), $fact->getCell($defaultWorksheetIndex, 5, 4, 1));
# Modifie le marqueur de la série du graphique
$series->getMarker()->setSize(10);
$series->getMarker()->setSymbol(MarkerStyleType::Circle);
$pres->save("AsposeChart_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Créer des graphiques circulaires
Les graphiques circulaires sont idéaux pour illustrer la relation partie‑à‑tout dans les données, surtout lorsque les données contiennent des libellés catégoriels avec des valeurs numériques. Cependant, si vos données comportent de nombreuses parties ou libellés, il peut être préférable d’utiliser un diagramme à barres.
Steps: Create Pie Chart | Steps: Create PowerPoint Pie Chart | Steps: Create PowerPoint Presentation Pie Chart
- Créez une instance de la classe Presentation.
- Obtenez la référence d’une diapositive via son index.
- Ajoutez un graphique avec les données par défaut ainsi que le type souhaité (dans ce cas, ChartType.Pie).
- Accédez aux données du graphique via IChartDataWorkbook.
- Supprimez les séries et catégories par défaut.
- Ajoutez de nouvelles séries et catégories.
- Ajoutez de nouvelles données de graphique pour les séries.
- Ajoutez de nouveaux points et définissez des couleurs personnalisées pour les secteurs du graphique circulaire.
- Définissez des étiquettes pour les séries.
- Définissez des lignes de repère pour les étiquettes des séries.
- Définissez l’angle de rotation pour les diapositives du graphique circulaire.
- Enregistrez la présentation modifiée au format PPTX.
Ce code PHP montre comment créer un graphique circulaire :
# Instancie une classe de présentation qui représente un fichier PPTX
$pres = new Presentation();
try {
# Accède à la première diapositive
$slides = $pres->getSlides()->get_Item(0);
# Ajoute un graphique avec des données par défaut
$chart = $slides->getShapes()->addChart(ChartType::Pie, 100, 100, 400, 400);
# Définit le titre du graphique
$chart->getChartTitle()->addTextFrameForOverriding("Sample Title");
$chart->getChartTitle()->getTextFrameForOverriding()->getTextFrameFormat()->setCenterText(NullableBool::True);
$chart->getChartTitle()->setHeight(20);
$chart->setTitle(true);
# Définit la première série pour afficher les valeurs
$chart->getChartData()->getSeries()->get_Item(0)->getLabels()->getDefaultDataLabelFormat()->setShowValue(true);
# Définit l'index de la feuille de données du graphique
$defaultWorksheetIndex = 0;
# Obtient la feuille de données du graphique
$fact = $chart->getChartData()->getChartDataWorkbook();
# Supprime les séries et catégories générées par défaut
$chart->getChartData()->getSeries()->clear();
$chart->getChartData()->getCategories()->clear();
# Ajoute de nouvelles catégories
$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"));
# Ajoute de nouvelles séries
$series = $chart->getChartData()->getSeries()->add($fact->getCell(0, 0, 1, "Series 1"), $chart->getType());
# Remplit les données de la série
$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));
# Ne fonctionne pas dans la nouvelle version
# Ajout de nouveaux points et définition de la couleur du secteur
# 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);
# Définit la bordure du secteur
$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);
# Définit la bordure du secteur
$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);
# Définit la bordure du secteur
$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);
# Crée des étiquettes personnalisées pour chaque catégorie de la nouvelle série
$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);
# Affiche les lignes directrices pour le graphique
$series->getLabels()->getDefaultDataLabelFormat()->setShowLeaderLines(true);
# Définit l'angle de rotation des secteurs du graphique circulaire
$chart->getChartData()->getSeriesGroups()->get_Item(0)->setFirstSliceAngle(180);
# Enregistre la présentation avec un graphique
$pres->save("PieChart_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Créer des graphiques en lignes
Les graphiques en lignes (ou graphiques linéaires) sont les mieux adaptés lorsqu’on veut montrer l’évolution d’une valeur dans le temps. Avec un graphique en lignes, vous pouvez comparer de nombreux jeux de données simultanément, suivre les évolutions et les tendances, mettre en évidence des anomalies, etc.
- Créez une instance de la classe Presentation.
- Obtenez la référence d’une diapositive via son index.
- Ajoutez un graphique avec les données par défaut ainsi que le type souhaité (dans ce cas,
ChartType::Line). - Accédez aux données du graphique via IChartDataWorkbook.
- Supprimez les séries et catégories par défaut.
- Ajoutez de nouvelles séries et catégories.
- Ajoutez de nouvelles données de graphique pour les séries.
- Enregistrez la présentation modifiée au format PPTX.
Ce code PHP montre comment créer un graphique en lignes :
$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();
}
}
Par défaut, les points d’un graphique en lignes sont reliés par des segments droits continus. Si vous souhaitez que les points soient reliés par des tirets, vous pouvez spécifier le type de tiret souhaité ainsi :
$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);
}
Créer des graphiques arborescents
Les graphiques arborescents sont idéaux pour les données de ventes lorsque vous voulez montrer la taille relative des catégories tout en attirant rapidement l’attention sur les éléments qui contribuent le plus à chaque catégorie.
Steps: Create Tree Map Chart | Steps: Create PowerPoint Tree Map Chart | Steps: Create PowerPoint Presentation Tree Map Chart
- Créez une instance de la classe Presentation.
- Obtenez la référence d’une diapositive via son index.
- Ajoutez un graphique avec les données par défaut ainsi que le type souhaité (dans ce cas, ChartType.TreeMap).
- Accédez aux données du graphique via IChartDataWorkbook.
- Supprimez les séries et catégories par défaut.
- Ajoutez de nouvelles séries et catégories.
- Ajoutez de nouvelles données de graphique pour les séries.
- Enregistrez la présentation modifiée au format PPTX.
Ce code PHP montre comment créer un graphique arborescent :
$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);
# branche 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"));
# branche 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();
}
}
Créer des graphiques boursiers
Steps: Create Stock Chart | Steps: Create PowerPoint Stock Chart | Steps: Create PowerPoint Presentation Stock Chart
- Créez une instance de la classe Presentation.
- Obtenez la référence d’une diapositive via son index.
- Ajoutez un graphique avec les données par défaut ainsi que le type souhaité (ChartType.OpenHighLowClose).
- Accédez aux données du graphique via IChartDataWorkbook.
- Supprimez les séries et catégories par défaut.
- Ajoutez de nouvelles séries et catégories.
- Ajoutez de nouvelles données de graphique pour les séries.
- Spécifiez le format HiLowLines.
- Enregistrez la présentation modifiée au format PPTX.
Exemple de code PHP utilisé pour créer un graphique boursier :
$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();
}
}
Créer des graphiques boîte à moustaches
Steps: Create Box and Whisker Chart | Steps: Create PowerPoint Box and Whisker Chart | Steps: Create PowerPoint Presentation Box and Whisker Chart
- Créez une instance de la classe Presentation.
- Obtenez la référence d’une diapositive via son index.
- Ajoutez un graphique avec les données par défaut ainsi que le type souhaité (ChartType.BoxAndWhisker).
- Accédez aux données du graphique via IChartDataWorkbook.
- Supprimez les séries et catégories par défaut.
- Ajoutez de nouvelles séries et catégories.
- Ajoutez de nouvelles données de graphique pour les séries.
- Enregistrez la présentation modifiée au format PPTX.
Ce code PHP montre comment créer un graphique boîte à moustaches :
$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();
}
}
Créer des graphiques entonnoir
Steps: Create Funnel Chart | Steps: Create PowerPoint Funnel Chart | Steps: Create PowerPoint Presentation Funnel Chart
- Créez une instance de la classe Presentation.
- Obtenez la référence d’une diapositive via son index.
- Ajoutez un graphique avec les données par défaut ainsi que le type souhaité (ChartType.Funnel).
- Enregistrez la présentation modifiée au format PPTX.
Le code PHP montre comment créer un graphique entonnoir :
$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();
}
}
Créer des graphiques rayonnants
Steps: Create Sunburst Chart | Steps: Create PowerPoint Sunburst Chart | Steps: Create PowerPoint Presentation Sunburst Chart
- Créez une instance de la classe Presentation.
- Obtenez la référence d’une diapositive via son index.
- Ajoutez un graphique avec les données par défaut ainsi que le type souhaité (dans ce cas, ChartType.sunburst).
- Enregistrez la présentation modifiée au format PPTX.
Ce code PHP montre comment créer un graphique rayonnant :
$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);
# branche 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"));
# branche 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();
}
}
Créer des graphiques histogrammes
Steps: Create Histogram Chart | Steps: Create PowerPoint Histogram Chart | Steps: Create PowerPoint Presentation Histogram Chart
- Créez une instance de la classe Presentation.
- Obtenez la référence d’une diapositive via son index.
- Ajoutez un graphique avec les données par défaut ainsi que le type souhaité (ChartType.Histogram).
- Accédez aux données du graphique via IChartDataWorkbook.
- Supprimez les séries et catégories par défaut.
- Ajoutez de nouvelles séries et catégories.
- Enregistrez la présentation modifiée au format PPTX.
Ce code PHP montre comment créer un histogramme :
$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);
Créer des graphiques radar
Steps: Create Radar Chart | Steps: Create PowerPoint Radar Chart | Steps: Create PowerPoint Presentation Radar Chart
- Créez une instance de la classe Presentation.
- Obtenez la référence d’une diapositive via son index.
- Ajoutez un graphique avec certaines données et spécifiez le type souhaité (
ChartType::Radardans ce cas). - Enregistrez la présentation modifiée au format PPTX.
Ce code PHP montre comment créer un graphique radar :
$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();
}
}
Créer des graphiques multi‑catégories
Steps: Create Multi Category Chart | Steps: Create PowerPoint Multi Category Chart | Steps: Create PowerPoint Presentation Multi Category Chart
- Créez une instance de la classe Presentation.
- Obtenez la référence d’une diapositive via son index.
- Ajoutez un graphique avec les données par défaut ainsi que le type souhaité (ChartType.ClusteredColumn).
- Accédez aux données du graphique via IChartDataWorkbook.
- Supprimez les séries et catégories par défaut.
- Ajoutez de nouvelles séries et catégories.
- Ajoutez de nouvelles données de graphique pour les séries.
- Enregistrez la présentation modifiée au format PPTX.
Ce code PHP montre comment créer un graphique multi‑catégorie :
$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"));
# Ajout de séries
$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));
# Enregistrer la présentation avec le graphique
$pres->save("AsposeChart_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Créer des graphiques cartographiques
Un graphique cartographique visualise une zone contenant des données. Les graphiques cartographiques sont idéaux pour comparer des valeurs à travers des régions géographiques.
Steps: Create Map Chart | Steps: Create PowerPoint Map Chart | Steps: Create PowerPoint Presentation Map Chart
Ce code PHP montre comment créer un graphique cartographique :
$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();
}
}
Créer des graphiques combinés
Un graphique combiné (ou graphique combo) réunit deux types de graphiques ou plus dans un même diagramme. Ce type de graphique vous permet de mettre en évidence, de comparer ou d’examiner les différences entre plusieurs ensembles de données, aidant ainsi à identifier les relations entre eux.

Le code PHP suivant montre comment créer le graphique combiné présenté ci‑dessus dans une présentation PowerPoint :
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);
// Définir le titre du graphique.
$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);
// Définir la légende du graphique.
$chart->getLegend()->setPosition(LegendPositionType::Bottom);
$chart->getLegend()->getTextFormat()->getPortionFormat()->setFontHeight(12);
// Supprimer les séries et catégories générées par défaut.
$chart->getChartData()->getSeries()->clear();
$chart->getChartData()->getCategories()->clear();
$worksheetIndex = 0;
$workbook = $chart->getChartData()->getChartDataWorkbook();
// Ajouter de nouvelles catégories.
$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"));
// Ajouter la première série.
$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) {
// Définir l'axe horizontal.
$horizontalAxis = $chart->getAxes()->getHorizontalAxis();
$horizontalAxis->getTextFormat()->getPortionFormat()->setFontHeight(12);
$horizontalAxis->getFormat()->getLine()->getFillFormat()->setFillType(FillType::NoFill);
setAxisTitle($horizontalAxis, "X Axis");
// Définir l'axe vertical.
$verticalAxis = $chart->getAxes()->getVerticalAxis();
$verticalAxis->getTextFormat()->getPortionFormat()->setFontHeight(12);
$verticalAxis->getFormat()->getLine()->getFillFormat()->setFillType(FillType::NoFill);
setAxisTitle($verticalAxis, "Y Axis 1");
// Définir la couleur des lignes de grille majeures verticales.
$majorGridLinesFormat = $verticalAxis->getMajorGridLinesFormat()->getLine()->getFillFormat();
$majorGridLinesFormat->setFillType(FillType::Solid);
$majorGridLinesFormat->getSolidFillColor()->setColor(new java("java.awt.Color", 217, 217, 217));
}
function setSecondaryAxesFormat($chart) {
// Définir l'axe horizontal secondaire.
$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);
// Définir l'axe vertical secondaire.
$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);
}
Mettre à jour les graphiques
Steps: Update PowerPoint Chart | Steps: Update Presentation Chart | Steps: Update PowerPoint Presentation Chart
- Instanciez une classe Presentation qui représente la présentation contenant le graphique à mettre à jour.
- Obtenez la référence d’une diapositive en utilisant son index.
- Parcourez toutes les formes pour trouver le graphique souhaité.
- Accédez à la feuille de données du graphique.
- Modifiez les données des séries en changeant les valeurs des séries.
- Ajoutez une nouvelle série et remplissez‑la avec des données.
- Enregistrez la présentation modifiée au format PPTX.
Ce code PHP montre comment mettre à jour un graphique :
# Accéder à la première diapositive
$pres = new Presentation();
try {
# Obtenir le graphique avec les données par défaut
$sld = $pres->getSlides()->get_Item(0);
# Définir l'index de la feuille de données du graphique
$defaultWorksheetIndex = 0;
# Obtenir la feuille de données du graphique
$fact = $chart->getChartData()->getChartDataWorkbook();
# Modifier le nom de la catégorie du graphique
$fact->getCell($defaultWorksheetIndex, 1, 0, "Modified Category 1");
$fact->getCell($defaultWorksheetIndex, 2, 0, "Modified Category 2");
# Prendre la première série du graphique
$series = $chart->getChartData()->getSeries()->get_Item(0);
# Mise à jour des données de la série
$fact->getCell($defaultWorksheetIndex, 0, 1, "New_Series1");// Modification du nom de la série
$series->getDataPoints()->get_Item(0)->getValue()->setData(90);
$series->getDataPoints()->get_Item(1)->getValue()->setData(123);
$series->getDataPoints()->get_Item(2)->getValue()->setData(44);
# Prendre la deuxième série du graphique
$series = $chart->getChartData()->getSeries()->get_Item(1);
# Mise à jour des données de la série
$fact->getCell($defaultWorksheetIndex, 0, 2, "New_Series2");// Modification du nom de la série
$series->getDataPoints()->get_Item(0)->getValue()->setData(23);
$series->getDataPoints()->get_Item(1)->getValue()->setData(67);
$series->getDataPoints()->get_Item(2)->getValue()->setData(99);
# Ajout d'une nouvelle série
$chart->getChartData()->getSeries()->add($fact->getCell($defaultWorksheetIndex, 0, 3, "Series 3"), $chart->getType());
# Prendre la troisième série du graphique
$series = $chart->getChartData()->getSeries()->get_Item(2);
# Remplissage des données de la série
$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);
# Enregistrer la présentation avec le graphique
$pres->save("AsposeChartModified_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Définir la plage de données d’un graphique
Pour définir la plage de données d’un graphique, procédez ainsi :
- Instanciez une classe Presentation qui représente la présentation contenant le graphique.
- Obtenez la référence d’une diapositive via son index.
- Parcourez toutes les formes pour trouver le graphique souhaité.
- Accédez aux données du graphique et définissez la plage.
- Enregistrez la présentation modifiée au format PPTX.
Ce code PHP montre comment définir la plage de données d’un graphique :
$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();
}
}
Utiliser des marqueurs par défaut dans les graphiques
Lorsque vous utilisez un marqueur par défaut dans les graphiques, chaque série reçoit automatiquement un symbole de marqueur différent.
Ce code PHP montre comment définir automatiquement un marqueur de série :
$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());
# Prendre la deuxième série du graphique
$series2 = $chart->getChartData()->getSeries()->get_Item(1);
# Maintenant, remplissage des données de la série
$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
Quels types de graphiques sont pris en charge par Aspose.Slides ?
Aspose.Slides prend en charge un large éventail de types de graphiques, notamment les graphiques à barres, en lignes, circulaires, en aires, dispersés, histogrammes, radar et bien d’autres. Cette flexibilité vous permet de choisir le type de graphique le plus adapté à vos besoins de visualisation.
Comment ajouter un nouveau graphique à une diapositive ?
Pour ajouter un graphique, créez d’abord une instance de la classe Presentation , récupérez la diapositive souhaitée via son index, puis appelez la méthode d’ajout de graphique en précisant le type de graphique et les données initiales. Cette procédure intègre directement le graphique dans votre présentation.
Comment mettre à jour les données affichées dans un graphique ?
Vous pouvez mettre à jour les données d’un graphique en accédant à son classeur de données (ChartDataWorkbook), en supprimant les séries et catégories par défaut, puis en ajoutant vos propres données. Cela vous permet de rafraîchir le graphique avec les dernières informations.
Est‑il possible de personnaliser l’apparence du graphique ?
Oui, Aspose.Slides offre de nombreuses options de personnalisation. Vous pouvez modifier les couleurs, les polices, les étiquettes, les légendes et d’autres éléments de mise en forme pour adapter l’aspect du graphique à vos exigences de conception.