Créer ou mettre à jour des graphiques de présentation PowerPoint en Java

Aperçu

Cet article décrit comment créer des graphiques de présentation PowerPoint en Java. Vous pouvez également mettre à jour les graphiques en Java. Il couvre ces sujets.

Graphe: Normal

Graphe: Dispersé

Graphe: Secteur

Graphe: Carte thermique

Graphe: Boursier

Graphe: Boîte et moustache

Graphe: Entonnoir

Graphe: Soleil

Graphe: Histogramme

Graphe: Radar

Graphe: Multi-catégorie

Graphe: Carte

Action: Mettre à jour le graphique

Créer un graphique

Les graphiques aident les gens à visualiser rapidement des données et à en tirer des enseignements, qui peuvent ne pas être immédiatement évidents à partir d’un tableau ou d’une feuille de calcul.

Pourquoi créer des graphiques?

En utilisant des graphiques, vous pouvez

  • agréger, condenser ou résumer de grandes quantités de données sur une seule diapositive d’une présentation
  • exposer des motifs et des tendances dans les données
  • déduire la direction et l’élan des données au fil du temps ou par rapport à une unité de mesure spécifique
  • repérer des valeurs aberrantes, des aberrations, des écarts, des erreurs, des données nonsensiques, 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. En utilisant Aspose.Slides, vous pouvez créer des graphiques réguliers (basés sur des types de graphiques populaires) et des graphiques personnalisés.

Création de graphiques normaux

Etapes: Créer un graphique

Etapes de code:

  1. Créez une instance de la classe Presentation.
  2. Obtenez une référence de diapositive par son index.
  3. Ajoutez un graphique avec des données et spécifiez le type de graphique souhaité.
  4. Ajoutez un titre pour le graphique.
  5. Accédez à la feuille de calcul des données du graphique.
  6. Effacez toutes les séries et catégories par défaut.
  7. Ajoutez de nouvelles séries et catégories.
  8. Ajoutez de nouvelles données de graphique pour les séries de graphiques.
  9. Ajoutez une couleur de remplissage pour les séries de graphiques.
  10. Ajoutez des étiquettes pour les séries de graphiques.
  11. Écrivez la présentation modifiée sous forme de fichier PPTX.

Ce code Java vous montre comment créer un graphique normal :

// Instancie une classe de présentation qui représente un fichier PPTX
Presentation pres = new Presentation();
try {
    // Accède à la première diapositive
    ISlide sld = pres.getSlides().get_Item(0);
    
    // Ajoute un graphique avec ses données par défaut
    IChart chart = sld.getShapes().addChart(ChartType.ClusteredColumn, 0, 0, 500, 500);
    
    // Définit le titre du graphique
    chart.getChartTitle().addTextFrameForOverriding("Titre d'exemple");
    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 pour la feuille de données du graphique
    int defaultWorksheetIndex = 0;
    
    // Obtient la feuille de travail des données du graphique
    IChartDataWorkbook 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();
    int s = chart.getChartData().getSeries().size();
    s = chart.getChartData().getCategories().size();
    
    // Ajoute de nouvelles séries
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 1, "Série 1"),chart.getType());
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 2, "Série 2"),chart.getType());
    
    // Ajoute de nouvelles catégories
    chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 1, 0, "Catégorie 1"));
    chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 2, 0, "Catégorie 2"));
    chart.getChartData().getCategories().add(fact.getCell(defaultWorksheetIndex, 3, 0, "Catégorie 3"));
    
    // Prend la première série de graphique
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);
    
    // Maintenant, peuple 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(Color.RED);
    
    // Prend la deuxième série de graphique
    series = chart.getChartData().getSeries().get_Item(1);
    
    // peuple 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(Color.GREEN);
    
    // Crée des étiquettes personnalisées pour chaque catégorie pour la nouvelle série
    // Définit la première étiquette pour afficher le nom de la catégorie
    IDataLabel 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 (pres != null) pres.dispose();
}

Création de graphiques dispersés

Les graphiques dispersés (également connus sous le nom de diagrammes dispersés ou graphiques x-y) sont souvent utilisés pour vérifier des motifs ou démontrer des corrélations entre deux variables.

