操纵位置大小和设计图表
图表位置和大小
有时,您希望改变工作表内新建或已存在的图表的位置或大小。Aspose.Cells for Python via .NET 提供了 Chart.chart_object 属性来实现。您可以使用其子属性重新调整图表的高度和宽度,或使用X和Y坐标重新定位。
控制图表的位置和大小
要更改图表的位置(X、Y坐标)或大小(高度,宽度),请使用以下属性:
以下示例说明了上述 API 的用法,它加载了一个包含图表的现有工作簿,该图表位于第一个工作表中。然后使用 Aspose.Cells for 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 for 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") |
操作图表
以下示例显示了如何操纵现有的图表。在此示例中,我们修改了上面创建的图表。请注意,在生成的输出中,一个数据点的日期标签已设置为“United Kingdom, 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") |