Круговая диаграмма, также известная как круговая диаграмма, позволяет непосредственно построить график общих пропорций каждого компонента. Круговая диаграмма помогает быстрее и интуитивно понятнее анализировать абстрактные данные. В этой статье будет показано, как создать круговую диаграмму в Excel в Java-приложениях с помощью Spire.XLS for Java.
- Создание круговой диаграммы
- Создать круговую диаграмму со взрывом
- Создание круговой диаграммы с одним взорванным фрагментом
- Создание диаграммы «Пончик
Установка Spire.XLS for Java
Сначала вам необходимо добавить файл Spire.Xls.jar в качестве зависимости в вашу программу на Java. JAR-файл можно загрузить по этой ссылке. Если вы используете Maven, вы можете легко импортировать JAR-файл в свое приложение, добавив следующий код в файл pom.xml вашего проекта.
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls</artifactId>
<version>12.7.0</version>
</dependency>
</dependencies>
Создание круговой диаграммы
Круговая диаграмма — это обычная круговая диаграмма, которая используется для отображения одного ряда данных в структуре типа круга, где каждый сектор представляет отдельную категорию. Spire.XLS for Java предлагает метод Worksheet.getCharts().add(ExcelChartType.Pie) для добавления круговой диаграммы на рабочий лист Excel.
- Создайте экземпляр рабочей книги.
- Получите указанный рабочий лист с помощью метода Workbook.getWorksheets().get(sheetIndex).
- Добавьте некоторые данные в рабочий лист и установите значения, стили и формат чисел для ячеек Excel.
- Добавьте круговую диаграмму на рабочий лист с помощью метода Worksheet.getCharts().add(ExcelChartType.Pie).
- Установите диапазон данных для диаграммы с помощью метода Chart.setDataRange().
- Установите позицию и заголовок для диаграммы.
- Сохраните документ в файл с помощью метода Workbook.saveToFile().
import com.spire.xls.*;
import com.spire.xls.charts.ChartSerie;
import java.awt.*;
public class pieChart {
public static void main(String[] args) throws Exception {
//create a Workbook
Workbook workbook = new Workbook();
//get the first sheet and set its name
Worksheet sheet = workbook.getWorksheets().get(0);
sheet.setName("Pie Chart");
//set value of specified cell
sheet.getCellRange("A1").setValue("System");
sheet.getCellRange("A2").setValue("Linux");
sheet.getCellRange("A3").setValue("Mac OS");
sheet.getCellRange("A4").setValue("Windows");
sheet.getCellRange("A5").setValue("Unix");
sheet.getCellRange("B1").setValue("Users");
sheet.getCellRange("B2").setNumberValue(0.08);
sheet.getCellRange("B3").setNumberValue(0.15);
sheet.getCellRange("B4").setNumberValue(0.75);
sheet.getCellRange("B5").setNumberValue(0.02);
//set style of cells
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);
//Set number format of cells
sheet.getCellRange("B2:C5").getCellStyle().setNumberFormat("0%");
//Add a pie chart
Chart piechart = sheet.getCharts().add(ExcelChartType.Pie);
//Set data range for the chart
piechart.setDataRange(sheet.getCellRange("B2:B5"));
piechart.setSeriesDataFromRange(false);
//Set position of the chart
piechart.setLeftColumn(4);
piechart.setTopRow(1);
piechart.setRightColumn(10);
piechart.setBottomRow(20);
//Set and format chart title
piechart.setChartTitle("Users of System");
piechart.getChartTitleArea().isBold(true);
piechart.getChartTitleArea().setSize(12);
ChartSerie cs = piechart.getSeries().get(0);
cs.setCategoryLabels(sheet.getCellRange("A2:A5"));
cs.setValues(sheet.getCellRange("B2:B5"));
cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
piechart.getPlotArea().getFill().setVisible(false);
//Save the result file
workbook.saveToFile("PieChart.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
Создание покомпонентной круговой диаграммы.
Ниже перечислены основные шаги по созданию покомпонентной круговой диаграммы. Взрывная круговая диаграмма используется для того, чтобы вытащить все срезы из круговой диаграммы и просмотреть сектора отдельно по частям.
- Создайте экземпляр рабочей книги.
- Получите указанный рабочий лист с помощью метода Workbook.getWorksheets().get(sheetIndex).
- Добавьте некоторые данные в рабочий лист и установите значения, стили и формат чисел ячеек Excel.
- Добавьте на рабочий лист взорванную круговую диаграмму с помощью метода Worksheet.getCharts().add(ExcelChartType.PieExploded).
- Установите диапазон данных для диаграммы с помощью метода Chart.setDataRange().
- Установите позицию и заголовок для диаграммы.
- Сохраните документ в файл с помощью метода Workbook.saveToFile().
import com.spire.xls.*;
import com.spire.xls.charts.ChartSerie;
import java.awt.*;
public class pieExplodedchart {
public static void main(String[] args) throws Exception {
//create a Workbook
Workbook workbook = new Workbook();
//get the first sheet and set its name
Worksheet sheet = workbook.getWorksheets().get(0);
sheet.setName("Pie Chart");
//set value of specified cell
sheet.getCellRange("A1").setValue("System");
sheet.getCellRange("A2").setValue("Linux");
sheet.getCellRange("A3").setValue("Mac OS");
sheet.getCellRange("A4").setValue("Windows");
sheet.getCellRange("A5").setValue("Unix");
sheet.getCellRange("B1").setValue("Users");
sheet.getCellRange("B2").setNumberValue(0.08);
sheet.getCellRange("B3").setNumberValue(0.15);
sheet.getCellRange("B4").setNumberValue(0.75);
sheet.getCellRange("B5").setNumberValue(0.02);
//set style of cells
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);
//Set number format of cells
sheet.getCellRange("B2:C5").getCellStyle().setNumberFormat("0%");
//Add a pie chart
Chart piechart = sheet.getCharts().add(ExcelChartType.PieExploded);
//Set data range for the chart
piechart.setDataRange(sheet.getCellRange("B2:B5"));
piechart.setSeriesDataFromRange(false);
//Set position of the chart
piechart.setLeftColumn(4);
piechart.setTopRow(1);
piechart.setRightColumn(10);
piechart.setBottomRow(20);
//Set and format chart title
piechart.setChartTitle("Users of System");
piechart.getChartTitleArea().isBold(true);
piechart.getChartTitleArea().setSize(12);
ChartSerie cs = piechart.getSeries().get(0);
cs.setCategoryLabels(sheet.getCellRange("A2:A5"));
cs.setValues(sheet.getCellRange("B2:B5"));
cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
piechart.getPlotArea().getFill().setVisible(false);
//Save the result file
workbook.saveToFile("PieExplodedChart.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
Создание круговой диаграммы с одним покомпонентным срезом
Это очень похоже на круговую диаграмму. Вам нужно только взорвать один ломтик из всей круговой диаграммы.
- Создайте экземпляр рабочей книги.
- Получите указанный рабочий лист с помощью метода Workbook.getWorksheets().get(sheetIndex).
- Добавьте некоторые данные в рабочий лист и установите значения, стили и формат чисел для ячеек Excel.
- Добавьте круговую диаграмму на рабочий лист с помощью метода Worksheet.getCharts().add(ExcelChartType.Pie).
- Установите диапазон данных для диаграммы с помощью метода Chart.setDataRange().
- Установите позицию и заголовок для диаграммы.
- Выделите один конкретный фрагмент из всей круговой диаграммы с помощью метода Chart.getSeries().get(0).getDataPoints().get(1).getDataFormat().setPercent(20).
- Сохраните документ в файл с помощью метода Workbook.saveToFile().
import com.spire.xls.*;
import com.spire.xls.charts.ChartSerie;
import java.awt.*;
public class explodedPieChart {
public static void main(String[] args) throws Exception {
//create a Workbook
Workbook workbook = new Workbook();
//get the first sheet and set its name
Worksheet sheet = workbook.getWorksheets().get(0);
sheet.setName("Pie Chart");
//set value of specified cell
sheet.getCellRange("A1").setValue("System");
sheet.getCellRange("A2").setValue("Linux");
sheet.getCellRange("A3").setValue("Mac OS");
sheet.getCellRange("A4").setValue("Windows");
sheet.getCellRange("A5").setValue("Unix");
sheet.getCellRange("B1").setValue("Users");
sheet.getCellRange("B2").setNumberValue(0.08);
sheet.getCellRange("B3").setNumberValue(0.15);
sheet.getCellRange("B4").setNumberValue(0.75);
sheet.getCellRange("B5").setNumberValue(0.02);
//set style of cells
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);
//Set number format of cells
sheet.getCellRange("B2:C5").getCellStyle().setNumberFormat("0%");
//Add a pie chart
Chart piechart = sheet.getCharts().add(ExcelChartType.Pie);
//Set data range for the chart
piechart.setDataRange(sheet.getCellRange("B2:B5"));
piechart.setSeriesDataFromRange(false);
//Set position of the chart
piechart.setLeftColumn(4);
piechart.setTopRow(1);
piechart.setRightColumn(10);
piechart.setBottomRow(20);
//Set and format chart title
piechart.setChartTitle("Users of System");
piechart.getChartTitleArea().isBold(true);
piechart.getChartTitleArea().setSize(12);
ChartSerie cs = piechart.getSeries().get(0);
cs.setCategoryLabels(sheet.getCellRange("A2:A5"));
cs.setValues(sheet.getCellRange("B2:B5"));
cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
piechart.getPlotArea().getFill().setVisible(false);
//Exploded the specific slice from the pie chart
piechart.getSeries().get(0).getDataPoints().get(1).getDataFormat().setPercent(20);
//Save the result file
workbook.saveToFile("ExplodedPieChart2.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
Создание круговой диаграммы «Пончик
Круговая диаграмма «Пончик», у которой отсутствует центральный круг, — это диаграмма, имеющая форму пончика.
- Создайте экземпляр рабочей книги.
- Получите указанный рабочий лист с помощью метода Workbook.getWorksheets().get(sheetIndex).
- Добавьте некоторые данные в рабочий лист и установите значения, стили и формат чисел для ячеек Excel.
- Добавьте на рабочий лист диаграмму в виде пончика с помощью метода Worksheet.getCharts().add(ExcelChartType.Doughnut).
- Установите диапазон данных для диаграммы с помощью метода Chart.setDataRange().
- Установите позицию и заголовок для диаграммы.
- Сохраните документ в файл с помощью метода Workbook.saveToFile().
import com.spire.xls.*;
import com.spire.xls.charts.ChartSerie;
import java.awt.*;
public class doughnutChart {
public static void main(String[] args) throws Exception {
//create a Workbook
Workbook workbook = new Workbook();
//get the first sheet and set its name
Worksheet sheet = workbook.getWorksheets().get(0);
sheet.setName("Doughnut Chart");
//set value of specified cell
sheet.getCellRange("A1").setValue("System");
sheet.getCellRange("A2").setValue("Linux");
sheet.getCellRange("A3").setValue("Mac OS");
sheet.getCellRange("A4").setValue("Windows");
sheet.getCellRange("A5").setValue("Unix");
sheet.getCellRange("B1").setValue("Users");
sheet.getCellRange("B2").setNumberValue(0.08);
sheet.getCellRange("B3").setNumberValue(0.15);
sheet.getCellRange("B4").setNumberValue(0.75);
sheet.getCellRange("B5").setNumberValue(0.02);
//set style of cells
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);
//Set number format of cells
sheet.getCellRange("B2:C5").getCellStyle().setNumberFormat("0%");
//Add a pie chart
Chart piechart = sheet.getCharts().add(ExcelChartType.Doughnut);
//Set data range for the chart
piechart.setDataRange(sheet.getCellRange("B2:B5"));
piechart.setSeriesDataFromRange(false);
//Set position of the chart
piechart.setLeftColumn(4);
piechart.setTopRow(1);
piechart.setRightColumn(10);
piechart.setBottomRow(20);
//Set and format chart title
piechart.setChartTitle("Users of System");
piechart.getChartTitleArea().isBold(true);
piechart.getChartTitleArea().setSize(12);
ChartSerie cs = piechart.getSeries().get(0);
cs.setCategoryLabels(sheet.getCellRange("A2:A5"));
cs.setValues(sheet.getCellRange("B2:B5"));
cs.getDataPoints().getDefaultDataPoint().getDataLabels().hasValue(true);
piechart.getPlotArea().getFill().setVisible(false);
//Save the result file
workbook.saveToFile("DoughnutChart.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
Заключение
В этой статье мы показали, как создать круговую диаграмму в Excel на Java. Spire.XLS for Java также поддерживает создание диаграмм столбцов, диаграмм рассеяния или линейных диаграмм на листах Excel. Вы можете проверить форум Excel для получения дополнительной информации о добавлении других типов диаграмм в файлы Excel.