Vous pouvez vouloir utiliser un graphique dispersé lorsque

  • vous avez des données numériques appariées
  • vous avez 2 variables qui s’associent bien
  • vous voulez déterminer si 2 variables sont liées
  • vous avez une variable indépendante qui a plusieurs valeurs pour une variable dépendante

Étapes: Créer un graphique dispersé en Java | Étapes: Créer un graphique dispersé PowerPoint en Java | Étapes: Créer un graphique dispersé de présentation PowerPoint en Java

  1. Veuillez suivre les étapes mentionnées ci-dessus dans Création de graphiques normaux
  2. Pour la troisième étape, ajoutez un graphique avec des données et spécifiez votre type de graphique comme l’un des suivants
    1. ChartType.ScatterWithMarkers - Représente un graphique dispersé.
    2. ChartType.ScatterWithSmoothLinesAndMarkers - Représente un graphique dispersé relié par des courbes, avec des marqueurs de données.
    3. ChartType.ScatterWithSmoothLines - Représente un graphique dispersé relié par des courbes, sans marqueurs de données.
    4. ChartType.ScatterWithStraightLinesAndMarkers - Représente un graphique dispersé relié par des lignes, avec des marqueurs de données.
    5. ChartType.ScatterWithStraightLines - Représente un graphique dispersé relié par des lignes, sans marqueurs de données.

Ce code Java vous montre comment créer un graphique dispersé avec une série de marqueurs différente :

