操纵位置大小和设计图表

图表位置和大小

有时,您希望改变工作表内新建或已存在的图表的位置或大小。Aspose.Cells for Python via .NET 提供了 Chart.chart_object 属性来实现。您可以使用其子属性重新调整图表的高度宽度,或使用XY坐标重新定位。

控制图表的位置和大小

要更改图表的位置(X、Y坐标)或大小(高度,宽度),请使用以下属性:

  1. Chart.chart_object.x
  2. Chart.chart_object.y
  3. Chart.chart_object.height
  4. Chart.chart_object.width

以下示例说明了上述 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")