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