// Instancie une classe de présentation qui représente un fichier PPTX
Presentation pres = new Presentation();
try {
    // Accède à la première diapositive
    ISlide slide = pres.getSlides().get_Item(0);

    // Crée le graphique par défaut
    IChart chart = slide.getShapes().addChart(ChartType.ScatterWithSmoothLines, 0, 0, 400, 400);
    
    // Obtient l'index de la feuille de données par défaut du graphique
    int defaultWorksheetIndex = 0;
    
    // Obtient la feuille de données du graphique
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
    
    // Supprime les séries de démonstration
    chart.getChartData().getSeries().clear();
    
    // Ajoute de nouvelles séries
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 1, "Série 1"), chart.getType());
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 1, 3, "Série 2"), chart.getType());
    
    // Prend la première série de graphique
    IChartSeries 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));
    
    // Change le type de la série
    series.setType(ChartType.ScatterWithStraightLinesAndMarkers);
    
    // Change le marqueur de série du graphique
    series.getMarker().setSize(10);
    series.getMarker().setSymbol(MarkerStyleType.Star);
    
    // Prend la deuxième série de graphique
    series = chart.getChartData().getSeries().get_Item(1);
    
    // Ajoute un nouveau point (5:2) là-bas
    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));
    
    // Change le marqueur de série du graphique
    series.getMarker().setSize(10);
    series.getMarker().setSymbol(MarkerStyleType.Circle);
    
    pres.save("AsposeChart_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Création de graphiques à secteurs

Les graphiques à secteurs sont mieux utilisés pour montrer la relation partie-tout dans les données, surtout lorsque les données contiennent des étiquettes catégorielles avec des valeurs numériques. Cependant, si vos données contiennent de nombreuses parties ou étiquettes, vous voudrez peut-être envisager d’utiliser un graphique à barres à la place.

Étapes: Créer un graphique à secteurs en Java | Étapes: Créer un graphique à secteurs PowerPoint en Java | Étapes: Créer un graphique à secteurs de présentation PowerPoint en Java

  1. Créez une instance de la classe Presentation.
  2. Obtenez une référence de diapositive par son index.
  3. Ajoutez un graphique avec des données par défaut ainsi que le type souhaité (dans ce cas, ChartType.Pie).
  4. Accédez aux données graphiques IChartDataWorkbook.
  5. Effacez les séries et catégories par défaut.
  6. Ajoutez de nouvelles séries et catégories.
  7. Ajoutez de nouvelles données de graphique pour les séries de graphiques.
  8. Ajoutez de nouveaux points pour les graphiques et ajoutez des couleurs personnalisées pour les secteurs du graphique à secteurs.
  9. Définissez des étiquettes pour les séries.
  10. Définissez des lignes de leader pour les étiquettes de séries.
  11. Définissez l’angle de rotation pour les diapositives de graphique à secteurs.
  12. Écrivez la présentation modifiée dans un fichier PPTX.

Ce code Java vous montre comment créer un graphique à secteurs :

// Instancie une classe de présentation qui représente un fichier PPTX
Presentation pres = new Presentation();
try {
    // Accède à la première diapositive
    ISlide slides = pres.getSlides().get_Item(0);
    
    // Ajoute un graphique avec des données par défaut
    IChart chart = slides.getShapes().addChart(ChartType.Pie, 100, 100, 400, 400);
    
    // Définit le titre du graphique
    chart.getChartTitle().addTextFrameForOverriding("Titre d'exemple");
    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 pour la feuille de données du graphique
    int defaultWorksheetIndex = 0;
    
    // Obtient la feuille de travail des données du graphique
    IChartDataWorkbook 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, "Premier Trimestre"));
    chart.getChartData().getCategories().add(fact.getCell(0, 2, 0, "2ème Trimestre"));
    chart.getChartData().getCategories().add(fact.getCell(0, 3, 0, "3ème Trimestre"));
    
    // Ajoute une nouvelle série
    IChartSeries series = chart.getChartData().getSeries().add(fact.getCell(0, 0, 1, "Série 1"), chart.getType());
    
    // Popule 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 des secteurs
    // series.IsColorVaried = true;
    chart.getChartData().getSeriesGroups().get_Item(0).setColorVaried(true);
    
    IChartDataPoint point = series.getDataPoints().get_Item(0);
    point.getFormat().getFill().setFillType(FillType.Solid);
    point.getFormat().getFill().getSolidFillColor().setColor(Color.CYAN);
	
    // Définit la bordure des secteurs
    point.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
    point.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.GRAY);
    point.getFormat().getLine().setWidth(3.0);
    point.getFormat().getLine().setStyle(LineStyle.ThinThick);
    point.getFormat().getLine().setDashStyle(LineDashStyle.DashDot);
    
    IChartDataPoint point1 = series.getDataPoints().get_Item(1);
    point1.getFormat().getFill().setFillType(FillType.Solid);
    point1.getFormat().getFill().getSolidFillColor().setColor(Color.ORANGE);
    
    // Définit la bordure des secteurs
    point1.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
    point1.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.BLUE);
    point1.getFormat().getLine().setWidth(3.0);
    point1.getFormat().getLine().setStyle(LineStyle.Single);
    point1.getFormat().getLine().setDashStyle(LineDashStyle.LargeDashDot);
    
    IChartDataPoint point2 = series.getDataPoints().get_Item(2);
    point2.getFormat().getFill().setFillType(FillType.Solid);
    point2.getFormat().getFill().getSolidFillColor().setColor(Color.YELLOW);
    
    // Définit la bordure des secteurs
    point2.getFormat().getLine().getFillFormat().setFillType(FillType.Solid);
    point2.getFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);
    point2.getFormat().getLine().setWidth(2.0);
    point2.getFormat().getLine().setStyle(LineStyle.ThinThin);
    point2.getFormat().getLine().setDashStyle(LineDashStyle.LargeDashDotDot);
    
    // Crée des étiquettes personnalisées pour chacune des catégories pour la nouvelle série
    IDataLabel lbl1 = series.getDataPoints().get_Item(0).getLabel();
    
    // lbl.ShowCategoryName = true;
    lbl1.getDataLabelFormat().setShowValue(true);
    
    IDataLabel lbl2 = series.getDataPoints().get_Item(1).getLabel();
    lbl2.getDataLabelFormat().setShowValue(true);
    lbl2.getDataLabelFormat().setShowLegendKey(true);
    lbl2.getDataLabelFormat().setShowPercentage(true);
    
    IDataLabel lbl3 = series.getDataPoints().get_Item(2).getLabel();
    lbl3.getDataLabelFormat().setShowSeriesName(true);
    lbl3.getDataLabelFormat().setShowPercentage(true);
    
    // Affiche des lignes de leader pour le graphique
    series.getLabels().getDefaultDataLabelFormat().setShowLeaderLines(true);
    
    // Définit l'angle de rotation pour les secteurs de graphique à secteurs
    chart.getChartData().getSeriesGroups().get_Item(0).setFirstSliceAngle(180);
    
    // Enregistre la présentation avec un graphique
    pres.save("PieChart_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Création de graphiques en ligne

Les graphiques en ligne (également appelés graphiques en ligne) sont mieux utilisés dans les situations où vous souhaitez montrer des changements de valeur au fil du temps. À l’aide d’un graphique en ligne, vous pouvez comparer de nombreuses données à la fois, suivre les changements et les tendances au fil du temps, mettre en évidence des anomalies dans les séries de données, etc.

  1. Créez une instance de la classe Presentation.
  2. Obtenez une référence de diapositive par son index.
  3. Ajoutez un graphique avec des données par défaut ainsi que le type souhaité (dans ce cas, ChartType.Line).
  4. Accédez aux données du graphique IChartDataWorkbook.
  5. Effacez les séries et catégories par défaut.
  6. Ajoutez de nouvelles séries et catégories.
  7. Ajoutez de nouvelles données de graphique pour les séries de graphiques.
  8. Écrivez la présentation modifiée dans un fichier PPTX.

Ce code Java vous montre comment créer un graphique en ligne :

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

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

Par défaut, les points sur un graphique en ligne sont reliés par des lignes continues droites. Si vous voulez que les points soient reliés par des tirets à la place, vous pouvez spécifier votre type de tiret préféré de cette manière :

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

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

Création de graphiques en carte thermique

Les graphiques en carte thermique sont mieux utilisés pour les données de ventes lorsque vous souhaitez montrer la taille relative des catégories de données et (en même temps) attirer rapidement l’attention sur les éléments qui contribuent considérablement à chaque catégorie.

Étapes: Créer un graphique en carte thermique en Java | Étapes: Créer un graphique en carte thermique PowerPoint en Java | Étapes: Créer un graphique en carte thermique de présentation PowerPoint en Java

  1. Créez une instance de la classe Presentation .
  2. Obtenez une référence de diapositive par son index.
  3. Ajoutez un graphique avec des données par défaut ainsi que le type souhaité (dans ce cas, ChartType.TreeMap).
  4. Accédez aux données graphiques IChartDataWorkbook.
  5. Effacez les séries et catégories par défaut.
  6. Ajoutez de nouvelles séries et catégories.
  7. Ajoutez de nouvelles données graphiques pour les séries de graphiques.
  8. Écrivez la présentation modifiée dans un fichier PPTX.

Ce code Java vous montre comment créer un graphique en carte thermique :

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

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

    //branche 1
    IChartCategory leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C1", "Feuille1"));
    leaf.getGroupingLevels().setGroupingItem(1, "Tige1");
    leaf.getGroupingLevels().setGroupingItem(2, "Branche1");

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

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

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

    //branche 2
    leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C5", "Feuille5"));
    leaf.getGroupingLevels().setGroupingItem(1, "Tige3");
    leaf.getGroupingLevels().setGroupingItem(2, "Branche2");

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

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

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

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

    series.setParentLabelLayout(ParentLabelLayoutType.Overlapping);

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

Création de graphiques boursiers

Étapes: Créer un graphique boursier en Java | Étapes: Créer un graphique boursier PowerPoint en Java | Étapes: Créer un graphique boursier de présentation PowerPoint en Java

  1. Créez une instance de la classe Presentation .
  2. Obtenez une référence de diapositive par son index.
  3. Ajoutez un graphique avec des données par défaut ainsi que le type désiré (ChartType.OpenHighLowClose).
  4. Accédez aux données graphiques IChartDataWorkbook.
  5. Effacez les séries et catégories par défaut.
  6. Ajoutez de nouvelles séries et catégories.
  7. Ajoutez de nouvelles données graphiques pour les séries de graphiques.
  8. Spécifiez le format HiLowLines.
  9. Écrivez la présentation modifiée dans un fichier PPTX.

Exemple de code Java utilisé pour créer un graphique boursier :

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.OpenHighLowClose, 50, 50, 600, 400, false);

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

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

    chart.getChartData().getCategories().add(wb.getCell(0, 1, 0, "A"));
    chart.getChartData().getCategories().add(wb.getCell(0, 2, 0, "B"));
    chart.getChartData().getCategories().add(wb.getCell(0, 3, 0, "C"));

    chart.getChartData().getSeries().add(wb.getCell(0, 0, 1, "Ouvert"), chart.getType());
    chart.getChartData().getSeries().add(wb.getCell(0, 0, 2, "Haute"), chart.getType());
    chart.getChartData().getSeries().add(wb.getCell(0, 0, 3, "Basse"), chart.getType());
    chart.getChartData().getSeries().add(wb.getCell(0, 0, 4, "Fermé"), chart.getType());

    IChartSeries series = chart.getChartData().getSeries().get_Item(0);

    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 1, 72));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 1, 25));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 1, 38));

    series = chart.getChartData().getSeries().get_Item(1);
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 2, 172));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 2, 57));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 2, 57));

    series = chart.getChartData().getSeries().get_Item(2);
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 3, 12));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 3, 12));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 3, 13));

    series = chart.getChartData().getSeries().get_Item(3);
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 4, 25));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 4, 38));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 4, 50));

    chart.getChartData().getSeriesGroups().get_Item(0).getUpDownBars().setUpDownBars(true);
    chart.getChartData().getSeriesGroups().get_Item(0).getHiLowLinesFormat().getLine().getFillFormat().setFillType(FillType.Solid);

    for (IChartSeries ser : chart.getChartData().getSeries())
    {
        ser.getFormat().getLine().getFillFormat().setFillType(FillType.NoFill);
    }

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

