Создание и управление диаграммой
Создание диаграмм
Простое создание диаграммы
Создание диаграммы с Aspose.Cells с помощью следующих примеров кода:
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Obtaining the reference of the first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Adding sample values to cells | |
worksheet.Cells["A2"].PutValue("Category1"); | |
worksheet.Cells["A3"].PutValue("Category2"); | |
worksheet.Cells["A4"].PutValue("Category3"); | |
worksheet.Cells["B1"].PutValue("Column1"); | |
worksheet.Cells["B2"].PutValue(4); | |
worksheet.Cells["B3"].PutValue(20); | |
worksheet.Cells["B4"].PutValue(50); | |
worksheet.Cells["C1"].PutValue("Column2"); | |
worksheet.Cells["C2"].PutValue(50); | |
worksheet.Cells["C3"].PutValue(100); | |
worksheet.Cells["C4"].PutValue(150); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Column, 5, 0, 15, 5); | |
// Accessing the instance of the newly added chart | |
Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex]; | |
// Setting chart data source as the range "A1:C4" | |
chart.SetChartDataRange("A1:C4", true); | |
// Saving the Excel file | |
workbook.Save(dataDir + "output.xls"); | |
Вещи, которые нужно знать для создания диаграммы
Прежде чем создавать диаграммы, важно понимать некоторые основные концепции, которые полезны при создании диаграмм с использованием Aspose.Cells.
Объекты диаграммирования
Aspose.Cells предоставляет специальный набор классов в пространстве имен Aspose.Cells.Charts, используемых для создания диаграмм, поддерживаемых Aspose.Cells. Эти классы используются для создания объектов диаграммирования, которые выступают в качестве строительных блоков диаграммы. Объекты диаграммирования перечислены ниже:
- Series, один набор данных в диаграмме.
- Axis, ось диаграммы.
- Chart, одна диаграмма Excel.
- ChartArea, область диаграммы на листе.
- ChartDataTable, таблица данных диаграммы.
- ChartFrame, объект рамки в диаграмме.
- ChartPoint, одна точка в наборе данных диаграммы.
- ChartPointCollection, коллекция, содержащая все точки в одном наборе данных.
- Charts, коллекция объектов Chart.
- DataLabels, коллекция всех объектов DataLabel для указанного набора данных.
- FillFormat, формат заливки для формы.
- Floor, основание 3D-диаграммы.
- Legend, легенда диаграммы.
- Line, линия диаграммы.
- SeriesCollection, коллекция объектов Series.
- TickLabels, метки делений, связанные с метками делений на оси диаграммы.
- Название, заголовок диаграммы или оси.
- Линия тренда, линия тренда на диаграмме.
- Коллекция линий тренда, коллекция всех объектов линии тренда для указанной серии данных.
- Стены, стены 3D-диаграммы.
Использование объектов построения диаграмм
Как уже упоминалось, все объекты построения диаграмм являются экземплярами соответствующих классов и обладают конкретными свойствами и методами для выполнения определенных задач. Используйте объекты построения диаграмм для создания диаграмм.
Добавьте любой тип диаграммы на лист, используя коллекцию Charts. Каждый элемент в коллекции Charts представляет объект Chart. Объект Chart инкапсулирует все остальные объекты построения диаграмм, необходимые для настройки внешнего вида диаграммы. В следующем разделе показано, как использовать несколько базовых объектов построения диаграмм для создания простой диаграммы.
Создание диаграммы с использованием Aspose.Cells
Шаги:
- Добавьте некоторые данные в ячейки листа с помощью метода PutValue объекта Cell. Это будет использоваться в качестве источника данных для диаграммы.
- Добавьте диаграмму на лист, вызвав метод Add коллекции Charts, инкапсулированный в объекте Worksheet.
- Укажите тип диаграммы с помощью перечисления ChartType. Например, приведенный ниже пример использует значение ChartType.Pyramid в качестве типа диаграммы.
- Получите доступ к новому объекту Chart из коллекции Charts, передав его индекс.
- Используйте любой объект построения диаграмм, инкапсулированный в объекте Chart, для управления диаграммой. В приведенном ниже примере используется объект построения диаграммы SeriesCollection для указания источника данных диаграммы.
При добавлении исходных данных на диаграмму источник данных может быть диапазоном ячеек (например, “A1:C3”), или последовательностью непрерывных ячеек (например, “A1, A3, A5”), или последовательностью значений (например, “1,2,3”).
Эти общие шаги позволяют создать любой тип диаграммы. Используйте различные объекты построения диаграмм для создания различных диаграмм.
С помощью Aspose.Cells можно создать множество различных типов диаграмм. Все стандартные диаграммы, поддерживаемые Aspose.Cells, предварительно определены в перечислении с именем Aspose.Cells.Charts.ChartType.
Предопределенные типы графиков:
Типы графиков | Описание |
---|---|
Column | Представляет гистограмму с кластеризацией |
ColumnStacked | Представляет стопку гистограмму |
Column100PercentStacked | Представляет 100% стопку гистограмму |
Column3DClustered | Представляет 3D гистограмму с кластеризацией |
Column3DStacked | Представляет 3D стопку гистограмму |
Column3D100PercentStacked | Представляет 3D 100% стопку гистограмму |
Column3D | Представляет 3D гистограмму |
Bar | Представляет гистограмму с кластеризацией по горизонтали |
BarStacked | Представляет стопку гистограмму по горизонтали |
Bar100PercentStacked | Представляет 100% стопку гистограмму по горизонтали |
Bar3DClustered | Представляет 3D гистограмму с кластеризацией по горизонтали |
Bar3DStacked | Представляет 3D стопку гистограмму по горизонтали |
Bar3D100PercentStacked | Представляет 3D 100% стопку гистограмму по горизонтали |
Line | Представляет линейный график |
LineStacked | Представляет стопку линейный график |
Line100PercentStacked | Представляет 100% стопку линейный график |
LineWithDataMarkers | Представляет линейный график с маркерами данных |
LineStackedWithDataMarkers | Представляет стопку линейный график с маркерами данных |
Line100PercentStackedWithDataMarkers | Представляет собой 100% столбчатую диаграмму с маркерами данных |
Line3D | Представляет собой 3D линейную диаграмму |
Pie | Представляет собой круговую диаграмму |
Pie3D | Представляет собой 3D круговую диаграмму |
PiePie | Представляет собой круговую диаграмму с вложенной круговой диаграммой |
PieExploded | Представляет собой взорванную круговую диаграмму |
Pie3DExploded | Представляет собой 3D взорванную круговую диаграмму |
PieBar | Представляет собой столбчатую диаграмму с вложенной круговой диаграммой |
Scatter | Представляет собой точечную диаграмму |
ScatterConnectedByCurvesWithDataMarker | Представляет собой точечную диаграмму, соединенную кривыми, с маркерами данных |
ScatterConnectedByCurvesWithoutDataMarker | Представляет собой точечную диаграмму, соединенную кривыми, без маркеров данных |
ScatterConnectedByLinesWithDataMarker | Представляет собой точечную диаграмму, соединенную линиями, с маркерами данных |
ScatterConnectedByLinesWithoutDataMarker | Представляет собой точечную диаграмму, соединенную линиями, без маркеров данных |
Area | Представляет собой зонную диаграмму |
AreaStacked | Представляет собой стопку зонную диаграмму |
Area100PercentStacked | Представляет собой 100% стопку зонную диаграмму |
Area3D | Представляет собой 3D зонную диаграмму |
Area3DStacked | Представляет собой 3D стопку зонную диаграмму |
Area3D100PercentStacked | Представляет собой 3D 100% стопку зонную диаграмму |
Doughnut | Представляет собой донат-диаграмму |
DoughnutExploded | Представляет круговую диаграмму со сдвоенной дугой |
Radar | Представляет радарную диаграмму |
RadarWithDataMarkers | Представляет радарную диаграмму с маркерами данных |
RadarFilled | Представляет заполненную радарную диаграмму |
Surface3D | Представляет трехмерную поверхностную диаграмму |
SurfaceWireframe3D | Представляет проволочную трехмерную поверхностную диаграмму |
SurfaceContour | Представляет контурную диаграмму |
SurfaceContourWireframe | Представляет проволочную контурную диаграмму |
Bubble | Представляет диаграмму пузырьков |
Bubble3D | Представляет трехмерную диаграмму пузырьков |
Cylinder | Представляет цилиндрическую диаграмму |
CylinderStacked | Представляет стопку цилиндрических диаграмм |
Cylinder100PercentStacked | Представляет 100% стопку цилиндрических диаграмм |
CylindericalBar | Представляет цилиндрическую столбчатую диаграмму |
CylindericalBarStacked | Представляет стопку цилиндрических столбчатых диаграмм |
CylindericalBar100PercentStacked | Представляет 100% стопку цилиндрических столбчатых диаграмм |
CylindericalColumn3D | Представляет трехмерную цилиндрическую колоночную диаграмму |
Cone | Представляет конусную диаграмму |
ConeStacked | Представляет стопку конусных диаграмм |
Cone100PercentStacked | Представляет 100% стопку конусных диаграмм |
ConicalBar | Представляет коническую столбчатую диаграмму |
ConicalBarStacked | Представляет стопку конических столбчатых диаграмм |
ConicalBar100PercentStacked | Представляет 100% стопку конических столбчатых диаграмм |
ConicalColumn3D | Представляет 3D коническую колонную диаграмму |
Pyramid | Представляет пирамидальную диаграмму |
PyramidStacked | Представляет стопку пирамидальных диаграмм |
Pyramid100PercentStacked | Представляет 100% стопку пирамидальных диаграмм |
PyramidBar | Представляет стопку пирамидальных столбчатых диаграмм |
PyramidBarStacked | Представляет стопку пирамидальных столбчатых диаграмм |
PyramidBar100PercentStacked | Представляет 100% стопку пирамидальных столбчатых диаграмм |
PyramidColumn3D | Представляет 3D пирамидальную колонную диаграмму |
При назначении диапазона ячеек в качестве источника данных можно установить только диапазон сверху влево до нижнего правого. Например, “A1:C3” - допустимо, а “C3:A1” - недопустимо.
|
Пирамидальная диаграмма
При выполнении примерного кода на листе добавляется пирамидальная диаграмма.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Adding a new worksheet to the Excel object | |
int sheetIndex = workbook.Worksheets.Add(); | |
// Obtaining the reference of the newly added worksheet by passing its sheet index | |
Worksheet worksheet = workbook.Worksheets[sheetIndex]; | |
// Adding sample values to cells | |
worksheet.Cells["A1"].PutValue(50); | |
worksheet.Cells["A2"].PutValue(100); | |
worksheet.Cells["A3"].PutValue(150); | |
worksheet.Cells["B1"].PutValue(4); | |
worksheet.Cells["B2"].PutValue(20); | |
worksheet.Cells["B3"].PutValue(50); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Pyramid, 5, 0, 15, 5); | |
// Accessing the instance of the newly added chart | |
Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex]; | |
// Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3" | |
chart.NSeries.Add("A1:B3", true); | |
// Saving the Excel file | |
workbook.Save(dataDir + "output.xls"); | |
Линейная диаграмма
В предыдущем примере, просто изменение ChartType на Line создает линейную диаграмму. Полный исходный код предоставлен ниже. При выполнении кода на лист добавляется линейная диаграмма.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Adding a new worksheet to the Excel object | |
int sheetIndex = workbook.Worksheets.Add(); | |
// Obtaining the reference of the newly added worksheet by passing its sheet index | |
Worksheet worksheet = workbook.Worksheets[sheetIndex]; | |
// Adding sample values to cells | |
worksheet.Cells["A1"].PutValue(50); | |
worksheet.Cells["A2"].PutValue(100); | |
worksheet.Cells["A3"].PutValue(150); | |
worksheet.Cells["B1"].PutValue(4); | |
worksheet.Cells["B2"].PutValue(20); | |
worksheet.Cells["B3"].PutValue(50); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Line, 5, 0, 15, 5); | |
// Accessing the instance of the newly added chart | |
Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex]; | |
// Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3" | |
chart.NSeries.Add("A1:B3", true); | |
// Saving the Excel file | |
workbook.Save( dataDir + "output.xls"); | |
Пузырьковая диаграмма
Для создания диаграммы пузырьков нужно установить ChartType на ChartType.Bubble и задать несколько дополнительных свойств, таких как BubbleSizes, Values и XValues. При выполнении следующего кода на лист добавляется диаграмма пузырьков.
Диаграмма линии с маркерами данных
Для создания диаграммы линии с маркерами данных ChartType должно быть установлено на ChartType.LineWithDataMarkers, и необходимо задать несколько дополнительных свойств, таких как область заднего плана, маркеры серии, значения и XValues. При выполнении следующего кода на лист добавляется диаграмма линии с маркерами данных.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Instantiate a workbook | |
Workbook workbook = new Workbook(); | |
// Access first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Set columns title | |
worksheet.Cells[0, 0].Value = "X"; | |
worksheet.Cells[0, 1].Value = "Y"; | |
// Random data shall be used for generating the chart | |
Random R = new Random(); | |
// Create random data and save in the cells | |
for (int i = 1; i < 21; i++) | |
{ | |
worksheet.Cells[i, 0].Value = i; | |
worksheet.Cells[i, 1].Value = 0.8; | |
} | |
for (int i = 21; i < 41; i++) | |
{ | |
worksheet.Cells[i, 0].Value = i - 20; | |
worksheet.Cells[i, 1].Value = 0.9; | |
} | |
// Add a chart to the worksheet | |
int idx = worksheet.Charts.Add(ChartType.LineWithDataMarkers, 1, 3, 20, 20); | |
// Access the newly created chart | |
Chart chart = worksheet.Charts[idx]; | |
// Set chart style | |
chart.Style = 3; | |
// Set autoscaling value to true | |
chart.AutoScaling = true; | |
// Set foreground color white | |
chart.PlotArea.Area.ForegroundColor = Color.White; | |
// Set Properties of chart title | |
chart.Title.Text = "Sample Chart"; | |
// Set chart type | |
chart.Type = ChartType.LineWithDataMarkers; | |
// Set Properties of categoryaxis title | |
chart.CategoryAxis.Title.Text = "Units"; | |
//Set Properties of nseries | |
int s2_idx = chart.NSeries.Add("A2: A2", true); | |
int s3_idx = chart.NSeries.Add("A22: A22", true); | |
// Set IsColorVaried to true for varied points color | |
chart.NSeries.IsColorVaried = true; | |
// Set properties of background area and series markers | |
chart.NSeries[s2_idx].Area.Formatting = FormattingType.Custom; | |
chart.NSeries[s2_idx].Marker.Area.ForegroundColor = Color.Yellow; | |
chart.NSeries[s2_idx].Marker.Border.IsVisible = false; | |
// Set X and Y values of series chart | |
chart.NSeries[s2_idx].XValues = "A2: A21"; | |
chart.NSeries[s2_idx].Values = "B2: B21"; | |
// Set properties of background area and series markers | |
chart.NSeries[s3_idx].Area.Formatting = FormattingType.Custom; | |
chart.NSeries[s3_idx].Marker.Area.ForegroundColor = Color.Green; | |
chart.NSeries[s3_idx].Marker.Border.IsVisible = false; | |
// Set X and Y values of series chart | |
chart.NSeries[s3_idx].XValues = "A22: A41"; | |
chart.NSeries[s3_idx].Values = "B22: B41"; | |
// Save the workbook | |
workbook.Save(outputDir + @"LineWithDataMarkerChart.xlsx", Aspose.Cells.SaveFormat.Xlsx); |
Продвинутые темы
- Чтение и манипулирование диаграммами Excel 2016
- Управление осями диаграмм Excel
- Настройка внешнего вида диаграммы
- Типы диаграмм
- Настройка диаграмм
- Установить источник данных для диаграммы
- Управление подписями данных диаграмм Excel
- Генерировать диаграмму с помощью обработки умных маркеров
- Получить лист диаграммы
- Управление легендой диаграмм Excel
- Управление позицией, размером и дизайном диаграммы
- Создание круговой диаграммы с линиями
- Фигуры в диаграммах
- Управление заголовками диаграмм Excel
- Отображение диаграммы
- Получить текст уравнения линии тренда диаграммы