13.5.2 用 Excel 的图表显示数据

13.5.2 用 Excel 的图表显示数据



若要创建一个图表,我们需要指定很多属性。幸运的是,Excel 的 API 提供了 ChartWizard 方法,使它更容易。这个方法取所有重要的图表属性作为可选参数,这样,可以只指定那些需要的属性。F# 语言支持可选参数,因此,清单 13.20 中的代码,创建图表非常简单。



Listing 13.20 Generating Excel chart (F#)



let chartobjects = (worksheet.ChartObjects() :?> ChartObjects)
let chartobject = chartobjects.Add(400.0, 20.0, 550.0, 350.0)

chartobject.Chart.ChartWizard
(Title = "Area covered by forests",
Source = worksheet.Range("B2", "E" + endColumn),
Gallery = XlChartType.xl3DColumn,
PlotBy = XlRowCol.xlColumns,
SeriesLabels = 1, CategoryLabels = 1,
CategoryTitle = "", ValueTitle = "Forests (mil km^2)")

chartobject.Chart.ChartStyle <- 5



首先,我们需要工作表中创建一个新的图表。我们的做法是这样的,通过添加一个新的元素,到一个图表的集合。弱类型的 API 还意味着,在调用 Add 方法之前,必须强把它制转换为适当的类型(ChartObjects)。这个方法创建一个新的图表,可以使用 ChartWizard 方法进行配置。上面说过,这个方法取的参数是可选的,因此,代码使用 F# 语法来指定。对于我们想要设置的每个参数,包括了参数的名字和值。大部分的参数名都是不言自明的,但是,值得一提的是,我们指定包括文本标签的范围,然后,设置 SeriesLabels 和 CategoryLabels 为 1,告诉 Excel 第一行和列包含数据标签。

最后一行设置 ChartStyle 属性,指定图表的预定义的绿色配色方案。注意,这个属性只在 Office 2007 以后的版本中可用,所以,如果正在使用较早版本的 Excel,要删除这一行,Excel 将使用默认的颜色。运行代码之后,应该看到一个图表,如图 13.3 所示 。


13.5.2 用 Excel 的图表显示数据
图 13.3 F# 生成的图表,显示森林面积的变化



Excel 中的图表,为我们提供了一种理想的方式,理解和检查从世界银行获得的数据。如果你仔细看一下图表,可以看到,欧洲和中亚,以及高收入国家的森林覆盖面积略有增加,但是,世界上几乎所有其它地区,都显著降低。