基于Owc.chart组件进行曲线图表绘制的研究
2012-02-27张晶莹
张晶莹
摘要:长期以来网页图形绘制技术大多采用Java或者动态图像技术进行网页图形展示,本文对多种图形的绘制方法进行对比后,重点介绍了使用Owc.chart的格式及其优点。它能更简单快捷的绘制二维图表(如折线图、柱形图、股价图等)和极坐标图表(如饼图和雷达图),并支持组合图表,如两轴线-柱图,数据表会随同图表发布,图表随着数据的变化而改变。通过在物资价格审核管理系统应用这一技术,加快了网页图形的编程效率和提高图形信息的共享程度。
关键词:Owc chart组件绘制图表
1、引言
傳统上在浏览器中表现图形多数采用三种方式:服务器端GDI+图形绘制、浏览器端JavaApplet绘图窗口、用例如SVG或FLASH等插件绘制图形。虽然上述几种方式机制各不相同,但是都需要开发人员手工编程,逐条绘制图表中的各元素,一条线一个点的修改往往也需要一条编程语句去执行。对技术人员的编程要求较高,工作效率较低。而在油田生产开发中,需要对大批量的生产数据进行分析比较,在这种情况下应用了Owc.chart这一组件,它能直接传入数据,通过控件直接绘制图表,减少了编程人员工作量,提高工作效率,使以往需要投入大量人员精力的烦琐的绘图工作得到改善。
2、Owc.chart技术研究
OWC(Microsoft Office Web Components)是 Microsoft Office 使用的数据绑定 ActiveX 控件,它为在Web中绘制图形提供了灵活的同时也是最基本的机制。它是一套组件对象模型主要包含电子表格、图表、数据透视表等4个组件。这些组件在服务器端提供了与Office功能相关的对象模型,开发人员可以对其中相关的类进行编程控制,如可以进行单元格的数据填写、格式的定义等操作,从而生成Office兼容的各种表格和图表等内容,形成高质量的结果展示。
Owc.chart支持Microsoft Excel 中大部分的二维图表(如折线图、柱形图、股价图等)和极坐标图表(如饼图和雷达图),并支持组合图表, 有了OWC.chart,我们可以在服务器上动态创建一个图表,然后将图表以GIF图形的形式发送到客户端。客户端看到的仅仅是一个普通的图形文件,但在“背后”,图形文件实际上是由服务器上ASP.NET回应客户请求时动态生成的。因此,这种技术对客户端没有特殊的要求,只要能够显示GIF图形就可以了,即使Netscape和Opera也不存在任何问题。
3、Owc.chart应用
我们在物资价格审核管理系统的开发过程中应用了这一技术。制作需要提供给客户的各类统计图表,实现系统中物资计划对比功能。
以下是绘制电瓶原液YG-1KG价格走势图的部分核心代码:
'创建ChartSpace对象来放置图表
Dim objCSpace As New OWC11.ChartSpaceClass
'在ChartSpace对象中添加图表,Add方法返回chart对象
Dim objChart As OWC11.ChChart = objCSpace.Charts.Add(0)
'指定图表的类型。类型由OWC.ChartChartTypeEnum枚举值得到
objChart.Type = OWC11.ChartChartTypeEnum.chChartTypeColumnClustered '折线图
'给定标题
objChart.HasTitle = True
objChart.Title.Caption = "C类物资价格走势图(电瓶原液YG-1KG)"
'给定x,y轴的图示说明
objChart.Axes(0).HasTitle = True
objChart.Axes(0).Title.Caption = "Y 轴: 价格(元/米)"
objChart.Axes(1).HasTitle = True
objChart.Axes(1).Title.Caption = "X 轴:日期(年月)"
'计算数据
在代码中我们可以看出,要绘制一张图表,只需完成三步。第一步,定义绘图组件,包括创建图表。第二步定义文字说明,包括给定标题,设置XY轴坐标。第三步定义数据,从数据库中引入数据,完成绘制图形。仅需要这三步,我们就可以完成一张图表的绘制工作,不用去考虑一些细节上坐标的定点问题。根据以上代码我们还可以绘制曲线图、柱状图、柱状图、面积图、雷达图等各种图表,仅仅只需更改一个参数,非常简单便捷,易于操作。
4、结语
Owc.chart这一绘图插件脱离了以前JAVA绘图,GDI+绘图还需要一笔一划绘制的烦琐方式。更改数据时,只需要在数据库中进行修改,所需图形便自动绘制完成。如需更改所要图形种类,则只用改动参数即能在WED页面上更简洁直观的显示出所需要的图形。而JAVA绘图等还需对图形格式,排版等进行逐一调整。但是Owc.chart也具有一定的缺点,即不能随意绘制图形。在JAVA等绘图方式中,我们可随意绘制图形,例如生物等不规则图形。而Owc.chart则只可以绘制一般的规则的曲线图、折线图等各种图表,这就使Owc.chart产生了一定的局限性。
在油田生产中,需要提供的图表正是规则的曲线图、折线图、柱状图、面积图、雷达图等各种图表,恰恰能满足油田生产的需要。这就使Owc.chart的局限性变成了在油田应用中的优势。正是如此,Owc.chart的应用能为油田生产效率的提高提供了必要的保证。
参考文献
[1]Dave Stearns编著.office2000编程技术内幕.北京希望电子出版社,2006年5月.
[2]谭建伟.OFFICE 2007基础教程.人民邮电出版社,2008年06月01.