Création de graphiques boîte et moustache

Étapes: Créer un graphique boîte et moustache en Java | Étapes: Créer un graphique boîte et moustache PowerPoint en Java | Étapes: Créer un graphique boîte et moustache de présentation PowerPoint en Java

  1. Créez une instance de la classe Presentation .
  2. Obtenez une référence de diapositive par son index.
  3. Ajoutez un graphique avec des données par défaut ainsi que le type (ChartType.BoxAndWhisker).
  4. Accédez aux données graphiques IChartDataWorkbook.
  5. Effacez les séries et catégories par défaut.
  6. Ajoutez de nouvelles séries et catégories.
  7. Ajoutez de nouvelles données graphiques pour les séries de graphiques.
  8. Écrivez la présentation modifiée dans un fichier PPTX.

Ce code Java vous montre comment créer un graphique boîte et moustache :

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

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

    chart.getChartData().getCategories().add(wb.getCell(0, "B1", "Catégorie 1"));
    chart.getChartData().getCategories().add(wb.getCell(0, "B2", "Catégorie 2"));
    chart.getChartData().getCategories().add(wb.getCell(0, "B3", "Catégorie 3"));
    chart.getChartData().getCategories().add(wb.getCell(0, "B4", "Catégorie 4"));
    chart.getChartData().getCategories().add(wb.getCell(0, "B5", "Catégorie 5"));
    chart.getChartData().getCategories().add(wb.getCell(0, "B6", "Catégorie 6"));

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

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

    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "C1", 15));
    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "C2", 41));
    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "C3", 16));
    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "C4", 10));
    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "C5", 23));
    series.getDataPoints().addDataPointForBoxAndWhiskerSeries(wb.getCell(0, "C6", 16));

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

