一種數(shù)據(jù)趨勢曲線圖的繪制方法
【專利摘要】本發(fā)明公開了一種數(shù)據(jù)趨勢曲線圖的繪制方法,包含以下步驟:S1,建立二維坐標系,將數(shù)據(jù)的時間域作為X軸,將數(shù)據(jù)的值域作為Y軸;S2,獲取處于所述坐標系顯示區(qū)域內(nèi)的時間域范圍,與顯示區(qū)域X軸所占的像素數(shù)比較;S3,根據(jù)時間域范圍和X軸像素數(shù)的比例,將時間域按照X軸的像素數(shù)等分;對所有加載數(shù)據(jù)根據(jù)每條數(shù)據(jù)的時間點和像素對應(yīng)的時間范圍進行分組;S4,計算每個X軸上像素點對應(yīng)的一組數(shù)據(jù)的特征值作為該像素點對應(yīng)的Y軸坐標值;S5,根據(jù)每個X軸像素及其對應(yīng)的Y軸坐標特征值依次繪制點序列,并用平滑曲線或線段連接各坐標點。本發(fā)明方法支持對海量數(shù)據(jù)中的數(shù)據(jù)跳變情況的描繪,最終形成能夠真實反映大數(shù)據(jù)量變化趨勢的二維曲線。
【專利說明】
一種數(shù)據(jù)趨勢曲線圖的繪制方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及數(shù)據(jù)統(tǒng)計技術(shù)領(lǐng)域,具體涉及一種數(shù)據(jù)趨勢曲線圖的繪制方法。
【背景技術(shù)】
[0002]在繪制數(shù)據(jù)庫中數(shù)據(jù)的趨勢曲線圖時,需要將大量的數(shù)據(jù)加載并以二維曲線的形式進行渲染。以10萬條數(shù)據(jù)為例,如果顯示區(qū)域?qū)?yīng)1000個像素,像素是屏幕顯示圖元的最小單位,每個像素對應(yīng)100條數(shù)據(jù)信息。趨勢曲線圖的渲染需要在滿足整體曲線平滑的基礎(chǔ)上,保證數(shù)據(jù)跳變的情況也能夠在趨勢曲線圖中完整的呈現(xiàn),這一需求在一些實驗數(shù)據(jù)的采集和分析場景尤為突出。目前在面向大數(shù)據(jù)量的數(shù)據(jù)趨勢渲染過程中,海量數(shù)據(jù)中個別數(shù)據(jù)的跳變會由于顯示區(qū)域的限制,被相鄰數(shù)據(jù)段“平均化”或直接被裁減,無法真實的顯示在數(shù)據(jù)趨勢圖中,而這類數(shù)據(jù)往往是試驗分析過程中需要重點關(guān)注的。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的是提供一種數(shù)據(jù)趨勢曲線圖的繪制方法,以解決或至少減輕【背景技術(shù)】中所存在的至少一處的問題。
[0004]本發(fā)明采用的技術(shù)方案是:提供一種數(shù)據(jù)趨勢曲線圖的繪制方法,包含以下步驟:
[0005]SI,建立二維坐標系,將數(shù)據(jù)的時間域作為X軸,將數(shù)據(jù)的值域作為Y軸;
[0006]S2,獲取處于所述坐標系顯示區(qū)域內(nèi)的時間域范圍,與顯示區(qū)域X軸所占的像素數(shù)比較;如果時間域范圍小于等于X軸的像素數(shù),則直接根據(jù)時間點和數(shù)據(jù)的值在坐標系中繪制每個特征點,執(zhí)行步驟S5;如果時間域范圍大于X軸的像素數(shù),但小于X軸像素數(shù)的兩倍,則根據(jù)時間點和數(shù)據(jù)的值在坐標系中繪制每個特征點,執(zhí)行步驟S5;如果時間域范圍大于X軸像素數(shù)的兩倍,則執(zhí)行步驟S3;
[0007]S3,根據(jù)時間域范圍和X軸像素數(shù)的比例,將時間域按照X軸的像素數(shù)等分,每個像素對應(yīng)一個時間范圍;對所有加載數(shù)據(jù)根據(jù)每條數(shù)據(jù)的時間點和像素對應(yīng)的時間范圍進行分組,每個X軸上像素點的Y軸坐標由該組數(shù)據(jù)決定;
[0008]S4,計算每個X軸上像素點對應(yīng)的一組數(shù)據(jù)的特征值,將此特征值作為該像素點對應(yīng)的Y軸坐標值;
[0009]S5,根據(jù)每個X軸像素及其對應(yīng)的Y軸坐標特征值,能夠確定一個屏幕坐標點,依次繪制點序列,并用平滑曲線或線段連接各坐標點,形成一條完整的數(shù)據(jù)曲線圖。
[0010]優(yōu)選地,所述步驟SI中,根據(jù)加載數(shù)據(jù)時間戳的范圍計算X軸的顯示區(qū)間,根據(jù)數(shù)據(jù)全值域范圍的最小值和最大值確定Y軸的顯示區(qū)間。
[0011]優(yōu)選地,所述步驟S2中,在時間戳范圍大于像素數(shù),但小于像素數(shù)的兩倍時,當(dāng)一個像素對應(yīng)兩個時間戳的,取這兩個時間戳對應(yīng)數(shù)據(jù)值的平均值作為特征點,否則直接將對應(yīng)的數(shù)據(jù)的值作為特征點。
[0012]優(yōu)選地,所述步驟S4中,計算每個X軸上像素點對應(yīng)的一組數(shù)據(jù)的特征值的方法為,計算Y軸值域與Y軸像素數(shù)的商,設(shè)商值為a,每個X軸上像素點對應(yīng)的一組數(shù)據(jù)的平均值、最大值、最小值,分別設(shè)平均值為avg,最大值為max,最小值為min,如果max-avg>avg-min并且max_avg>a,則取max為特征值;如果avg-min>max-avg并且avg_min>a,則取min為特征值;否則取avg為特征值。
[0013]本發(fā)明的有益效果在于:本發(fā)明方法支持對海量數(shù)據(jù)中的數(shù)據(jù)跳變情況的描繪, 最終形成能夠真實反映大數(shù)據(jù)量變化趨勢的二維曲線?!靖綀D說明】
[0014]圖1是本發(fā)明一實施例的數(shù)據(jù)趨勢曲線圖的繪制方法的流程圖。【具體實施方式】
[0015]為使本發(fā)明實施的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行更加詳細的描述。在附圖中,自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。下面通過參考附圖描述的實施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。下面結(jié)合附圖對本發(fā)明的實施例進行詳細說明。
[0016]在本發(fā)明的描述中,需要理解的是,術(shù)語“中心”、“縱向”、“橫向”、“前”、“后”、 “左”、“右”、“豎直”、“水平”、“頂”、“底” “內(nèi)”、“外”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對本發(fā)明保護范圍的限制。
[0017]如附圖1所示,在本實施例中,包含100條試驗數(shù)據(jù),每條數(shù)據(jù)包含實際的值對應(yīng)的記錄時間點,時間域范圍為0到100,數(shù)據(jù)曲線的有效顯示區(qū)域為1 〇〇〇 X 800的可視范圍。
[0018]S1,建立二維坐標系,將數(shù)據(jù)的時間域作為X軸,將數(shù)據(jù)的值域作為Y軸,根據(jù)加載數(shù)據(jù)時間域范圍計算X軸的顯示區(qū)間,根據(jù)數(shù)據(jù)的值域范圍中的最小值和最大值確定Y軸的顯不區(qū)間;
[0019]在本實施例中,S卩X軸的坐標范圍為0到100,遍歷100條試驗數(shù)據(jù),得到其中的最小值和最大值,作為Y軸的坐標范圍,為0到200。
[0020]S2,獲取處于所述坐標系顯示區(qū)域內(nèi)的時間域范圍,與顯示區(qū)域X軸所占的像素數(shù)比較;如果時間域范圍小于等于像素數(shù),則直接根據(jù)時間點和數(shù)據(jù)的值在坐標系中繪制每個特征點,執(zhí)行步驟S5;如果時間域范圍大于X軸的像素數(shù),但小于X軸的像素數(shù)的兩倍,則根據(jù)時間點和數(shù)據(jù)的值在坐標系中繪制每個特征點,當(dāng)其中一個像素對應(yīng)兩個時間點的, 取這兩個時間點對應(yīng)數(shù)值的平均值作為該像素點對應(yīng)的Y軸坐標,否則直接將對應(yīng)的數(shù)據(jù)的值作為Y軸坐標,繪制每個特征點,執(zhí)行步驟S5;如果時間域范圍大于X軸像素數(shù)的兩倍, 則執(zhí)行步驟S3;
[0021]在本實施例中,時間域范圍為0到100,X軸像素數(shù)為1000,時間域范圍小于X軸像素數(shù),直接根據(jù)時間點對應(yīng)的數(shù)據(jù)值作為Y軸的坐標特征值,繪制特征點,根據(jù)每個X軸像素及其對應(yīng)的Y軸坐標特征值,能夠確定一個屏幕坐標點,依次繪制點序列,并用平滑曲線或線段連接各坐標點,形成一條完整的數(shù)據(jù)曲線圖。
[0022]在另一個實施例中,包含1500條試驗數(shù)據(jù),每條數(shù)據(jù)包含實際的值及對應(yīng)的記錄時間點,時間域范圍為〇到1500,數(shù)據(jù)曲線的有效顯示區(qū)域為1000 X 800的可視范圍。
[0023]S1,建立二維坐標系,將數(shù)據(jù)的時間域作為X軸,將數(shù)據(jù)的值域作為Y軸,根據(jù)加載數(shù)據(jù)時間域范圍計算X軸的顯示區(qū)間,根據(jù)數(shù)據(jù)的值域范圍中的最小值和最大值確定Y軸的顯示區(qū)間。在本實施例中,X軸的坐標范圍0到1500;構(gòu)建Y軸,遍歷1500條試驗數(shù)據(jù)得到其中的最小值和最大值,作為Y軸坐標范圍,為0到300。[〇〇24] S2,時間域范圍為0到1500,X軸像素數(shù)為1000,時間域大于X軸像素數(shù)且X軸像素數(shù)的2倍,每個X軸像素點對應(yīng)1到2條數(shù)據(jù)。遍歷每個X軸像素點,如果對應(yīng)1條數(shù)據(jù),直接根據(jù)時間點對應(yīng)的數(shù)據(jù)的值作為特征點;如果對應(yīng)2條數(shù)據(jù),取平均值作為特征點。根據(jù)每個X軸像素及其對應(yīng)的Y軸坐標特征值,能夠確定一個屏幕坐標點,依次繪制點序列,并用平滑曲線或線段連接各坐標點,形成一條完整的數(shù)據(jù)曲線圖。
[0025]在另一個備選實施例中,包含10000條試驗數(shù)據(jù),每條數(shù)據(jù)包含實際的值及對應(yīng)的記錄時間點,時間域范圍為0到1 〇〇〇〇,數(shù)據(jù)曲線的有效顯示區(qū)域為1 〇〇〇 X 800的可視范圍。
[0026]S1,構(gòu)建X軸,X軸的坐標范圍0到10000;構(gòu)建Y軸,遍歷10000條試驗數(shù)據(jù)得到其中的最小值和最大值,作為Y軸坐標范圍,為0到2000。
[0027]S2,時間與范圍為0到10000,X軸像素為1000,時間戳范圍為X軸像素數(shù)的10倍,執(zhí)行步驟3。
[0028]S3,根據(jù)時間域范圍和X軸像素數(shù)的比例,將時間域按照X軸的像素數(shù)等分,每個像素對應(yīng)一個時間范圍;對所有加載數(shù)據(jù)根據(jù)每條數(shù)據(jù)的時間點和像素對應(yīng)的時間范圍進行分組,每個X軸上像素點的Y軸坐標由該組數(shù)據(jù)決定;
[0029]在本實施例中,每個像素對應(yīng)10個數(shù)據(jù),將時間域范圍內(nèi)的數(shù)據(jù)分解為1000個數(shù)據(jù)組,每個數(shù)據(jù)組對應(yīng)10條數(shù)據(jù),并分配一個像素標識,每個X軸上像素點的Y軸坐標由像素標識對應(yīng)的數(shù)據(jù)組決定。
[0030]S4,計算每個X軸上像素點對應(yīng)的一組數(shù)據(jù)的特征值,將此特征值作為該像素點對應(yīng)的Y軸坐標值。
[0031]在本實施例中,計算每個X軸上像素點對應(yīng)的一組數(shù)據(jù)的特征值的方法為,計算Y 軸值域與Y軸像素數(shù)的商,設(shè)商值為a,每個X軸上像素點對應(yīng)的一組數(shù)據(jù)的平均值、最大值、 最小值,分別設(shè)平均值為avg,最大值為max,最小值為min,如果max-avg>avg-min并且max-avg>a,則取max為特征值;如果avg-min>max-avg并且avg-min>a,則取min為特征值;否則取 avg為特征值;[〇〇32]在本實施例中,Y軸值域與Y軸像素數(shù)的商值為2000/800 = 2.5。假設(shè)在本實施例中,第一組的數(shù)值為0.0、0.1、0.2、0.3、0.4、0.5、0.6、1.0、1.2,第一組數(shù)據(jù)的平均值為 0.48,最大值為1.2,最小值為0.0,最大值與平均值的差值為1.2-0.48 = 0.72,最小值與平均值的差值為〇.48-0.0 = 0.48,最大值與平均值的差大于最小值與平均值的差,但小于Y軸值域與Y軸像素數(shù)的商值2.5,故選擇平均值0.48作為第1組的特征值。第95組的數(shù)值為 20.0、20.5、20.4、20.5、20.8、20.9、21.0、25.0、21.2、21.3,平均值為21.16,最大值為25.0, 最小值為20.0,最大值與平均值的差值為25-21.16 = 3.84,平均值與最小值的差值為 21.16-20.0 = 1.16,最大值與平均值的差大于最小值與平均值的差,并且大于Y軸值域與Y軸像素數(shù)的商值2.5,故選擇最大值25.0為第95組的特征值,其中,該組數(shù)據(jù)中的25.0作為數(shù)據(jù)突變點,能夠真實的反應(yīng)在繪制的數(shù)據(jù)曲線中。
[0033]S5,根據(jù)每個X軸像素及其對應(yīng)的Y軸坐標特征值,能夠確定一個屏幕坐標點,依次繪制1000個像素點,通過平滑曲線連接,形成一條完整的數(shù)據(jù)曲線圖。
[0034]最后需要指出的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制。盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。
【主權(quán)項】
1.一種數(shù)據(jù)趨勢曲線圖的繪制方法,其特征在于,包含以下步驟:S1,建立二維坐標系,將數(shù)據(jù)的時間域作為X軸,將數(shù)據(jù)的值域作為Y軸;52,獲取處于所述坐標系顯示區(qū)域內(nèi)的時間域范圍,與顯示區(qū)域X軸所占的像素數(shù)比 較;如果時間域范圍小于等于X軸的像素數(shù),則直接根據(jù)時間點和數(shù)據(jù)的值在坐標系中繪制 每個特征點,執(zhí)行步驟S5;如果時間域范圍大于X軸的像素數(shù),但小于X軸像素數(shù)的兩倍,則 根據(jù)時間點和數(shù)據(jù)的值在坐標系中繪制每個特征點,執(zhí)行步驟S5;如果時間域范圍大于X軸 像素數(shù)的兩倍,則執(zhí)行步驟S3;53,根據(jù)時間域范圍和X軸像素數(shù)的比例,將時間域按照X軸的像素數(shù)等分,每個像素對 應(yīng)一個時間范圍;對所有加載數(shù)據(jù)根據(jù)每條數(shù)據(jù)的時間點和像素對應(yīng)的時間范圍進行分 組,每個X軸上像素點的Y軸坐標由該組數(shù)據(jù)決定;S4,計算每個X軸上像素點對應(yīng)的一組數(shù)據(jù)的特征值,將此特征值作為該像素點對應(yīng)的 Y軸坐標值;S5,根據(jù)每個X軸像素及其對應(yīng)的Y軸坐標特征值,能夠確定一個屏幕坐標點,依次繪制 點序列,并用平滑曲線或線段連接各坐標點,形成一條完整的數(shù)據(jù)曲線圖。2.如權(quán)利要求1所述的數(shù)據(jù)趨勢曲線圖的繪制方法,其特征在于:所述步驟S1中,根據(jù) 加載數(shù)據(jù)時間戳的范圍計算X軸的顯示區(qū)間,根據(jù)數(shù)據(jù)全值域范圍的最小值和最大值確定Y 軸的顯示區(qū)間。3.如權(quán)利要求1所述的數(shù)據(jù)趨勢曲線圖的繪制方法,其特征在于:所述步驟S2中,在時 間戳范圍大于像素數(shù),但小于像素數(shù)的兩倍時,當(dāng)一個像素對應(yīng)兩個時間戳的,取這兩個時 間戳對應(yīng)數(shù)據(jù)值的平均值作為特征點,否則直接將對應(yīng)的數(shù)據(jù)的值作為特征點。4.如權(quán)利要求1所述的數(shù)據(jù)趨勢曲線圖的繪制方法,其特征在于:所述步驟S4中,計算 每個X軸上像素點對應(yīng)的一組數(shù)據(jù)的特征值的方法為,計算Y軸值域與Y軸像素數(shù)的商,設(shè)商 值為a,每個X軸上像素點對應(yīng)的一組數(shù)據(jù)的平均值、最大值、最小值,分別設(shè)平均值為avg, 最大值為max,最小值為min,如果max-avg>avg-min并且max_avg>a,則取max為特征值;如果 avg-min>max-avg并且avg-min>a,則取min為特征值;否則取avg為特征值。
【文檔編號】G06T11/20GK106023280SQ201610317221
【公開日】2016年10月12日
【申請日】2016年5月13日
【發(fā)明人】付強, 陳溦
【申請人】中國航空工業(yè)集團公司西安飛機設(shè)計研究所