本發(fā)明涉及散點畫圖領(lǐng)域,特別是涉及一種實現(xiàn)散點圖功能的方法和系統(tǒng)。
背景技術(shù):
隨著數(shù)字PCR的發(fā)展,軟件方面數(shù)據(jù)處理也呈現(xiàn)指數(shù)增長,由幾十萬增長到幾千萬的數(shù)據(jù)。一般在畫散點圖時,少則幾十萬的數(shù)據(jù)點,多則上千萬個數(shù)據(jù)點,使用傳統(tǒng)的畫散點圖的方法,軟件很容易出現(xiàn)卡頓的現(xiàn)象,甚至宕機,并且當(dāng)數(shù)據(jù)大量增加時,畫出來的散點圖效果用肉眼無法區(qū)分,因此,傳統(tǒng)的實現(xiàn)散點圖功能的方法畫圖清晰度低。
技術(shù)實現(xiàn)要素:
基于此,有必要針對上述問題,提供一種畫圖清晰度高的實現(xiàn)散點圖功能的方法和系統(tǒng)。
一種實現(xiàn)散點圖功能的方法,包括以下步驟:
獲取坐標系內(nèi)的數(shù)據(jù)數(shù)量、所述坐標系在面板中的參數(shù)和所述坐標系內(nèi)的原始數(shù)據(jù)坐標;
判斷所述坐標系中的數(shù)據(jù)數(shù)量是否大于預(yù)設(shè)閾值;
當(dāng)所述坐標系中的數(shù)據(jù)數(shù)量大于預(yù)設(shè)閾值時,根據(jù)所述坐標系在面板中的參數(shù)將所述坐標系內(nèi)的原始數(shù)據(jù)坐標轉(zhuǎn)換為所述面板的像素坐標;
過濾所述面板的像素坐標,得到過濾后的像素坐標;
根據(jù)所述過濾后的像素坐標畫圖并在所述面板顯示。
一種實現(xiàn)散點圖功能的系統(tǒng),包括:
獲取模塊,用于獲取坐標系內(nèi)的數(shù)據(jù)數(shù)量、所述坐標系在面板中的參數(shù)和所述坐標系內(nèi)的原始數(shù)據(jù)坐標;
判斷模塊,用于判斷所述坐標系中的數(shù)據(jù)數(shù)量是否大于預(yù)設(shè)閾值;
第一轉(zhuǎn)換模塊,用于當(dāng)所述坐標系中的數(shù)據(jù)數(shù)量大于預(yù)設(shè)閾值時,根據(jù)所述坐標系在面板中的參數(shù)將所述坐標系內(nèi)的原始數(shù)據(jù)坐標轉(zhuǎn)換為所述面板的像素坐標;
過濾模塊,用于過濾所述面板的像素坐標,得到過濾后像素坐標;
畫圖模塊,用于根據(jù)所述過濾后的像素坐標畫圖并在所述面板顯示。
上述實現(xiàn)散點圖功能的方法和系統(tǒng),在坐標系內(nèi)的數(shù)據(jù)數(shù)量大于預(yù)設(shè)閾值時,將坐標系內(nèi)的原始數(shù)據(jù)坐標轉(zhuǎn)換為面板的像素坐標,并過濾掉近似相等的像素坐標,精簡數(shù)據(jù)數(shù)量,最后根據(jù)過濾后的像素坐標畫圖,得出的圖像不會失真,清晰度高。
附圖說明
圖1為一實施例中實現(xiàn)散點圖功能的方法流程圖;
圖2為一實施例中實現(xiàn)散點圖功能的系統(tǒng)結(jié)構(gòu)圖。
具體實施方式
在一個實施例中,如圖1所示,一種實現(xiàn)散點圖功能的方法,包括以下步驟:
步驟S110:獲取坐標系內(nèi)的數(shù)據(jù)數(shù)量、坐標系在面板中的參數(shù)和坐標系內(nèi)的原始數(shù)據(jù)坐標。
具體地,坐標系在面板中的參數(shù)包括坐標系在面板中的起始坐標,坐標系的寬、坐標系的高、坐標系橫坐標的最小刻度、最大刻度和坐標系縱坐標的最小刻度和最大刻度。
步驟S120:判斷坐標系中的數(shù)據(jù)數(shù)量是否大于預(yù)設(shè)閾值。
具體地,依據(jù)使用不經(jīng)過數(shù)據(jù)過濾直接畫圖時,出現(xiàn)操作圖形卡頓現(xiàn)象,根據(jù)目前的測試,數(shù)據(jù)量大于100萬時,為數(shù)據(jù)量大,因此,在本實施例中,預(yù)設(shè)閾值為100萬。
步驟S130:當(dāng)坐標系中的數(shù)據(jù)數(shù)量大于預(yù)設(shè)閾值時,根據(jù)坐標系在面板中的參數(shù)將坐標系內(nèi)的原始數(shù)據(jù)坐標轉(zhuǎn)換為面板的像素坐標。
具體地,步驟S130包括:
Xrs=Xc/(Xa-Xi)*(a-Xi)+w
Yrs=Y(jié)c-Yc/(Ya-Yi)*(b-Yi)+h
其中,(w,h)為坐標系在面板中的起始坐標,坐標系的寬為Xc,高為Yc,坐標系的橫坐標的最小刻度為Xi,最大刻度為Xa,縱坐標的最小刻度為Yi,最大刻度為Ya,(a,b)為坐標系內(nèi)的任一原始數(shù)據(jù)坐標,(Xrs,Yrs)為轉(zhuǎn)換為面板的像素坐標。
步驟S140:過濾面板的像素坐標,得到過濾后的像素坐標。具體地,步驟S140包括:以任一像素坐標為圓心,以預(yù)設(shè)長度為半徑為圓,分別判斷面板中其余任一像素坐標是否在對應(yīng)圓內(nèi),具體為:
(x-x0)*(x-x0)+(y-y0)*(y-y0)<=r*r
其中,(x0,y0)為任一像素坐標,即圓心,r為半徑,(x,y)為其余任一像素坐標。
若其余任一像素坐標在圓內(nèi),則過濾其余任一像素坐標,得到過濾后像素坐標,即在同一個圓的范圍內(nèi)歸為同一點。對于已經(jīng)屬于某個圓范圍內(nèi)的點不再重復(fù)計算,即一個點只屬于一個圓的范圍。
或步驟S140包括:對于面板的像素坐標取整或者保留預(yù)設(shè)位小數(shù)進行過濾,得到過濾后像素坐標。
具體地,對于某個點(x,y),只采取取整或者保留若干位小數(shù)的方法。取整,即a=(int)x,b=(int)y,變換后為點(a,b),假設(shè)x=3.14171635,y=1.71376843,保留兩位小數(shù),即變?yōu)?3.14,1.71),變換后坐標一致的為一個點,有效精簡數(shù)據(jù)。
步驟S150:根據(jù)過濾后的像素坐標畫圖并在面板顯示。在本實施例中,步驟S150包括步驟152和步驟154。
步驟152:坐標系在面板中的參數(shù)包括坐標系在面板中的起始坐標,坐標系的寬、高、橫坐標的最小刻度、最大刻度和縱坐標的最小刻度和最大刻度,根據(jù)坐標系在面板中的參數(shù)將過濾后的像素坐標轉(zhuǎn)換為數(shù)據(jù)坐標。具體地,步驟152包括:
A=(Xrs’-w)*(Xa-Xi)/Xc+Xi
B=(Yc+h–Yrs’)*(Ya-Yi)/Yc+Yi
其中,(w,h)為坐標系在面板中的起始坐標,坐標系的寬為Xc,高為Yc,坐標系的橫坐標的最小刻度為Xi,最大刻度為Xa,縱坐標的最小刻度為Yi,最大刻度為Ya,(Xrs’,Yrs’)為面板內(nèi)過濾后的任一像素坐標,(A,B)為轉(zhuǎn)換為坐標系的數(shù)據(jù)坐標。
步驟154:根據(jù)數(shù)據(jù)坐標畫圖并在面板顯示。
上述實現(xiàn)散點圖功能的方法,在坐標系內(nèi)的數(shù)據(jù)數(shù)量大于預(yù)設(shè)閾值時,將坐標系內(nèi)的原始數(shù)據(jù)坐標轉(zhuǎn)換為面板的像素坐標,并過濾掉近似相等的像素坐標,精簡數(shù)據(jù)數(shù)量,最后根據(jù)過濾后的像素坐標畫圖,實現(xiàn)數(shù)字PCR軟件中一維和二維散點圖畫圖功能,得出的圖像不會失真,清晰度高。
在一個實施例中,如圖2所示,一種實現(xiàn)散點圖功能的系統(tǒng),包括獲取模塊110、判斷模塊120、第一轉(zhuǎn)換模塊130、過濾模塊140和畫圖模塊150,獲取模塊110連接判斷模塊120,判斷模塊120連接第一轉(zhuǎn)換模塊130,第一轉(zhuǎn)換模塊130連接過濾模塊140,過濾模塊140連接畫圖模塊150。
在一個實施例中,獲取模塊110用于獲取坐標系內(nèi)的數(shù)據(jù)數(shù)量、坐標系在面板中的參數(shù)和坐標系內(nèi)的原始數(shù)據(jù)坐標。
具體地,坐標系在面板中的參數(shù)包括坐標系在面板中的起始坐標,坐標系的寬、坐標系的高、坐標系橫坐標的最小刻度、最大刻度和坐標系縱坐標的最小刻度和最大刻度。
在一個實施例中,判斷模塊120用于判斷坐標系中的數(shù)據(jù)數(shù)量是否大于預(yù)設(shè)閾值。
具體地,依據(jù)使用不經(jīng)過數(shù)據(jù)過濾直接畫圖時,出現(xiàn)操作圖形卡頓現(xiàn)象,根據(jù)目前的測試,數(shù)據(jù)量大于100萬時,為數(shù)據(jù)量大,因此,在本實施例中,預(yù)設(shè)閾值為100萬。
在一個實施例中,第一轉(zhuǎn)換模塊130用于當(dāng)坐標系中的數(shù)據(jù)數(shù)量大于預(yù)設(shè)閾值時,根據(jù)坐標系在面板中的參數(shù)將坐標系內(nèi)的原始數(shù)據(jù)坐標轉(zhuǎn)換為面板的像素坐標。
具體地,坐標系在面板中的參數(shù)包括坐標系在面板中的起始坐標,坐標系的寬、高、橫坐標的最小刻度、最大刻度和縱坐標的最小刻度和最大刻度,第一轉(zhuǎn)換模塊130包括:
Xrs=Xc/(Xa-Xi)*(a-Xi)+w
Yrs=Y(jié)c-Yc/(Ya-Yi)*(b-Yi)+h
其中,(w,h)為坐標系在面板中的起始坐標,坐標系的寬為Xc,高為Yc,坐標系的橫坐標的最小刻度為Xi,最大刻度為Xa,縱坐標的最小刻度為Yi,最大刻度為Ya,(a,b)為坐標系內(nèi)的任一原始數(shù)據(jù)坐標,(Xrs,Yrs)為轉(zhuǎn)換為面板的像素坐標。
在一個實施例中,過濾模塊140用于過濾面板的像素坐標,得到過濾后像素坐標。過濾模塊140包括第一過濾單元或第二過濾單元。
具體地,第一過濾單元用于以任一像素坐標為圓心,以預(yù)設(shè)長度為半徑為圓,分別判斷面板中其余任一像素坐標是否在對應(yīng)圓內(nèi),具體為:
(x-x0)*(x-x0)+(y-y0)*(y-y0)<=r*r
其中,(x0,y0)為任一像素坐標,即圓心,r為半徑,(x,y)為其余任一像素坐標。
若其余任一像素坐標在圓內(nèi),則過濾其余任一像素坐標,得到過濾后像素坐標。
第二過濾單元用于對于面板的像素坐標取整或者保留預(yù)設(shè)位小數(shù)進行過濾,得到過濾后像素坐標。
在一個實施例中,畫圖模塊150用于根據(jù)過濾后的像素坐標畫圖并在面板顯示。畫圖模塊150包括第二轉(zhuǎn)換單元和畫圖單元。
坐標系在面板中的參數(shù)包括坐標系在面板中的起始坐標,坐標系的寬、高、橫坐標的最小刻度、最大刻度和縱坐標的最小刻度和最大刻度,第二轉(zhuǎn)換單元用于根據(jù)坐標系在面板中的參數(shù)將過濾后像素坐標轉(zhuǎn)換為數(shù)據(jù)坐標。具體地,第二轉(zhuǎn)換單元包括:
A=(Xrs’-w)*(Xa-Xi)/Xc+Xi
B=(Yc+h–Yrs’)*(Ya-Yi)/Yc+Yi
其中,(w,h)為坐標系在面板中的起始坐標,坐標系的寬為Xc,高為Yc,坐標系的橫坐標的最小刻度為Xi,最大刻度為Xa,縱坐標的最小刻度為Yi,最大刻度為Ya,(Xrs’,Yrs’)為面板內(nèi)過濾后的任一像素坐標,(A,B)為轉(zhuǎn)換為坐標系的數(shù)據(jù)坐標。
上述實現(xiàn)散點圖功能的系統(tǒng),在坐標系內(nèi)的數(shù)據(jù)數(shù)量大于預(yù)設(shè)閾值時,將坐標系內(nèi)的原始數(shù)據(jù)坐標轉(zhuǎn)換為面板的像素坐標,并過濾掉近似相等的像素坐標,精簡數(shù)據(jù)數(shù)量,最后根據(jù)過濾后的像素坐標畫圖,得出的圖像不會失真,清晰度高。
以上所述實施例的各技術(shù)特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術(shù)特征所有可能的組合都進行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認為是本說明書記載的范圍。
以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準。