熊孟琴
(河北省滄州水文水資源勘測局,河北 滄州 061000)
水文統計圖值軸刻度程序控制方法探討
熊孟琴
(河北省滄州水文水資源勘測局,河北 滄州 061000)
計算機處理水文資料過程中,往往需要生成相應的統計圖形。探討如何通過編程靈活控制任意數據序列的統計圖形,使圖形能夠總是滿足“1、2、5比例”等行業要求,并能兼顧習慣和美觀,凸顯變化趨勢。給出一個自定義函數,舉例介紹該函數在旱情資料管理應用程序中發揮的作用。
水文資料;統計圖;刻度;程序控制;函數
統計圖形是幫助人們從事分析計算、科學管理和問題決策等活動很基本很普遍使用的工具,將數據序列以圖形的方式呈現出來會更直觀和明朗化。很多行業不僅對數據資料的收集有其特定的要求,還對生成的圖形的屬性作了具體的規定,必須以嚴格遵守這些規定為前提,然后再考慮凸顯圖形的變化趨勢和兼顧習慣與美觀。水文行業的關系圖形多是散列圖和柱狀圖類型,并要求y軸value的刻度單位為1、2或5的10n倍,即常說的“125比例”,象水位、流量過程線、降水量柱狀圖等。實際數據序列的任意性給計算機有效應變其原點及刻度大小和數量并生成讓人滿意的統計圖形帶來困難性,用編程方法做到靈活控制任意數據序列的統計圖形則有著非常重要的意義。
大多數的軟件開發工具都提供了可視的統計圖對象(控件),具有自動處理數據序列的能力,并提供了許多屬性供用戶設置(Set)和在程序過程中修改(Modify),最終滿足用戶的要求。
控制統計圖值軸刻度最終目標是:在值軸刻度數量(v_num)一定的條件下,取得滿意的坐標原點v_min_r和刻度單位v_step_r。
通過檢索數據庫等方式取得數據序列,并通過排序等數據結構獲得該序列的最大和最小值 v_max、v_min,使統計圖包含序列全部數據點是最基本的要求,而確保包含這2個點子就能包含全部。假定使用 v_min作坐標原點,v_max作坐標最大值,又擬定刻度數量為v_num,可得到單位刻度的長度v_step=(v_max– v_min)/v_num。這幾個值雖然不是期望的理論屬性值,但給我們獲得理論值提供了基礎數據。
2.2.1 坐標原點 v_min_r
這是最關鍵的問題,基本原則是 v_min_r≤ v_min,包括3種情況:v_min_r=v_min、取整(Int)和取0。對這3種情況的分析如表1。表中v_min_r的取值及判斷處理方法還要把握優先級別,從低到高為:v_min→取整②→取整①→取整③→0,即從基本滿足要求的低級去求得高級,以達到兼顧各因素的最佳效果。假定在一個10個刻度網格的統計圖上展示一個序列,其中的最小值 v_min=26.3,原點 v_min_r的值將取決于該序列中的最大值v_max(v_max決定著刻度值v_step_r的大小),用表1的方法可列舉推算不同 v_max下原點坐標v_min_r等屬性的期望值,見表2。

表1 原點坐標v_min_r取值方法分析

表2 不同v_max下推算原點坐標v_min_r等屬性的期望值
2.2.2 單位刻度理論值 v_step_r
確定了理論最小值v_min_r,以v_max為參照最大值可取得參照步長v_step=v_max/v_sum,按照“125比例”原則可演算得到v_step_r值:

依此類推,在編寫程序代碼時可通過引用棧的數據結構進行處理。
2.2.3 圖形最大坐標理論值 v_max_r

根據上述討論,構造如下自定義函數(這里給出的是PowerScript代碼):



在土壤墑情資料整編應用程序中運用該函數對土壤含水率過程線、旬降雨量柱狀圖和地下水埋深過程線3個統計圖實施控制,取得令人十分滿意的效果。如圖1,是沒有通過函數實施控制,自動生成的土壤含水率過程線,10 cm、20 cm和50 cm土層厚度3個數據序列全部數據中 v_min=21.3,v_max=34.4,變幅較小,統計圖控件默認加載的坐標原點 0和刻度單位5使線體沒有明顯的變化趨勢。
而同樣選擇8個刻度,運用該函數實施自動智能控制,獲得最佳效果的最小、最大值和刻度值:

以此對統計圖的屬性進行修改,得到如圖2的圖形效果。可以看到函數在分析獲取 v_min_r時考慮了“取整③”為20,獲取 v_step_r的值為2,即將“5比例”變為最佳的“2比例”。也可以看到該應用程序為更好地配合該自定義函數,為用戶提供了一個可自主選擇的可變刻度數量v_num的支點,讓自定義函數對統計圖控件靈活實施控制,使這一控件更加智慧,用戶更容易獲得最佳效果的圖形。

圖1 自動生成的土壤含水率過程線

圖2 函數控制生成的土壤含水率過程線
在水文應用程序采取這種方式控制圖形不失簡單而有效,即使不是使用統計圖控件,而是編程繪制圖形,也同樣會遇到這一問題,也同樣需要這樣處理。當然,文中給出的函數只是一種方法。一方面,該函數中的各參數沒考慮負值;另一方面,行業上對圖形各個屬性的要求還沒有達到“死規范”,例如坐標原點及最大刻度值并沒有嚴格的要求,函數的返回值也就滲入了筆者個人主觀的和經驗的成分,或者說是代表筆者自己的一個作圖思路,會存在片面性甚至缺乏科學性,敬請批評指正和給予補充完善。
[1]馮志全.數據結構與算法設計.北京:中國電力出版社.2008.
Discusses on Axis Scale Process Control Method of Hydrographic Charts Values
XIONG Meng-qin
(Cangzhou Bureau of Hydrolgty & Water Resoureces Survey inHebei,Cangzhou 061000,Hebei)
The course of the computer processing of hydrological data often need to generate the corresponding statistical graphics. This article explores how to program and flexible control of the statistical graphics of any data series,The purpose is to meet requirement of“1,2,5 proportion”ect. other industry requirements,and can take into account the habits and appearance,highlighting the trend. This paper gives a self- defined functions and examples of the role of the function in the drought information management application.
Hydrological data;chart;scale;programming control and function
P333.9
A
1004-1184(2012)05-0164-03
2012-06-19
熊孟琴(1972-),女,四川大竹人,工程師,主要從事水利規劃設計。