Création de graphiques en entonnoir

Étapes: Créer un graphique en entonnoir en Java | Étapes: Créer un graphique en entonnoir PowerPoint en Java | Étapes: Créer un graphique en entonnoir de présentation PowerPoint en Java

  1. Créez une instance de la classe Presentation .
  2. Obtenez une référence de diapositive par son index.
  3. Ajoutez un graphique avec des données par défaut ainsi que le type (ChartType.Funnel).
  4. Écrivez la présentation modifiée dans un fichier PPTX.

Le code Java vous montre comment créer un graphique en entonnoir :

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

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

    wb.clear(0);

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

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

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

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

Création de graphiques en soleil

Étapes: Créer un graphique en soleil en Java | Étapes: Créer un graphique en soleil PowerPoint en Java | Étapes: Créer un graphique en soleil de présentation PowerPoint en Java

  1. Créez une instance de la classe Presentation .
  2. Obtenez une référence de diapositive par son index.
  3. Ajoutez un graphique avec des données par défaut ainsi que le type souhaité (dans ce cas, ChartType.sunburst).
  4. Écrivez la présentation modifiée dans un fichier PPTX.

Ce code Java vous montre comment créer un graphique en soleil :

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

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

    //branche 1
    IChartCategory leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C1", "Feuille1"));
    leaf.getGroupingLevels().setGroupingItem(1, "Tige1");
    leaf.getGroupingLevels().setGroupingItem(2, "Branche1");

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

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

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

    //branche 2
    leaf = chart.getChartData().getCategories().add(wb.getCell(0, "C5", "Feuille5"));
    leaf.getGroupingLevels().setGroupingItem(1, "Tige3");
    leaf.getGroupingLevels().setGroupingItem(2, "Branche2");

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

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

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

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

