熊孟琴
(河北省滄州水文水資源勘測(cè)局,河北 滄州 061000)
水文統(tǒng)計(jì)圖值軸刻度程序控制方法探討
熊孟琴
(河北省滄州水文水資源勘測(cè)局,河北 滄州 061000)
計(jì)算機(jī)處理水文資料過程中,往往需要生成相應(yīng)的統(tǒng)計(jì)圖形。探討如何通過編程靈活控制任意數(shù)據(jù)序列的統(tǒng)計(jì)圖形,使圖形能夠總是滿足“1、2、5比例”等行業(yè)要求,并能兼顧習(xí)慣和美觀,凸顯變化趨勢(shì)。給出一個(gè)自定義函數(shù),舉例介紹該函數(shù)在旱情資料管理應(yīng)用程序中發(fā)揮的作用。
水文資料;統(tǒng)計(jì)圖;刻度;程序控制;函數(shù)
統(tǒng)計(jì)圖形是幫助人們從事分析計(jì)算、科學(xué)管理和問題決策等活動(dòng)很基本很普遍使用的工具,將數(shù)據(jù)序列以圖形的方式呈現(xiàn)出來會(huì)更直觀和明朗化。很多行業(yè)不僅對(duì)數(shù)據(jù)資料的收集有其特定的要求,還對(duì)生成的圖形的屬性作了具體的規(guī)定,必須以嚴(yán)格遵守這些規(guī)定為前提,然后再考慮凸顯圖形的變化趨勢(shì)和兼顧習(xí)慣與美觀。水文行業(yè)的關(guān)系圖形多是散列圖和柱狀圖類型,并要求y軸value的刻度單位為1、2或5的10n倍,即常說的“125比例”,象水位、流量過程線、降水量柱狀圖等。實(shí)際數(shù)據(jù)序列的任意性給計(jì)算機(jī)有效應(yīng)變其原點(diǎn)及刻度大小和數(shù)量并生成讓人滿意的統(tǒng)計(jì)圖形帶來困難性,用編程方法做到靈活控制任意數(shù)據(jù)序列的統(tǒng)計(jì)圖形則有著非常重要的意義。
大多數(shù)的軟件開發(fā)工具都提供了可視的統(tǒng)計(jì)圖對(duì)象(控件),具有自動(dòng)處理數(shù)據(jù)序列的能力,并提供了許多屬性供用戶設(shè)置(Set)和在程序過程中修改(Modify),最終滿足用戶的要求。
控制統(tǒng)計(jì)圖值軸刻度最終目標(biāo)是:在值軸刻度數(shù)量(v_num)一定的條件下,取得滿意的坐標(biāo)原點(diǎn)v_min_r和刻度單位v_step_r。
通過檢索數(shù)據(jù)庫等方式取得數(shù)據(jù)序列,并通過排序等數(shù)據(jù)結(jié)構(gòu)獲得該序列的最大和最小值 v_max、v_min,使統(tǒng)計(jì)圖包含序列全部數(shù)據(jù)點(diǎn)是最基本的要求,而確保包含這2個(gè)點(diǎn)子就能包含全部。假定使用 v_min作坐標(biāo)原點(diǎn),v_max作坐標(biāo)最大值,又?jǐn)M定刻度數(shù)量為v_num,可得到單位刻度的長度v_step=(v_max– v_min)/v_num。這幾個(gè)值雖然不是期望的理論屬性值,但給我們獲得理論值提供了基礎(chǔ)數(shù)據(jù)。
2.2.1 坐標(biāo)原點(diǎn) v_min_r
這是最關(guān)鍵的問題,基本原則是 v_min_r≤ v_min,包括3種情況:v_min_r=v_min、取整(Int)和取0。對(duì)這3種情況的分析如表1。表中v_min_r的取值及判斷處理方法還要把握優(yōu)先級(jí)別,從低到高為:v_min→取整②→取整①→取整③→0,即從基本滿足要求的低級(jí)去求得高級(jí),以達(dá)到兼顧各因素的最佳效果。假定在一個(gè)10個(gè)刻度網(wǎng)格的統(tǒng)計(jì)圖上展示一個(gè)序列,其中的最小值 v_min=26.3,原點(diǎn) v_min_r的值將取決于該序列中的最大值v_max(v_max決定著刻度值v_step_r的大小),用表1的方法可列舉推算不同 v_max下原點(diǎn)坐標(biāo)v_min_r等屬性的期望值,見表2。
表1 原點(diǎn)坐標(biāo)v_min_r取值方法分析
表2 不同v_max下推算原點(diǎn)坐標(biāo)v_min_r等屬性的期望值
2.2.2 單位刻度理論值 v_step_r
確定了理論最小值v_min_r,以v_max為參照最大值可取得參照步長v_step=v_max/v_sum,按照“125比例”原則可演算得到v_step_r值:
依此類推,在編寫程序代碼時(shí)可通過引用棧的數(shù)據(jù)結(jié)構(gòu)進(jìn)行處理。
2.2.3 圖形最大坐標(biāo)理論值 v_max_r
根據(jù)上述討論,構(gòu)造如下自定義函數(shù)(這里給出的是PowerScript代碼):
在土壤墑情資料整編應(yīng)用程序中運(yùn)用該函數(shù)對(duì)土壤含水率過程線、旬降雨量柱狀圖和地下水埋深過程線3個(gè)統(tǒng)計(jì)圖實(shí)施控制,取得令人十分滿意的效果。如圖1,是沒有通過函數(shù)實(shí)施控制,自動(dòng)生成的土壤含水率過程線,10 cm、20 cm和50 cm土層厚度3個(gè)數(shù)據(jù)序列全部數(shù)據(jù)中 v_min=21.3,v_max=34.4,變幅較小,統(tǒng)計(jì)圖控件默認(rèn)加載的坐標(biāo)原點(diǎn) 0和刻度單位5使線體沒有明顯的變化趨勢(shì)。
而同樣選擇8個(gè)刻度,運(yùn)用該函數(shù)實(shí)施自動(dòng)智能控制,獲得最佳效果的最小、最大值和刻度值:
以此對(duì)統(tǒng)計(jì)圖的屬性進(jìn)行修改,得到如圖2的圖形效果??梢钥吹胶瘮?shù)在分析獲取 v_min_r時(shí)考慮了“取整③”為20,獲取 v_step_r的值為2,即將“5比例”變?yōu)樽罴训摹?比例”。也可以看到該應(yīng)用程序?yàn)楦玫嘏浜显撟远x函數(shù),為用戶提供了一個(gè)可自主選擇的可變刻度數(shù)量v_num的支點(diǎn),讓自定義函數(shù)對(duì)統(tǒng)計(jì)圖控件靈活實(shí)施控制,使這一控件更加智慧,用戶更容易獲得最佳效果的圖形。
圖1 自動(dòng)生成的土壤含水率過程線
圖2 函數(shù)控制生成的土壤含水率過程線
在水文應(yīng)用程序采取這種方式控制圖形不失簡單而有效,即使不是使用統(tǒng)計(jì)圖控件,而是編程繪制圖形,也同樣會(huì)遇到這一問題,也同樣需要這樣處理。當(dāng)然,文中給出的函數(shù)只是一種方法。一方面,該函數(shù)中的各參數(shù)沒考慮負(fù)值;另一方面,行業(yè)上對(duì)圖形各個(gè)屬性的要求還沒有達(dá)到“死規(guī)范”,例如坐標(biāo)原點(diǎn)及最大刻度值并沒有嚴(yán)格的要求,函數(shù)的返回值也就滲入了筆者個(gè)人主觀的和經(jīng)驗(yàn)的成分,或者說是代表筆者自己的一個(gè)作圖思路,會(huì)存在片面性甚至缺乏科學(xué)性,敬請(qǐng)批評(píng)指正和給予補(bǔ)充完善。
[1]馮志全.數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì).北京:中國電力出版社.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-),女,四川大竹人,工程師,主要從事水利規(guī)劃設(shè)計(jì)。