Настройка диаграмм
Создание диаграмм
С помощью Aspose.Cells можно добавлять различные диаграммы в электронные таблицы. Aspose.Cells предоставляет множество гибких объектов диаграмм. В этом разделе обсуждаются объекты диаграммы Aspose.Cells'.
Простое создание диаграммы
Создать диаграмму с номером Aspose.Cells очень просто, используя следующие примеры кодов:
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the output directory. | |
Workbook workbook = new Workbook(); | |
// Obtaining the reference of the first worksheet | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Adding sample values to cells | |
worksheet.getCells().get("A2").putValue("Category1"); | |
worksheet.getCells().get("A3").putValue("Category2"); | |
worksheet.getCells().get("A4").putValue("Category3"); | |
worksheet.getCells().get("B1").putValue("Column1"); | |
worksheet.getCells().get("B2").putValue(4); | |
worksheet.getCells().get("B3").putValue(20); | |
worksheet.getCells().get("B4").putValue(50); | |
worksheet.getCells().get("C1").putValue("Column2"); | |
worksheet.getCells().get("C2").putValue(50); | |
worksheet.getCells().get("C3").putValue(100); | |
worksheet.getCells().get("C4").putValue(150); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.getCharts().add(ChartType.COLUMN, 5, 0, 15, 5); | |
// Accessing the instance of the newly added chart | |
Chart chart = worksheet.getCharts().get(chartIndex); | |
// Setting chart data source as the range "A1:C4" | |
chart.setChartDataRange("A1:C4", true); | |
workbook.save( "ColumnChart.xlsx", SaveFormat.XLSX); |
Что нужно знать для создания диаграммы
Перед созданием диаграмм важно понять некоторые основные понятия, которые будут полезны при создании диаграмм с помощью Aspose.Cells.
Объекты диаграммы
Aspose.Cells предоставляет специальный набор классов, используемых для создания всех видов диаграмм. Эти классы используются для созданияграфические объекты, которые действуют как строительные блоки диаграммы. Объекты диаграммы перечислены ниже:
- Ось, ось диаграммы.
- Диаграмма, одна диаграмма Excel.
- ДиаграммаОбласть, область диаграммы на листе.
- ДиаграммаДанныеТаблица, таблица данных диаграммы.
- ДиаграммаКадр, объект кадра на диаграмме.
- Диаграмма, одна точка в ряду на диаграмме.
- ChartPointCollection, коллекция, содержащая все точки одной серии.
- ChartCollection , коллекцияДиаграммаобъекты.
- DataLabels, DataLabels для указанногоРяд, Диаграмма, линия тренда, и т.д.
- ЗаполнитьФормат, формат заливки для фигуры.
- Пол, пол трехмерной диаграммы.
- Легенда, легенда диаграммы.
- Линия, линия графика.
- СерияКоллекция , коллекцияРядобъекты.
- Ряд, представляет один ряд данных на диаграмме.
- TickLabels, метки делений, связанные с делениями на оси диаграммы.
- Заголовок, название диаграммы или оси.
- линия тренда, линия тренда на графике.
- TrendlineКоллекция, набор всех объектов Trendline для указанного ряда данных.
- Стены, стены трехмерной диаграммы.
Использование объектов диаграммы
Как упоминалось выше, все объекты диаграммы являются экземплярами соответствующих классов и предоставляют определенные свойства и методы для выполнения определенных задач. Используйте объекты диаграммы для создания диаграмм.
Добавьте любой тип диаграммы на рабочий лист, используяChartCollection коллекция. Каждый элемент вChartCollection коллекция представляет собойДиаграмма объект. АДиаграммаОбъект инкапсулирует все объекты диаграммы, необходимые для настройки внешнего вида диаграммы. В следующем разделе показано, как использовать несколько основных объектов диаграммы для создания простой диаграммы.
Создание простой диаграммы
С помощью Aspose.Cells можно создать множество различных типов диаграмм. Все стандартные диаграммы, поддерживаемые Aspose.Cells, предварительно определены в перечислении с именемТип диаграммы. Предустановленные типы диаграмм:
Типы диаграмм | Описание |
---|---|
Столбец | Представляет кластеризованную столбчатую диаграмму |
КолонкаС накоплением | Представляет столбчатую диаграмму с накоплением |
Столбец100PercentStacked | Представляет столбчатую диаграмму с накоплением на 100 % |
Column3DClustered | Представляет 3D кластеризованную столбчатую диаграмму |
Столбец3DStacked | Представляет трехмерную столбчатую диаграмму с накоплением |
Столбец3D100PercentStacked | Представляет трехмерную столбчатую диаграмму со 100% накоплением |
Колонка3D | Представляет трехмерную столбчатую диаграмму |
Бар | Представляет кластеризованную гистограмму |
БарСложенный | Представляет столбчатую диаграмму с накоплением |
Bar100PercentStacked | Представляет гистограмму со 100% накоплением |
Bar3DCкластеризованный | Представляет трехмерную кластеризованную гистограмму |
Bar3DStacked | Представляет трехмерную линейчатую диаграмму с накоплением |
Bar3D100PercentStacked | Представляет трехмерную линейчатую диаграмму со 100% накоплением |
Линия | Представляет линейную диаграмму |
LineStacked | Представляет составную линейную диаграмму |
Line100PercentStacked | Представляет 100% линейную диаграмму с накоплением |
LineWithDataMarkers | Представляет линейную диаграмму с маркерами данных |
LineStackedWithDataMarkers | Представляет составную линейную диаграмму с маркерами данных |
Line100PercentStackedWithDataMarkers | Представляет линейную диаграмму с накоплением 100% с маркерами данных |
Линия3D | Представляет трехмерную линейную диаграмму |
пирог | Представляет круговую диаграмму |
Пирог3D | Представляет трехмерную круговую диаграмму |
пирог пирог | Представляет круговую диаграмму |
ПирогВзорван | Представляет развернутую круговую диаграмму |
Pie3DВзорван | Представляет трехмерную развернутую круговую диаграмму |
Пиг-Бар | Представляет гистограмму круговой диаграммы |
Разброс | Представляет точечную диаграмму |
ScatterConnectedByCurvesWithDataMarker | Представляет точечную диаграмму, соединенную кривыми, с маркерами данных. |
ScatterConnectedByCurvesWithoutDataMarker | Представляет точечную диаграмму, соединенную кривыми, без маркеров данных. |
ScatterConnectedByLinesWithDataMarker | Представляет точечную диаграмму, соединенную линиями, с маркерами данных. |
ScatterConnectedByLinesWithoutDataMarker | Представляет точечную диаграмму, соединенную линиями, без маркеров данных. |
Площадь | Представляет диаграмму областей |
ПлощадьСложенный | Представляет составную диаграмму с областями |
Area100PercentStacked | Представляет 100% диаграмму областей с накоплением |
Площадь3D | Представляет трехмерную диаграмму с областями |
Площадь3DС накоплением | Представляет трехмерную диаграмму с накоплением областей |
Area3D100PercentStacked | Представляет трехмерную диаграмму с областями со 100% накоплением |
Пончик | Представляет кольцевую диаграмму |
ПончикВзорван | Представляет развернутую кольцевую диаграмму |
Радар | Представляет радарную диаграмму |
Радарвисдатамаркерс | Представляет радарную диаграмму с маркерами данных |
Радар заполнен | Представляет заполненную радиолокационную диаграмму |
Поверхность3D | Представляет трехмерную поверхностную диаграмму |
ПоверхностьКаркас3D | Представляет каркасную трехмерную поверхностную диаграмму. |
ПоверхностьКонтур | Представляет контурную диаграмму |
ПоверхностьКонтурКаркас | Представляет контурную диаграмму каркаса |
Пузырь | Представляет пузырьковую диаграмму |
Пузырь3D | Представляет трехмерную пузырьковую диаграмму |
Цилиндр | Представляет цилиндрическую диаграмму |
ЦилиндрСложенный | Представляет составную цилиндрическую диаграмму |
Цилиндр100PercentStacked | Представляет 100%-ную цилиндрическую диаграмму с накоплением |
ЦилиндрическийБар | Представляет собой цилиндрическую гистограмму. |
ЦилиндрическийБарС накоплением | Представляет цилиндрическую гистограмму с накоплением |
ЦилиндрическийBar100PercentStacked | Представляет цилиндрическую гистограмму со 100% накоплением |
ЦилиндрическаяКолонка3D | Представляет трехмерную цилиндрическую столбчатую диаграмму |
Конус | Представляет конусную диаграмму |
КонусСложенный | Представляет составную конусную диаграмму |
конус100процентов | Представляет конусную диаграмму со 100% накоплением |
КоническийБар | Представляет коническую гистограмму |
КоническийБарС накоплением | Представляет составную коническую гистограмму |
ConicalBar100PercentStacked | Представляет 100%-ную коническую гистограмму с накоплением |
КоническаяКолонна3D | Представляет трехмерную коническую столбчатую диаграмму |
Пирамида | Представляет пирамидальную диаграмму |
ПирамидаСложенный | Представляет пирамидальную диаграмму с накоплением |
Пирамида100PercentStacked | Представляет 100% пирамидальную диаграмму с накоплением |
ПирамидаБар | Представляет гистограмму пирамиды |
ПирамидаБарС накоплением | Представляет гистограмму с накоплением пирамиды |
PyramidBar100PercentStacked | Представляет гистограмму пирамидальной гистограммы со 100% накоплением |
ПирамидаКолонка3D | Представляет гистограмму трехмерной пирамиды |
Чтобы создать диаграмму с помощью Aspose.Cells: |
- Добавьте некоторые данные в ячейки листа с помощьюCell объектыустановить значениеметод. Это будет использоваться в качестве источника данных для диаграммы.
- Добавьте диаграмму на лист, вызвав методChartCollection коллекцияДобавлять, инкапсулированный вРабочий листобъект.
- Укажите тип диаграммы с помощьюТип диаграммыперечисление. Например, в примере используетсяChartType.PYRAMIDзначение в качестве типа диаграммы.
- Доступ к новымДиаграмма объект изChartCollectionколлекции, передав ее индекс.
- Используйте любой из объектов диаграммы, инкапсулированных вДиаграммаобъект для управления диаграммой. В приведенном ниже примере используетсяСерияКоллекцияобъект диаграммы, чтобы указать источник данных диаграммы.
При добавлении исходных данных на диаграмму источником данных может быть диапазон ячеек (например, «A1:C3»), последовательность несмежных ячеек (например, «A1, A3, A5») или последовательность ячеек. значения (например, “1,2,3”).
Эти общие шаги позволяют создавать диаграммы любого типа. Используйте разные объекты диаграмм для создания разных диаграмм.
При выполнении примера кода на рабочий лист добавляется пирамидальная диаграмма, как показано ниже.
Пирамидальная диаграмма с ее источником данных
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(HowToCreatePyramidChart.class) + "charts/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Obtaining the reference of the first worksheet | |
WorksheetCollection worksheets = workbook.getWorksheets(); | |
Worksheet sheet = worksheets.get(0); | |
// Adding some sample value to cells | |
Cells cells = sheet.getCells(); | |
Cell cell = cells.get("A1"); | |
cell.setValue(50); | |
cell = cells.get("A2"); | |
cell.setValue(100); | |
cell = cells.get("A3"); | |
cell.setValue(150); | |
cell = cells.get("B1"); | |
cell.setValue(4); | |
cell = cells.get("B2"); | |
cell.setValue(20); | |
cell = cells.get("B3"); | |
cell.setValue(180); | |
cell = cells.get("C1"); | |
cell.setValue(320); | |
cell = cells.get("C2"); | |
cell.setValue(110); | |
cell = cells.get("C3"); | |
cell.setValue(180); | |
cell = cells.get("D1"); | |
cell.setValue(40); | |
cell = cells.get("D2"); | |
cell.setValue(120); | |
cell = cells.get("D3"); | |
cell.setValue(250); | |
ChartCollection charts = sheet.getCharts(); | |
// Adding a chart to the worksheet | |
int chartIndex = charts.add(ChartType.PYRAMID, 5, 0, 15, 5); | |
Chart chart = charts.get(chartIndex); | |
// Adding NSeries (chart data source) to the chart ranging from "A1" | |
// cell to "B3" | |
SeriesCollection serieses = chart.getNSeries(); | |
serieses.add("A1:B3", true); | |
// Saving the Excel file | |
workbook.save(dataDir + "HToCPyramidChart_out.xls"); | |
// Print message | |
System.out.println("Pyramid chart is successfully created."); |
Чтобы создать пузырьковую диаграмму,Тип диаграммыдолжен быть установлен наChartType.BUBBLEи несколько дополнительных свойств, таких как BubbleSizes, Values и XValues, должны быть установлены соответствующим образом. После выполнения следующего кода на рабочий лист добавляется пузырьковая диаграмма, как показано ниже.
Пузырьковая диаграмма с источником данных
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(HowToCreateBubbleChart.class) + "charts/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Obtaining the reference of the first worksheet | |
WorksheetCollection worksheets = workbook.getWorksheets(); | |
Worksheet sheet = worksheets.get(0); | |
// Adding some sample value to cells | |
Cells cells = sheet.getCells(); | |
Cell cell = cells.get("A1"); | |
cell.setValue(50); | |
cell = cells.get("A2"); | |
cell.setValue(100); | |
cell = cells.get("A3"); | |
cell.setValue(150); | |
cell = cells.get("B1"); | |
cell.setValue(4); | |
cell = cells.get("B2"); | |
cell.setValue(20); | |
cell = cells.get("B3"); | |
cell.setValue(180); | |
cell = cells.get("C1"); | |
cell.setValue(320); | |
cell = cells.get("C2"); | |
cell.setValue(110); | |
cell = cells.get("C3"); | |
cell.setValue(180); | |
cell = cells.get("D1"); | |
cell.setValue(40); | |
cell = cells.get("D2"); | |
cell.setValue(120); | |
cell = cells.get("D3"); | |
cell.setValue(250); | |
ChartCollection charts = sheet.getCharts(); | |
// Adding a chart to the worksheet | |
int chartIndex = charts.add(ChartType.BUBBLE, 5, 0, 15, 5); | |
Chart chart = charts.get(chartIndex); | |
// Adding NSeries (chart data source) to the chart ranging from "A1" | |
// cell to "B3" | |
SeriesCollection serieses = chart.getNSeries(); | |
serieses.add("A1:B3", true); | |
// Set bubble sizes | |
chart.getNSeries().get(0).setBubbleSizes("B2:D2"); | |
chart.getNSeries().get(0).setXValues("B3:D3"); | |
chart.getNSeries().get(0).setValues("B1:D1"); | |
// Saving the Excel file | |
workbook.save(dataDir + "HToCrBChart_out.xls"); | |
// Print message | |
System.out.println("Bubble chart is successfully created."); |
Линия с диаграммой маркеров данных
Чтобы создать линию с диаграммой маркеров данных,Тип диаграммыдолжен быть установлен наChartType.LINE_WITH_DATA_MARKERS и несколько дополнительных свойств, таких как фоновая область, маркеры серии, значения и XValues, должны быть установлены соответствующим образом. После выполнения следующего кода на лист добавляется строка с диаграммой маркеров данных.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// Instantiate a workbook | |
Workbook workbook = new Workbook(); | |
// Access first worksheet | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Set columns title | |
worksheet.getCells().get(0, 0).setValue("X"); | |
worksheet.getCells().get(0, 1).setValue("Y"); | |
// Create random data and save in the cells | |
for (int i = 1; i < 21; i++) | |
{ | |
worksheet.getCells().get(i, 0).setValue(i); | |
worksheet.getCells().get(i, 1).setValue(0.8); | |
} | |
for (int i = 21; i < 41; i++) | |
{ | |
worksheet.getCells().get(i, 0).setValue(i - 20); | |
worksheet.getCells().get(i, 1).setValue(0.9); | |
} | |
// Add a chart to the worksheet | |
int idx = worksheet.getCharts().add(ChartType.LINE_WITH_DATA_MARKERS, 1, 3, 20, 20); | |
// Access the newly created chart | |
Chart chart = worksheet.getCharts().get(idx); | |
// Set chart style | |
chart.setStyle(3); | |
// Set autoscaling value to true | |
chart.setAutoScaling(true); | |
// Set foreground color white | |
chart.getPlotArea().getArea().setForegroundColor(Color.getWhite()); | |
// Set Properties of chart title | |
chart.getTitle().setText("Sample Chart"); | |
// Set chart type | |
chart.setType(ChartType.LINE_WITH_DATA_MARKERS); | |
// Set Properties of categoryaxis title | |
chart.getCategoryAxis().getTitle().setText("Units"); | |
//Set Properties of nseries | |
int s2_idx = chart.getNSeries().add("A2: A2", true); | |
int s3_idx = chart.getNSeries().add("A22: A22", true); | |
// Set IsColorVaried to true for varied points color | |
chart.getNSeries().setColorVaried(true); | |
// Set properties of background area and series markers | |
chart.getNSeries().get(s2_idx).getArea().setFormatting(FormattingType.CUSTOM); | |
chart.getNSeries().get(s2_idx).getMarker().getArea().setForegroundColor(Color.getYellow()); | |
chart.getNSeries().get(s2_idx).getMarker().getBorder().setVisible(false); | |
// Set X and Y values of series chart | |
chart.getNSeries().get(s2_idx).setXValues("A2: A21"); | |
chart.getNSeries().get(s2_idx).setValues("B2: B21"); | |
// Set properties of background area and series markers | |
chart.getNSeries().get(s3_idx).getArea().setFormatting(FormattingType.CUSTOM); | |
chart.getNSeries().get(s3_idx).getMarker().getArea().setForegroundColor(Color.getGreen()); | |
chart.getNSeries().get(s3_idx).getMarker().getBorder().setVisible(false); | |
// Set X and Y values of series chart | |
chart.getNSeries().get(s3_idx).setXValues("A22: A41"); | |
chart.getNSeries().get(s3_idx).setValues("B22: B41"); | |
// Save the workbook | |
workbook.save(outDir + "LineWithDataMarkerChart.xlsx", SaveFormat.XLSX); |
Создание пользовательских диаграмм
До сих пор при обсуждении диаграмм мы рассматривали стандартные диаграммы со стандартными настройками форматирования. Мы только определяем источник данных, устанавливаем несколько свойств, и диаграмма создается с настройками формата по умолчанию. Но Aspose.Cells также поддерживает создание пользовательских диаграмм, что позволяет разработчикам создавать диаграммы с собственными настройками формата.
Создание пользовательских диаграмм
Разработчики могут создавать собственные диаграммы во время выполнения, используя Aspose.Cells простой API.
Диаграмма состоит из ряда данных. Каждый ряд данных в Aspose.Cells представленРяд объект, тогда какСерияКоллекция объект представляет собой совокупностьРядобъекты. При создании пользовательской диаграммы разработчики могут свободно использовать различные типы диаграмм для разных рядов данных (собранных вСерияКоллекцияобъект).
В приведенном ниже примере кода показано, как создавать собственные диаграммы. В этом примере мы собираемся использовать столбчатую диаграмму для первого ряда данных и линейную диаграмму для второго ряда. В результате мы добавляем столбчатую диаграмму в сочетании с линейной диаграммой на рабочий лист.
Пользовательская диаграмма, сочетающая столбчатые и линейные диаграммы
Пример программирования
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(HowToCreateCustomChart.class) + "charts/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Obtaining the reference of the first worksheet | |
WorksheetCollection worksheets = workbook.getWorksheets(); | |
Worksheet sheet = worksheets.get(0); | |
// Adding some sample value to cells | |
Cells cells = sheet.getCells(); | |
Cell cell = cells.get("A1"); | |
cell.setValue(50); | |
cell = cells.get("A2"); | |
cell.setValue(100); | |
cell = cells.get("A3"); | |
cell.setValue(150); | |
cell = cells.get("B1"); | |
cell.setValue(4); | |
cell = cells.get("B2"); | |
cell.setValue(20); | |
cell = cells.get("B3"); | |
cell.setValue(180); | |
cell = cells.get("C1"); | |
cell.setValue(320); | |
cell = cells.get("C2"); | |
cell.setValue(110); | |
cell = cells.get("C3"); | |
cell.setValue(180); | |
cell = cells.get("D1"); | |
cell.setValue(40); | |
cell = cells.get("D2"); | |
cell.setValue(120); | |
cell = cells.get("D3"); | |
cell.setValue(250); | |
ChartCollection charts = sheet.getCharts(); | |
// Adding a chart to the worksheet | |
int chartIndex = charts.add(ChartType.COLUMN_3_D, 5, 0, 15, 5); | |
Chart chart = charts.get(chartIndex); | |
// Adding NSeries (chart data source) to the chart ranging from "A1" | |
// cell to "B3" | |
SeriesCollection serieses = chart.getNSeries(); | |
serieses.add("A1:B3", true); | |
// Saving the Excel file | |
workbook.save(dataDir + "HTCCustomChart_out.xls"); | |
// Print message | |
System.out.println("Customized chart is successfully created."); |