Создание и управление диаграммой
Создание диаграмм
Простое создание диаграммы
Создать график с помощью Aspose.Cells for Python via .NET легко с помощью следующих примерных кодов:
from aspose.cells import Workbook | |
from aspose.cells.charts import ChartType | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Instantiating a Workbook object | |
workbook = Workbook() | |
# Obtaining the reference of the first worksheet | |
worksheet = workbook.worksheets[0] | |
# Adding sample values to cells | |
worksheet.cells.get("A2").put_value("Category1") | |
worksheet.cells.get("A3").put_value("Category2") | |
worksheet.cells.get("A4").put_value("Category3") | |
worksheet.cells.get("B1").put_value("Column1") | |
worksheet.cells.get("B2").put_value(4) | |
worksheet.cells.get("B3").put_value(20) | |
worksheet.cells.get("B4").put_value(50) | |
worksheet.cells.get("C1").put_value("Column2") | |
worksheet.cells.get("C2").put_value(50) | |
worksheet.cells.get("C3").put_value(100) | |
worksheet.cells.get("C4").put_value(150) | |
# Adding a chart to the worksheet | |
chartIndex = worksheet.charts.add(ChartType.COLUMN, 5, 0, 15, 5) | |
# Accessing the instance of the newly added chart | |
chart = worksheet.charts[chartIndex] | |
# Setting chart data source as the range "A1:C4" | |
chart.set_chart_data_range("A1:C4", True) | |
# Saving the Excel file | |
workbook.save(dataDir + "output.xls") |
Вещи, которые нужно знать для создания диаграммы
Перед созданием графиков важно понять некоторые базовые концепции, которые помогают при создании графиков с использованием Aspose.Cells for Python via .NET.
Объекты диаграммирования
Aspose.Cells for Python via .NET предоставляет специальный набор классов в пространстве имен Aspose.Cells.Charts, используемых для создания графиков, поддерживаемых Aspose.Cells for Python via .NET. Эти классы используются для создания объектов построения графиков, которые служат строительными блоками графика. Перечень объектов для построения графиков следующий:
- 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 for Python via .NET
Шаги:
- Добавьте некоторые данные в ячейки листа с помощью метода put_value объекта Cell. Это будет использоваться в качестве источника данных для диаграммы.
- Добавьте диаграмму на лист, вызвав метод add коллекции charts, инкапсулированный в объекте Worksheet.
- Укажите тип диаграммы с помощью перечисления ChartType. Например, приведенный ниже пример использует значение ChartType.PYRAMID в качестве типа диаграммы.
- Получите доступ к новому объекту Chart из коллекции charts, передав его индекс.
- Используйте любой объект построения диаграмм, инкапсулированный в объекте Chart, для управления диаграммой. В приведенном ниже примере используется объект построения диаграммы SeriesCollection для указания источника данных диаграммы.
При добавлении исходных данных на диаграмму источник данных может быть диапазоном ячеек (например, “A1:C3”), или последовательностью непрерывных ячеек (например, “A1, A3, A5”), или последовательностью значений (например, “1,2,3”).
Эти общие шаги позволяют создать любой тип диаграммы. Используйте различные объекты построения диаграмм для создания различных диаграмм.
Можно создавать множество различных типов графиков с Aspose.Cells for Python via .NET. Все стандартные графики, поддерживаемые Aspose.Cells for Python via .NET, предопределены в перечислении 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” - недопустимо.
|
Пирамидальная диаграмма
При выполнении примерного кода на листе добавляется пирамидальная диаграмма.
from aspose.cells import Workbook | |
from aspose.cells.charts import ChartType | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Instantiating a Workbook object | |
workbook = Workbook() | |
# Adding a new worksheet to the Excel object | |
sheetIndex = workbook.worksheets.add() | |
# Obtaining the reference of the newly added worksheet by passing its sheet index | |
worksheet = workbook.worksheets[sheetIndex] | |
# Adding sample values to cells | |
worksheet.cells.get("A1").put_value(50) | |
worksheet.cells.get("A2").put_value(100) | |
worksheet.cells.get("A3").put_value(150) | |
worksheet.cells.get("B1").put_value(4) | |
worksheet.cells.get("B2").put_value(20) | |
worksheet.cells.get("B3").put_value(50) | |
# Adding a chart to the worksheet | |
chartIndex = worksheet.charts.add(ChartType.PYRAMID, 5, 0, 15, 5) | |
# Accessing the instance of the newly added chart | |
chart = worksheet.charts[chartIndex] | |
# Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3" | |
chart.n_series.add("A1:B3", True) | |
# Saving the Excel file | |
workbook.save(dataDir + "output.xls") |
Линейная диаграмма
В предыдущем примере, просто изменение ChartType на Line создает линейную диаграмму. Полный исходный код предоставлен ниже. При выполнении кода на лист добавляется линейная диаграмма.
from aspose.cells import Workbook | |
from aspose.cells.charts import ChartType | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Instantiating a Workbook object | |
workbook = Workbook() | |
# Adding a new worksheet to the Excel object | |
sheetIndex = workbook.worksheets.add() | |
# Obtaining the reference of the newly added worksheet by passing its sheet index | |
worksheet = workbook.worksheets[sheetIndex] | |
# Adding sample values to cells | |
worksheet.cells.get("A1").put_value(50) | |
worksheet.cells.get("A2").put_value(100) | |
worksheet.cells.get("A3").put_value(150) | |
worksheet.cells.get("B1").put_value(4) | |
worksheet.cells.get("B2").put_value(20) | |
worksheet.cells.get("B3").put_value(50) | |
# Adding a chart to the worksheet | |
chartIndex = worksheet.charts.add(ChartType.LINE, 5, 0, 15, 5) | |
# Accessing the instance of the newly added chart | |
chart = worksheet.charts[chartIndex] | |
# Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3" | |
chart.n_series.add("A1:B3", True) | |
# Saving the Excel file | |
workbook.save(dataDir + "output.xls") |
Пузырьковая диаграмма
Для создания диаграммы пузырьков нужно установить ChartType на ChartType.BUBBLE и задать несколько дополнительных свойств, таких как BubbleSizes, Values и XValues. При выполнении следующего кода на лист добавляется диаграмма пузырьков.
Диаграмма линии с маркерами данных
Для создания диаграммы линии с маркерами данных ChartType должно быть установлено на ChartType.LineWithDataMarkers, и необходимо задать несколько дополнительных свойств, таких как область заднего плана, маркеры серии, значения и XValues. При выполнении следующего кода на лист добавляется диаграмма линии с маркерами данных.
from aspose.cells import SaveFormat, Workbook | |
from aspose.cells.charts import ChartType, FormattingType | |
from aspose.pydrawing import Color | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# Instantiate a workbook | |
workbook = Workbook() | |
# Access first worksheet | |
worksheet = workbook.worksheets[0] | |
# Set columns title | |
worksheet.cells.get(0, 0).value = "X" | |
worksheet.cells.get(0, 1).value = "Y" | |
# Create random data and save in the cells | |
for i in range(1, 21): | |
worksheet.cells.get(i, 0).value = i | |
worksheet.cells.get(i, 1).value = 0.8 | |
for i in range(21, 41): | |
worksheet.cells.get(i, 0).value = i - 20 | |
worksheet.cells.get(i, 1).value = 0.9 | |
# Add a chart to the worksheet | |
idx = worksheet.charts.add(ChartType.LINE_WITH_DATA_MARKERS, 1, 3, 20, 20) | |
# Access the newly created chart | |
chart = worksheet.charts[idx] | |
# Set chart style | |
chart.style = 3 | |
# Set autoscaling value to true | |
chart.auto_scaling = True | |
# Set foreground color white | |
chart.plot_area.area.foreground_color = Color.white | |
# Set Properties of chart title | |
chart.title.text = "Sample Chart" | |
# Set chart type | |
chart.type = ChartType.LINE_WITH_DATA_MARKERS | |
# Set Properties of categoryaxis title | |
chart.category_axis.title.text = "Units" | |
# Set Properties of nseries | |
s2_idx = chart.n_series.add("A2: A2", True) | |
s3_idx = chart.n_series.add("A22: A22", True) | |
# Set IsColorVaried to true for varied points color | |
chart.n_series.is_color_varied = True | |
# Set properties of background area and series markers | |
chart.n_series[s2_idx].area.formatting = FormattingType.CUSTOM | |
chart.n_series[s2_idx].marker.area.foreground_color = Color.yellow | |
chart.n_series[s2_idx].marker.border.is_visible = False | |
# Set X and Y values of series chart | |
chart.n_series[s2_idx].x_values = "A2: A21" | |
chart.n_series[s2_idx].values = "B2: B21" | |
# Set properties of background area and series markers | |
chart.n_series[s3_idx].area.formatting = FormattingType.CUSTOM | |
chart.n_series[s3_idx].marker.area.foreground_color = Color.green | |
chart.n_series[s3_idx].marker.border.is_visible = False | |
# Set X and Y values of series chart | |
chart.n_series[s3_idx].x_values = "A22: A41" | |
chart.n_series[s3_idx].values = "B22: B41" | |
# Save the workbook | |
workbook.save(outputDir + r"LineWithDataMarkerChart.xlsx", SaveFormat.XLSX) |
Продвинутые темы
- Чтение и манипулирование диаграммами Excel 2016
- Управление осями диаграмм Excel
- Настройка внешнего вида диаграммы
- Типы диаграмм
- Настройка диаграмм
- Установить источник данных для диаграммы
- Управление подписями данных диаграмм Excel
- Генерировать диаграмму с помощью обработки умных маркеров
- Получить лист диаграммы
- Управление легендой диаграмм Excel
- Управление позицией, размером и дизайном диаграммы
- Создание круговой диаграммы с линиями
- Фигуры в диаграммах
- Управление заголовками диаграмм Excel
- Отображение диаграммы
- Получить текст уравнения линии тренда диаграммы