Les graphiques circulaires sont un outil graphique populaire dans Excel. Les graphiques circulaires vous permettent de visualiser les proportions globales de chaque composant directement dans un graphique, ce qui vous aide à analyser et à comprendre les données abstraites plus rapidement et de manière intuitive. Le graphique en anneau est une variante du graphique circulaire. Visuellement, le graphique en anneau supprime la partie centrale, mais sa fonction principale est d'interpréter la relation de rapport entre les données. Cet article vous montrera comment utiliser Free Spire.XLS pour Java pour créer des graphiques en cercle et en anneau dans votre document Excel via du code.
** Configuration de l'environnement: ** ** 1. ** Free Spire.XLS pour Java Téléchargez le package, décompressez-le et dans le dossier lib Importez le package Spire.Xls.jar dans votre application Java en tant que dépendance.
** 2. ** Vous pouvez également installer le package JAR directement à partir du référentiel Maven Le code qui compose le fichier pom.xml est:
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls.free</artifactId>
<version>2.2.0</version>
</dependency>
</dependencies>
diagramme circulaire:
import com.spire.xls.*;
import com.spire.xls.charts.ChartSerie;
import java.awt.*;
public class CreatePieChart {
public static void main(String[] args) {
//Créer un objet Workbook
Workbook workbook = new Workbook();
//Obtenez la première feuille de calcul
Worksheet sheet = workbook.getWorksheets().get(0);
//Écrire des données sur la feuille de calcul
sheet.getCellRange("A1").setValue("Année");
sheet.getCellRange("A2").setValue("2002");
sheet.getCellRange("A3").setValue("2003");
sheet.getCellRange("A4").setValue("2004");
sheet.getCellRange("A5").setValue("2005");
sheet.getCellRange("B1").setValue("montant des ventes");
sheet.getCellRange("B2").setNumberValue(4000);
sheet.getCellRange("B3").setNumberValue(6000);
sheet.getCellRange("B4").setNumberValue(7000);
sheet.getCellRange("B5").setNumberValue(8500);
//Définir le style de cellule
sheet.getCellRange("A1:B1").setRowHeight(15);
sheet.getCellRange("A1:B1").getCellStyle().setColor(Color.darkGray);
sheet.getCellRange("A1:B1").getCellStyle().getExcelFont().setColor(Color.white);
sheet.getCellRange("A1:B1").getCellStyle().setVerticalAlignment(VerticalAlignType.Center);
sheet.getCellRange("A1:B1").getCellStyle().setHorizontalAlignment(HorizontalAlignType.Center);
sheet.getCellRange("B2:C5").getCellStyle().setNumberFormat("\"$\"#,##0");
//Graphique circulaire ajouté
Chart chart = sheet.getCharts().add(ExcelChartType.Pie);
//Définir la zone de données du graphique
chart.setDataRange(sheet.getCellRange("B2:B5"));
chart.setSeriesDataFromRange(false);
//Définir la position du graphique
chart.setLeftColumn(3);
chart.setTopRow(1);
chart.setRightColumn(11);
chart.setBottomRow(20);
//Définir le titre du graphique
chart.setChartTitle("Chiffre d'affaires annuel");
chart.getChartTitleArea().isBold(true);
chart.getChartTitleArea().setSize(12);
//Paramètres d'étiquette de série
ChartSerie cs = chart.getSeries().get(0);
cs.setCategoryLabels(sheet.getCellRange("A2:A5"));
cs.setValues(sheet.getCellRange("B2:B5"));
cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
chart.getPlotArea().getFill().setVisible(false);
//Sauvegarder le document
workbook.saveToFile("piechart.xlsx", ExcelVersion.Version2016);
}
}
** Graphique en anneau: **
import com.spire.xls.*;
import com.spire.xls.charts.ChartSerie;
import com.spire.xls.charts.ChartSeries;
import java.awt.*;
public class CreateDoughnutChart {
public static void main(String[] args) {
//Créer un objet Workbook
Workbook workbook = new Workbook();
//Obtenez la première feuille de calcul
Worksheet sheet = workbook.getWorksheets().get(0);
//Écrire des données sur la feuille de calcul
sheet.getCellRange("A1").setValue("Pays");
sheet.getCellRange("A2").setValue("Cuba");
sheet.getCellRange("A3").setValue("Mexique");
sheet.getCellRange("A4").setValue("Allemagne");
sheet.getCellRange("A5").setValue("Thaïlande");
sheet.getCellRange("B1").setValue("montant des ventes");
sheet.getCellRange("B2").setNumberValue(6000);
sheet.getCellRange("B3").setNumberValue(8000);
sheet.getCellRange("B4").setNumberValue(9000);
sheet.getCellRange("B5").setNumberValue(8500);
//Définir le style de cellule
sheet.getCellRange("A1:B1").setRowHeight(15);
sheet.getCellRange("A1:B1").getCellStyle().setColor(Color.darkGray);
sheet.getCellRange("A1:B1").getCellStyle().getExcelFont().setColor(Color.white);
sheet.getCellRange("A1:B1").getCellStyle().setVerticalAlignment(VerticalAlignType.Center);
sheet.getCellRange("A1:B1").getCellStyle().setHorizontalAlignment(HorizontalAlignType.Center);
sheet.getCellRange("B2:C5").getCellStyle().setNumberFormat("\"$\"#,##0");
//Graphique circulaire ajouté
Chart chart = sheet.getCharts().add(ExcelChartType.Doughnut);
//Définir la zone de données du graphique
chart.setDataRange(sheet.getCellRange("A1:B5"));
chart.setSeriesDataFromRange(false);
//Définir la position du graphique
chart.setLeftColumn(3);
chart.setTopRow(1);
chart.setRightColumn(11);
chart.setBottomRow(20);
//Définir le titre du graphique
chart.setChartTitle("part de marché");
chart.getChartTitleArea().isBold(true);
chart.getChartTitleArea().setSize(12);
//Définir la couleur de la série
ChartSeries series = chart.getSeries();
for (int i = 0 ; i < series.size() ; i++) {
ChartSerie cs = series.get(i);
cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasPercentage(true);
}
//Définir la position de la légende
chart.getLegend().setPosition(LegendPositionType.Top);
//Sauvegarder le document
workbook.saveToFile("doughnutchart.xlsx", ExcelVersion.Version2016);
}
}
Recommended Posts