Création de graphiques histogrammes

Étapes: Créer un graphique histogramme en Java | Étapes: Créer un graphique histogramme PowerPoint en Java | Étapes: Créer un graphique histogramme de présentation PowerPoint en Java

  1. Créez une instance de la classe Presentation .
  2. Obtenez une référence de diapositive par son index.
  3. Ajoutez un graphique avec des données par défaut ainsi que le type (ChartType.Histogram).
  4. Accédez aux données graphiques IChartDataWorkbook.
  5. Effacez les séries et catégories par défaut.
  6. Ajoutez de nouvelles séries et catégories.
  7. Écrivez la présentation modifiée dans un fichier PPTX.

Ce code Java vous montre comment créer un graphique histogramme :

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

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

    IChartSeries series = chart.getChartData().getSeries().add(ChartType.Histogram);
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A1", 15));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A2", -41));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A3", 16));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A4", 10));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A5", -23));
    series.getDataPoints().addDataPointForHistogramSeries(wb.getCell(0, "A6", 16));

    chart.getAxes().getHorizontalAxis().setAggregationType(AxisAggregationType.Automatic);

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

Création de graphiques radar

Étapes: Créer un graphique radar en Java | Étapes: Créer un graphique radar PowerPoint en Java | Étapes: Créer un graphique radar de présentation PowerPoint en Java

  1. Créez une instance de la classe Presentation .
  2. Obtenez une référence de diapositive par son index.
  3. Ajoutez un graphique avec des données et spécifiez votre type de graphique préféré (ChartType.Radar dans ce cas).
  4. Écrivez la présentation modifiée dans un fichier PPTX.

Ce code Java vous montre comment créer un graphique radar :

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

Création de graphiques multi-catégorie

Étapes: Créer un graphique multi-catégorie en Java | Étapes: Créer un graphique multi-catégorie PowerPoint en Java | Étapes: Créer un graphique multi-catégorie de présentation PowerPoint en Java

  1. Créez une instance de la classe Presentation .
  2. Obtenez une référence de diapositive par son index.
  3. Ajoutez un graphique avec des données par défaut ainsi que le type (ChartType.ClusteredColumn).
  4. Accédez aux données graphiques IChartDataWorkbook.
  5. Effacez les séries et catégories par défaut.
  6. Ajoutez de nouvelles séries et catégories.
  7. Ajoutez de nouvelles données graphiques pour les séries de graphiques.
  8. Écrivez la présentation modifiée dans un fichier PPTX.

Ce code Java vous montre comment créer un graphique multi-catégorie :

