Gérer les séries de données de graphique dans les présentations avec Java
Une série est une ligne ou une colonne de nombres tracée dans un graphique.

Définir le chevauchement des séries du graphique
Avec la propriété IChartSeriesOverlap vous pouvez spécifier le degré de chevauchement des barres et des colonnes sur un graphique 2D (plage : -100 à 100). Cette propriété s’applique à toutes les séries du groupe de séries parent : il s’agit d’une projection de la propriété du groupe correspondant. Par conséquent, cette propriété est en lecture seule.
Utilisez la propriété en lecture/écriture ParentSeriesGroup.Overlap pour définir la valeur souhaitée pour Overlap.
- Créez une instance de la classe Presentation.
- Ajoutez un graphique à colonnes groupées sur une diapositive.
- Accédez à la première série du graphique.
- Accédez à
ParentSeriesGroupde la série et définissez la valeur de chevauchement souhaitée pour la série. - Enregistrez la présentation modifiée dans un fichier PPTX.
Ce code Java montre comment définir le chevauchement d’une série de graphique :
Presentation pres = new Presentation();
try {
// Ajoute le graphique
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400, true);
IChartSeriesCollection series = chart.getChartData().getSeries();
if (series.get_Item(0).getOverlap() == 0)
{
// Définit le chevauchement des séries
series.get_Item(0).getParentSeriesGroup().setOverlap((byte)-30);
}
// Enregistre le fichier de présentation sur le disque
pres.save("SetChartSeriesOverlap_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Modifier la couleur de la série
Aspose.Slides for Java vous permet de modifier la couleur d’une série de la façon suivante :
- Créez une instance de la classe Presentation.
- Ajoutez un graphique sur la diapositive.
- Accédez à la série dont vous souhaitez changer la couleur.
- Définissez le type de remplissage et la couleur de remplissage souhaités.
- Enregistrez la présentation modifiée.
Ce code Java montre comment changer la couleur d’une série :
Presentation pres = new Presentation("test.pptx");
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Pie, 50, 50, 600, 400);
IChartDataPoint point = chart.getChartData().getSeries().get_Item(0).getDataPoints().get_Item(1);
point.setExplosion(30);
point.getFormat().getFill().setFillType(FillType.Solid);
point.getFormat().getFill().getSolidFillColor().setColor(Color.BLUE);
pres.save("output.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Modifier la couleur de la catégorie de série
Aspose.Slides for Java vous permet de modifier la couleur d’une catégorie de série de la façon suivante :
- Créez une instance de la classe Presentation.
- Ajoutez un graphique sur la diapositive.
- Accédez à la catégorie de série dont vous souhaitez changer la couleur.
- Définissez le type de remplissage et la couleur de remplissage souhaités.
- Enregistrez la présentation modifiée.
Ce code Java montre comment modifier la couleur d’une catégorie de série :
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400);
IChartDataPoint point = chart.getChartData().getSeries().get_Item(0).getDataPoints().get_Item(0);
point.getFormat().getFill().setFillType(FillType.Solid);
point.getFormat().getFill().getSolidFillColor().setColor(Color.BLUE);
pres.save("output.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Modifier le nom de la série
Par défaut, les noms de légende d’un graphique proviennent du contenu des cellules situées au-dessus de chaque colonne ou ligne de données.
Dans notre exemple (image d’illustration),
- les colonnes sont Series 1, Series 2, et Series 3 ;
- les lignes sont Category 1, Category 2, Category 3, et Category 4.
Aspose.Slides for Java vous permet de mettre à jour ou de changer le nom d’une série dans les données du graphique et dans la légende.
Ce code Java montre comment changer le nom d’une série dans ses données de graphique ChartDataWorkbook :
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Column3D, 50, 50, 600, 400, true);
IChartDataCell seriesCell = chart.getChartData().getChartDataWorkbook().getCell(0, 0, 1);
seriesCell.setValue("New name");
pres.save("pres.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Ce code Java montre comment changer le nom d’une série dans sa légende viaSeries :
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Column3D, 50, 50, 600, 400, true);
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
IStringChartValue name = series.getName();
name.getAsCells().get_Item(0).setValue("New name");
} finally {
if (pres != null) pres.dispose();
}
Définir la couleur de remplissage de la série du graphique
Aspose.Slides for Java vous permet de définir la couleur de remplissage automatique des séries de graphique à l’intérieur d’une zone de tracé de la façon suivante :
- Créez une instance de la classe Presentation.
- Obtenez la référence d’une diapositive par son indice.
- Ajoutez un graphique avec des données par défaut selon le type souhaité (dans l’exemple ci‑dessous, nous avons utilisé
ChartType.ClusteredColumn). - Accédez aux séries du graphique et définissez la couleur de remplissage sur Automatic.
- Enregistrez la présentation dans un fichier PPTX.
Ce code Java montre comment définir la couleur de remplissage automatique d’une série de graphique :
Presentation pres = new Presentation();
try {
// Crée un graphique à colonnes groupées
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 50, 600, 400);
// Définit le format de remplissage des séries sur automatique
for (int i = 0; i < chart.getChartData().getSeries().size(); i++)
{
chart.getChartData().getSeries().get_Item(i).getAutomaticSeriesColor();
}
// Enregistre le fichier de présentation sur le disque
pres.save("AutoFillSeries_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Définir la couleur de remplissage inversée pour une série de graphique
Aspose.Slides vous permet de définir la couleur de remplissage inversée des séries de graphique à l’intérieur d’une zone de tracé de la façon suivante :
- Créez une instance de la classe Presentation.
- Obtenez la référence d’une diapositive par son indice.
- Ajoutez un graphique avec des données par défaut selon le type souhaité (dans l’exemple ci‑dessous, nous avons utilisé
ChartType.ClusteredColumn). - Accédez aux séries du graphique et définissez la couleur de remplissage sur invert.
- Enregistrez la présentation dans un fichier PPTX.
Ce code Java démontre l’opération :
Color inverColor = Color.RED;
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 400, 300);
IChartDataWorkbook workBook = chart.getChartData().getChartDataWorkbook();
chart.getChartData().getSeries().clear();
chart.getChartData().getCategories().clear();
// Ajoute de nouvelles séries et catégories
chart.getChartData().getSeries().add(workBook.getCell(0, 0, 1, "Series 1"), chart.getType());
chart.getChartData().getCategories().add(workBook.getCell(0, 1, 0, "Category 1"));
chart.getChartData().getCategories().add(workBook.getCell(0, 2, 0, "Category 2"));
chart.getChartData().getCategories().add(workBook.getCell(0, 3, 0, "Category 3"));
// Prend la première série du graphique et remplit ses données
IChartSeries series = chart.getChartData().getSeries().get_Item(0);
series.getDataPoints().addDataPointForBarSeries(workBook.getCell(0, 1, 1, -20));
series.getDataPoints().addDataPointForBarSeries(workBook.getCell(0, 2, 1, 50));
series.getDataPoints().addDataPointForBarSeries(workBook.getCell(0, 3, 1, -30));
Color seriesColor = series.getAutomaticSeriesColor();
series.setInvertIfNegative(true);
series.getFormat().getFill().setFillType(FillType.Solid);
series.getFormat().getFill().getSolidFillColor().setColor(seriesColor);
series.getInvertedSolidFillColor().setColor(inverColor);
pres.save("SetInvertFillColorChart_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Définir une série pour inverser lorsque la valeur est négative
Aspose.Slides vous permet de définir l’inversion via les propriétés IChartDataPoint.InvertIfNegative et ChartDataPoint.InvertIfNegative. Lorsque l’inversion est définie à l’aide de ces propriétés, le point de données inverse ses couleurs lorsqu’il reçoit une valeur négative.
Ce code Java démontre l’opération :
Presentation pres = new Presentation();
try {
IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400, true);
IChartSeriesCollection series = chart.getChartData().getSeries();
chart.getChartData().getSeries().clear();
IChartSeries chartSeries = series.add(chart.getChartData().getChartDataWorkbook().getCell(0, "B1"), chart.getType());
chartSeries.getDataPoints().addDataPointForBarSeries(chart.getChartData().getChartDataWorkbook().getCell(0, "B2", -5));
chartSeries.getDataPoints().addDataPointForBarSeries(chart.getChartData().getChartDataWorkbook().getCell(0, "B3", 3));
chartSeries.getDataPoints().addDataPointForBarSeries(chart.getChartData().getChartDataWorkbook().getCell(0, "B4", -2));
chartSeries.getDataPoints().addDataPointForBarSeries(chart.getChartData().getChartDataWorkbook().getCell(0, "B5", 1));
chartSeries.setInvertIfNegative(false);
chartSeries.getDataPoints().get_Item(2).setInvertIfNegative(true);
pres.save("out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Effacer les données de points spécifiques
Aspose.Slides for Java vous permet d’effacer les données DataPoints d’une série de graphique spécifique de la façon suivante :
- Créez une instance de la classe Presentation.
- Obtenez la référence d’une diapositive par son indice.
- Obtenez la référence d’un graphique par son indice.
- Parcourez tous les
DataPointsdu graphique et définissezXValueetYValuesur null. - Effacez tous les
DataPointsde la série de graphique spécifiée. - Enregistrez la présentation modifiée dans un fichier PPTX.
Ce code Java démontre l’opération :
Presentation pres = new Presentation("TestChart.pptx");
try {
ISlide sl = pres.getSlides().get_Item(0);
IChart chart = (IChart)sl.getShapes().get_Item(0);
for (IChartDataPoint dataPoint : chart.getChartData().getSeries().get_Item(0).getDataPoints())
{
dataPoint.getXValue().getAsCell().setValue(null);
dataPoint.getYValue().getAsCell().setValue(null);
}
chart.getChartData().getSeries().get_Item(0).getDataPoints().clear();
pres.save("ClearSpecificChartSeriesDataPointsData.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Définir la largeur d’écartement de la série
Aspose.Slides for Java vous permet de définir la largeur d’écartement d’une série via la propriété GapWidth de la façon suivante :
- Créez une instance de la classe Presentation.
- Accédez à la première diapositive.
- Ajoutez un graphique avec des données par défaut.
- Accédez à n’importe quelle série du graphique.
- Définissez la propriété
GapWidth. - Enregistrez la présentation modifiée dans un fichier PPTX.
Ce code Java montre comment définir la largeur d’écartement d’une série :
// Crée une présentation vide
Presentation pres = new Presentation();
try {
// Accède à la première diapositive de la présentation
ISlide slide = pres.getSlides().get_Item(0);
// Ajoute un graphique avec des données par défaut
IChart chart = slide.getShapes().addChart(ChartType.StackedColumn, 0, 0, 500, 500);
// Définit l'indice de la feuille de données du graphique
int defaultWorksheetIndex = 0;
// Obtient la feuille de calcul des données du graphique
IChartDataWorkbook fact = chart.getChartData().getChartDataWorkbook();
// Ajoute des 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 des 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"));
// Prenez la deuxième série du graphique
IChartSeries series = chart.getChartData().getSeries().get_Item(1);
// 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));
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 valeur de GapWidth
series.getParentSeriesGroup().setGapWidth(50);
// Enregistre la présentation sur le disque
pres.save("GapWidth_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
FAQ
Existe-t-il une limite au nombre de séries qu’un seul graphique peut contenir ?
Aspose.Slides n’impose aucune limite fixe au nombre de séries que vous ajoutez. La contrainte pratique dépend de la lisibilité du graphique et de la mémoire disponible pour votre application.
Que faire si les colonnes d’un groupe sont trop proches ou trop éloignées ?
Ajustez le paramètre GapWidth pour cette série (ou son groupe de séries parent). Augmenter la valeur élargit l’espace entre les colonnes, tandis que la diminuer les rapproche.