張晶瑩
摘要:長期以來網(wǎng)頁圖形繪制技術大多采用Java或者動態(tài)圖像技術進行網(wǎng)頁圖形展示,本文對多種圖形的繪制方法進行對比后,重點介紹了使用Owc.chart的格式及其優(yōu)點。它能更簡單快捷的繪制二維圖表(如折線圖、柱形圖、股價圖等)和極坐標圖表(如餅圖和雷達圖),并支持組合圖表,如兩軸線-柱圖,數(shù)據(jù)表會隨同圖表發(fā)布,圖表隨著數(shù)據(jù)的變化而改變。通過在物資價格審核管理系統(tǒng)應用這一技術,加快了網(wǎng)頁圖形的編程效率和提高圖形信息的共享程度。
關鍵詞:Owc chart組件繪制圖表
1、引言
傳統(tǒng)上在瀏覽器中表現(xiàn)圖形多數(shù)采用三種方式:服務器端GDI+圖形繪制、瀏覽器端JavaApplet繪圖窗口、用例如SVG或FLASH等插件繪制圖形。雖然上述幾種方式機制各不相同,但是都需要開發(fā)人員手工編程,逐條繪制圖表中的各元素,一條線一個點的修改往往也需要一條編程語句去執(zhí)行。對技術人員的編程要求較高,工作效率較低。而在油田生產(chǎn)開發(fā)中,需要對大批量的生產(chǎn)數(shù)據(jù)進行分析比較,在這種情況下應用了Owc.chart這一組件,它能直接傳入數(shù)據(jù),通過控件直接繪制圖表,減少了編程人員工作量,提高工作效率,使以往需要投入大量人員精力的煩瑣的繪圖工作得到改善。
2、Owc.chart技術研究
OWC(Microsoft Office Web Components)是 Microsoft Office 使用的數(shù)據(jù)綁定 ActiveX 控件,它為在Web中繪制圖形提供了靈活的同時也是最基本的機制。它是一套組件對象模型主要包含電子表格、圖表、數(shù)據(jù)透視表等4個組件。這些組件在服務器端提供了與Office功能相關的對象模型,開發(fā)人員可以對其中相關的類進行編程控制,如可以進行單元格的數(shù)據(jù)填寫、格式的定義等操作,從而生成Office兼容的各種表格和圖表等內(nèi)容,形成高質(zhì)量的結(jié)果展示。
Owc.chart支持Microsoft Excel 中大部分的二維圖表(如折線圖、柱形圖、股價圖等)和極坐標圖表(如餅圖和雷達圖),并支持組合圖表, 有了OWC.chart,我們可以在服務器上動態(tài)創(chuàng)建一個圖表,然后將圖表以GIF圖形的形式發(fā)送到客戶端??蛻舳丝吹降膬H僅是一個普通的圖形文件,但在“背后”,圖形文件實際上是由服務器上ASP.NET回應客戶請求時動態(tài)生成的。因此,這種技術對客戶端沒有特殊的要求,只要能夠顯示GIF圖形就可以了,即使Netscape和Opera也不存在任何問題。
3、Owc.chart應用
我們在物資價格審核管理系統(tǒng)的開發(fā)過程中應用了這一技術。制作需要提供給客戶的各類統(tǒng)計圖表,實現(xiàn)系統(tǒng)中物資計劃對比功能。
以下是繪制電瓶原液YG-1KG價格走勢圖的部分核心代碼:
'創(chuàng)建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 軸:日期(年月)"
'計算數(shù)據(jù)
在代碼中我們可以看出,要繪制一張圖表,只需完成三步。第一步,定義繪圖組件,包括創(chuàng)建圖表。第二步定義文字說明,包括給定標題,設置XY軸坐標。第三步定義數(shù)據(jù),從數(shù)據(jù)庫中引入數(shù)據(jù),完成繪制圖形。僅需要這三步,我們就可以完成一張圖表的繪制工作,不用去考慮一些細節(jié)上坐標的定點問題。根據(jù)以上代碼我們還可以繪制曲線圖、柱狀圖、柱狀圖、面積圖、雷達圖等各種圖表,僅僅只需更改一個參數(shù),非常簡單便捷,易于操作。
4、結(jié)語
Owc.chart這一繪圖插件脫離了以前JAVA繪圖,GDI+繪圖還需要一筆一劃繪制的煩瑣方式。更改數(shù)據(jù)時,只需要在數(shù)據(jù)庫中進行修改,所需圖形便自動繪制完成。如需更改所要圖形種類,則只用改動參數(shù)即能在WED頁面上更簡潔直觀的顯示出所需要的圖形。而JAVA繪圖等還需對圖形格式,排版等進行逐一調(diào)整。但是Owc.chart也具有一定的缺點,即不能隨意繪制圖形。在JAVA等繪圖方式中,我們可隨意繪制圖形,例如生物等不規(guī)則圖形。而Owc.chart則只可以繪制一般的規(guī)則的曲線圖、折線圖等各種圖表,這就使Owc.chart產(chǎn)生了一定的局限性。
在油田生產(chǎn)中,需要提供的圖表正是規(guī)則的曲線圖、折線圖、柱狀圖、面積圖、雷達圖等各種圖表,恰恰能滿足油田生產(chǎn)的需要。這就使Owc.chart的局限性變成了在油田應用中的優(yōu)勢。正是如此,Owc.chart的應用能為油田生產(chǎn)效率的提高提供了必要的保證。
參考文獻
[1]Dave Stearns編著.office2000編程技術內(nèi)幕.北京希望電子出版社,2006年5月.
[2]譚建偉.OFFICE 2007基礎教程.人民郵電出版社,2008年06月01.