Управление позицией, размером и оформлением диаграммы
Позиция и размер диаграммы
Иногда нужно изменить позицию или размер нового или существующего графика внутри листа. Aspose.Cells для Python via .NET предоставляет свойство Chart.chart_object для достижения этой цели. Используйте его под-свойства для изменения размера графика с новыми высотой и шириной или его позиционирования с новыми координатами X и Y.
Управление позицией и размером диаграммы
Чтобы изменить позицию диаграммы (координаты X, Y) или размер (высота, ширина), используйте эти свойства:
Следующий пример иллюстрирует использование вышеуказанных API: он загружает существующую рабочую книгу с графиком на первом листе, затем меняет размер и позицию графика, используя Aspose.Cells для Python via .NET.
from aspose.cells import Workbook | |
# 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(".") | |
workbook = Workbook(dataDir + "chart.xls") | |
worksheet = workbook.worksheets[1] | |
# Load the chart from source worksheet | |
chart = worksheet.charts[0] | |
# Resize the chart | |
chart.chart_object.width = 400 | |
chart.chart_object.height = 300 | |
# Reposition the chart | |
chart.chart_object.x = 250 | |
chart.chart_object.y = 150 | |
# Output the file | |
workbook.save(dataDir + "chart.out.xls") |
Манипулирование дизайнерскими диаграммами
Иногда необходимо управлять или изменять графики в файлах шаблонов дизайнера. Aspose.Cells для Python via .NET полностью поддерживает управление содержимым и элементами дизайнерских графиков, при этом данные, содержимое графика, фоновое изображение и форматирование сохраняются точно.
Манипулирование дизайнерскими диаграммами в файле-шаблоне
Для манипулирования дизайнерскими диаграммами в файлах-шаблонах используйте связанный с диаграммой API. Например, вы можете использовать свойство Worksheet.Charts для получения коллекции существующих диаграмм в файле-шаблоне.
Создание диаграммы
В следующем примере показано, как создать пирамидальную диаграмму. Позже мы будем изменять эту диаграмму.
from aspose.cells import Workbook | |
from aspose.cells.charts import ChartType | |
from os import os, path | |
# 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(".") | |
# Create directory if it is not already present. | |
IsExists = path.isdir(dataDir) | |
if notIsExists: | |
os.makedirs(dataDir) | |
# 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 + "book1.out.xls") |
Изменение диаграммы
В следующем примере показано, как изменить существующую диаграмму. В этом примере мы модифицируем созданную выше диаграмму. В полученном выводе обратите внимание, что метка даты одной точки данных установлена на ‘Великобритания, 30K’.
from aspose.cells import Workbook | |
# 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(".") | |
# Open the existing file. | |
workbook = Workbook(dataDir + "piechart.xls") | |
# Get the designer chart in the second sheet. | |
sheet = workbook.worksheets[1] | |
chart = sheet.charts[0] | |
# Get the data labels in the data series of the third data point. | |
datalabels = chart.n_series[0].points[2].data_labels | |
# Change the text of the label. | |
datalabels.text = "Unided Kingdom, 400K " | |
# Save the excel file. | |
workbook.save(dataDir + "output.xls") |
Изменение линейной диаграммы в шаблоне конструктора
В этом примере мы будем изменять линейную диаграмму. Мы добавим несколько рядов данных к существующей диаграмме и изменим цвета их линий.
from aspose.cells import Workbook | |
from aspose.pydrawing import Color | |
# 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(".") | |
# Open the existing file. | |
workbook = Workbook(dataDir + "Book1.xlsx") | |
# Get the designer chart in the first worksheet. | |
chart = workbook.worksheets[0].charts[0] | |
# Add the third data series to it. | |
chart.n_series.add("{60, 80, 10}", True) | |
# Add another data series (fourth) to it. | |
chart.n_series.add("{0.3, 0.7, 1.2}", True) | |
# Plot the fourth data series on the second axis. | |
chart.n_series[3].plot_on_second_axis = True | |
# Change the Border color of the second data series. | |
chart.n_series[1].border.color = Color.green | |
# Change the Border color of the third data series. | |
chart.n_series[2].border.color = Color.red | |
# Make the second value axis visible. | |
chart.second_value_axis.is_visible = True | |
# Save the excel file. | |
workbook.save(dataDir + "output.xls") |