一.背景
國外的圖表軟件(模塊)比較多,大家比較熟悉的主要有:Graph, DeltaGraph, MSGraph, Crystal Report, Origin, First Impression etc. 而國內似乎沒有任何市場化的產品。其實,圖表需要數據源,而數據的管理需要好的表格處理軟件,所以圖表做為輔助數據管理的可視化工具,應該是與表格處理緊密結合在一起的,而不是孤立的。其次,好的圖表必須具有良好的可操作性,才能滿足多方面用戶的需求。這些特點決定了圖表軟件的設計具有相當的難度。 大多數人都用過Excel,其圖表模塊就是采用了類似MSGraph的設計。MSGraph目前的版本基本上就是Excel的圖表模塊, 具有很強的可操作性。比較了上面的產品,感覺Excel圖表最大的優點在於它的可操作性。 Cell表做為國內較為成功的表格處理軟件(組件),具有很強的表格處理功能和很多優點。但直到4.2版本,圖表都一直是其弱項,與其強大的報表功能相比,確是落伍了。但我們有了Cell表這一優秀的表格平台,使得新的圖表的設計有了較高的起點和基礎。
二.基本思想
圖表的構成包含了下列基本的元素:數據點,坐標軸,標題,網格線,圖例。不同的元素既有共同的屬性,比如:顏色,字體,尺寸等,也有其特有的屬性,以坐標軸為例,它會有橫軸和縱軸之分,軸會有刻度,刻度會有名稱,會有主刻度和次刻度之分,另外,軸還會有軸標題,會有網格線。元素之間密切相關,整個圖表又和數據源密切相關。這裡的元素就是程序設計中的對象,對象的相互作用就構成了圖表系統。
這是圖表區對象的屬性拓撲圖。
基本的圖表就是由上面的基本元素構成的。不同類型的圖表繼承了基本圖表的特點,同時又有自己的特點。可見,圖表系統是一個很典型的面向對象的體系。 上面看到的僅僅是一個靜態的圖表。讓這些圖表對象動起來,可以改變位置和大小,就是圖表的可操作性,或者稱為交互性的另一重要方面。用戶通過鼠標拖動來設計自己滿意的圖表。其中,有以下幾個很重要的內容:
第一: 圖表區和繪圖區的縮放;必須考慮其中的子對象的位置和大小,包括字體的大小。
第二: 數據系列(點)的拖動;涉及到數據源數據的更新,坐標軸刻度的自動計算
第三: 拖動方式,包括數據系列整體拖動和數據點拖動。
第四: 非直角坐標系圖表的拖動,比如:餅圖。同直角坐標系圖表的拖動,雖然本質相同,都是沿著坐標軸方向運動,但在實現上卻有很大的不同,這也是極坐標與直角坐標系的區別決定的。而且,餅圖不僅有沿半徑軸方向的拖動,還有沿角度軸方向的拖動(改變百分比)。
三.特點
cell 5.0圖表不僅具有和Excel圖表相似的外表,而且在圖表的互動性方面下了很大功夫外。其次,還有下面兩個方面的特點:
1.支持組合單元格繪圖
通常的做圖都是一個單元格對應一個數據點。可是在表格中,幾個單元格被組合是常有的操作。然而,Excel對這種情況的處理卻比較簡單,繪出的圖表不能准確表達用戶的意願。 而Cell 5.0圖表充分考慮了這種情況,給出了很好的解決辦法,對於用戶而言,繪圖操作依然是透明的,如同正常情況下一樣做圖。
2.圖表元素位置的自動計算
當數據系列比較多的情形下,Excel圖表的計算不夠理想。
Cell5.0裡元素位置的自動計算 Cell5.0裡元素位置的自動計算
3.與cell表的無縫連接
做為一cell表為數據平台開發的cell 5.0圖表,真正實現了與cell表的無縫連接。具有表格做圖的許多特點。做為cell 5.0組件的一個重要部分,它提供了表格做圖的不少有用的接口,比如:充滿整個表格區域,移動到某一表格區域,利用指定表格區域數據做圖。
4. 圖表數據與表格數據的鏈接
圖表就是某一區域表格數據的圖形化。圖表中數據只是對表格數據的引用,它的改變同時也自動改變了表格中的相應數據,而表格數據的改變,也會自動更新圖表。既然cell 5.0圖表具有很強的可操作性,那麼這些功能是必須支持的。
四.設想
當然,Cell 5.0圖表是全新設計的圖表,在許多方面還有較大的發展空間,需更進一步。比如:圖表類型需要更豐富,圖表的統計屬性,圖表的立體化,圖表模版等。