Presentation pres = new Presentation();
try {
    IChart ch = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 600, 450);
    ch.getChartData().getSeries().clear();
    ch.getChartData().getCategories().clear();
    
    IChartDataWorkbook fact = ch.getChartData().getChartDataWorkbook();
    fact.clear(0);
    int defaultWorksheetIndex = 0;

    IChartCategory category = ch.getChartData().getCategories().add(fact.getCell(0, "c2", "A"));
    category.getGroupingLevels().setGroupingItem(1, "Groupe1");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c3", "B"));

    category = ch.getChartData().getCategories().add(fact.getCell(0, "c4", "C"));
    category.getGroupingLevels().setGroupingItem(1, "Groupe2");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c5", "D"));

    category = ch.getChartData().getCategories().add(fact.getCell(0, "c6", "E"));
    category.getGroupingLevels().setGroupingItem(1, "Groupe3");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c7", "F"));

    category = ch.getChartData().getCategories().add(fact.getCell(0, "c8", "G"));
    category.getGroupingLevels().setGroupingItem(1, "Groupe4");
    category = ch.getChartData().getCategories().add(fact.getCell(0, "c9", "H"));

    // Ajout de séries
    IChartSeries series = ch.getChartData().getSeries().add(fact.getCell(0, "D1", "Série 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));
    
    // Enregistre la présentation avec le graphique
    pres.save("AsposeChart_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Création de graphiques de carte

Un graphique de carte est une visualisation d’une zone contenant des données. Les graphiques de carte sont mieux utilisés pour comparer des données ou des valeurs à travers des régions géographiques.

Étapes: Créer un graphique de carte en Java | Étapes: Créer un graphique de carte PowerPoint en Java | Étapes: Créer un graphique de carte de présentation PowerPoint en Java

Ce code Java vous montre comment créer un graphique de carte :

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

Création de graphiques combinés

Un graphique combiné (ou graphique combo) est un graphique qui combine deux ou plusieurs graphiques sur un seul graphique. Ce type de graphique vous permet de mettre en évidence, comparer ou examiner les différences entre deux (ou plusieurs) ensembles de données. De cette manière, vous pouvez voir la relation (le cas échéant) entre les ensembles de données.

combination-chart-ppt

Ce code Java vous montre comment créer un graphique combiné dans PowerPoint :

private static void createComboChart()
{
    Presentation pres = new Presentation();
    {
        IChart chart = createChart(pres.getSlides().get_Item(0));
        addFirstSeriesToChart(chart);
        addSecondSeriesToChart(chart);
        pres.save("combo-chart.pptx", SaveFormat.Pptx);
    }
}

private static IChart createChart(ISlide slide)
{
    IChart chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 500, 400);
    chart.getChartData().getSeries().clear();
    chart.getChartData().getCategories().clear();

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

    chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Série 1"), chart.getType());
    chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 2, "Série 2"), chart.getType());

    chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "Catégorie 1"));
    chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Catégorie 2"));
    chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Catégorie 3"));

    IChartSeries series = chart.getChartData().getSeries().get_Item(0);

    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 20));
    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 50));
    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 30));
    
    series = chart.getChartData().getSeries().get_Item(1);

    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 2, 30));
    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 2, 10));
    series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 2, 60));

    return chart;
}

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

    IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 3, "Série 3"), ChartType.ScatterWithSmoothLines);

    series.getDataPoints().addDataPointForScatterSeries(
            workbook.getCell(worksheetIndex, 1, 1, 3),
            workbook.getCell(worksheetIndex, 1, 2, 5));

    series.getDataPoints().addDataPointForScatterSeries(
            workbook.getCell(worksheetIndex, 1, 3, 10),
            workbook.getCell(worksheetIndex, 1, 4, 13));

    series.getDataPoints().addDataPointForScatterSeries(
            workbook.getCell(worksheetIndex, 2, 3, 20),
            workbook.getCell(worksheetIndex, 2, 4, 15));

    series.setPlotOnSecondAxis(true);
}

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

    IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 5, "Série 4"),
            ChartType.ScatterWithStraightLinesAndMarkers);

    series.getDataPoints().addDataPointForScatterSeries(
            workbook.getCell(worksheetIndex, 1, 3, 5),
            workbook.getCell(worksheetIndex, 1, 4, 2));

    series.getDataPoints().addDataPointForScatterSeries(
            workbook.getCell(worksheetIndex, 1, 5, 10),
            workbook.getCell(worksheetIndex, 1, 6, 7));

    series.getDataPoints().addDataPointForScatterSeries(
            workbook.getCell(worksheetIndex, 2, 5, 15),
            workbook.getCell(worksheetIndex, 2, 6, 12));

    series.getDataPoints().addDataPointForScatterSeries(
            workbook.getCell(worksheetIndex, 3, 5, 12),
            workbook.getCell(worksheetIndex, 3, 6, 9));

    series.setPlotOnSecondAxis(true);
}

Mise à jour des graphiques

Étapes: Mettre à jour un graphique PowerPoint en Java | Étapes: Mettre à jour le graphique de présentation en Java | Étapes: Mettre à jour le graphique de présentation PowerPoint en Java

  1. Instanciez une classe Presentation qui représente la présentation contenant le graphique que vous souhaitez mettre à jour.
  2. Obtenez la référence d’une diapositive en utilisant son index.
  3. Parcourez toutes les formes pour trouver le graphique souhaité.
  4. Accédez à la feuille de données du graphique.
  5. Modifiez les données de la série du graphique en changeant les valeurs des séries.
  6. Ajoutez une nouvelle série et remplissez les données.
  7. Écrivez la présentation modifiée en tant que fichier PPTX.

Ce code Java vous montre comment mettre à jour un graphique :

Presentation pres = new Presentation();
try {
    // Accède à la première diapositive
    ISlide sld = pres.getSlides().get_Item(0);

    // Obtenez le graphique avec des données par défaut
    IChart chart = (IChart)sld.getShapes().get_Item(0);

    // Définir l'index de la feuille de données du graphique
    int defaultWorksheetIndex = 0;

    // Obtenir la feuille de travail des données du graphique
    IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();

    // Changer le nom de la catégorie du graphique
    fact.getCell(defaultWorksheetIndex, 1, 0, "Catégorie modifiée 1");
    fact.getCell(defaultWorksheetIndex, 2, 0, "Catégorie modifiée 2");

    // Prenez la première série de graphique
    IChartSeries series = chart.getChartData().getSeries().get_Item(0);

    // Maintenant, mettez à jour les données de la série
    fact.getCell(defaultWorksheetIndex, 0, 1, "Nouvelle_Série1");// Modifier le 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);

    // Prenez la deuxième série de graphique
    series = chart.getChartData().getSeries().get_Item(1);

    // Maintenant, mettez à jour les données de la série
    fact.getCell(defaultWorksheetIndex, 0, 2, "Nouvelle_Série2");// Modifier le 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);

    // Maintenant, Ajouter une nouvelle série
    chart.getChartData().getSeries().add(fact.getCell(defaultWorksheetIndex, 0, 3, "Série 3"), chart.getType());

    // Prenez la 3ème série de graphique
    series = chart.getChartData().getSeries().get_Item(2);

    // Maintenant, peuplez les 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);

    // Enregistre la présentation avec le graphique
    pres.save("AsposeChartModified_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Définir la plage de données pour les graphiques

Pour définir la plage de données d’un graphique, procédez comme suit :

  1. Instanciez une classe Presentation qui représente la présentation contenant le graphique.
  2. Obtenez une référence de diapositive par son index.
  3. Parcourez toutes les formes pour trouver le graphique souhaité.
  4. Accédez aux données graphiques et définissez la plage.
  5. Enregistrez la présentation modifiée sous forme de fichier PPTX.

Ce code Java vous montre comment définir la plage de données pour un graphique :

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

Utilisation de marqueurs par défaut dans les graphiques

Lorsque vous utilisez un marqueur par défaut dans les graphiques, chaque série de graphiques obtient automatiquement des symboles de marqueurs par défaut différents.

Ce code Java vous montre comment définir un marqueur de série de graphique automatiquement :

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

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

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

    chart.getChartData().getCategories().add(fact.getCell(0, 1, 0, "C1"));
    series.getDataPoints().addDataPointForLineSeries(fact.getCell(0, 1, 1, 24));
    chart.getChartData().getCategories().add