本發(fā)明涉及信息可視化領(lǐng)域,尤指一種基于螺旋圖的時(shí)間序列數(shù)據(jù)可視化方法。
背景技術(shù):
人類(lèi)的日常行為中,時(shí)間是無(wú)所不在的標(biāo)尺。在當(dāng)今數(shù)據(jù)劇增的時(shí)代,人們?cè)诨顒?dòng)中都產(chǎn)生著大量的數(shù)據(jù),其中就包含涉及狀態(tài)變化的時(shí)間序列數(shù)據(jù)。人們往往希望從時(shí)間序列數(shù)據(jù)中得到數(shù)據(jù)隨著時(shí)間變化的模式,但是通過(guò)肉眼觀察大量數(shù)據(jù)是很難從中快速得到有效信息。
可視化將數(shù)據(jù)抽象為圖表的形式,幫助人們理解晦澀難懂的數(shù)據(jù),并通過(guò)交互發(fā)現(xiàn)隱藏在數(shù)據(jù)中的知識(shí)。比較常見(jiàn)的可視化形式包括折線(xiàn)圖、圓餅圖、散點(diǎn)圖以及最近出現(xiàn)交互性比較強(qiáng)的?;鶊D,樹(shù)圖等等。不同的可視化展現(xiàn)形式適用于不同特性的數(shù)據(jù)??梢暬夹g(shù)在展示時(shí)間序列數(shù)據(jù)已經(jīng)取得了卓越的成果,例如曲線(xiàn)圖,主題河流,樹(shù)圖,螺旋圖等。其中螺旋圖是可視化中展示周期性時(shí)間序列數(shù)據(jù)的一種重要的形式。螺旋圖通過(guò)連續(xù)的螺旋線(xiàn)能夠展現(xiàn)數(shù)據(jù)在時(shí)間上的連續(xù)性以及不同時(shí)間周期上的變化規(guī)律,因此其在處理周期性連續(xù)數(shù)據(jù)領(lǐng)域得到了廣泛的應(yīng)用。
階段性時(shí)間序列數(shù)據(jù)類(lèi)型是一種比較特殊的數(shù)據(jù)類(lèi)型,它描述了一個(gè)事件的狀態(tài)隨著時(shí)間的變化。一個(gè)事件從起始時(shí)間到結(jié)束時(shí)間,一共包含n個(gè)狀態(tài),事件順序地從狀態(tài)1轉(zhuǎn)換到狀態(tài)n,從狀態(tài)i轉(zhuǎn)換到狀態(tài)i+1的過(guò)程稱(chēng)為階段i,并且該過(guò)程存在多條可達(dá)路徑。對(duì)階段性時(shí)間序列數(shù)據(jù)可視化需要滿(mǎn)足以下要求:1.有效地展示狀態(tài)轉(zhuǎn)換過(guò)程中時(shí)間的變化;2.良好的交互,為用戶(hù)進(jìn)行各個(gè)階段的路徑選擇提供決策支持;3.在有限的空間中展示可擴(kuò)展的時(shí)間長(zhǎng)度;4.保證數(shù)據(jù)可靠性的條件下滿(mǎn)足人們審美需求。
本發(fā)明所研究數(shù)據(jù)的重要特征是:狀態(tài)轉(zhuǎn)換之間的路徑耗時(shí)具有不確定性,而已有的可視化方法,如平行坐標(biāo)、?;鶊D等不能有效展示可擴(kuò)展的時(shí)間軸。平行坐標(biāo)與?;鶊D,以一條時(shí)間軸表示一個(gè)狀態(tài),狀態(tài)之間的連線(xiàn)表示可達(dá)路徑,那么當(dāng)某個(gè)路線(xiàn)歷時(shí)很長(zhǎng)時(shí)必然會(huì)導(dǎo)致與之相關(guān)的時(shí)間軸加長(zhǎng),這顯然不符合可視化簡(jiǎn)潔美觀的審美要求。本發(fā)明提出的螺旋圖能較好解決這個(gè)問(wèn)題。
螺旋圖廣泛應(yīng)用于表示周期性變化的時(shí)間序列數(shù)據(jù)。在較早1998年Carils等給出了一種可視化周期性時(shí)間序列數(shù)據(jù)的新型可視化形式,并介紹了幾個(gè)螺旋可視化的實(shí)際應(yīng)用。不同的可視化樣式可以以螺旋圖的樣式排列布局在圖表上,比如墨點(diǎn)圖,三維環(huán)圖,柱狀圖,這些實(shí)體的大小表示數(shù)值的大小。1999年Hewagamage等采用3D的螺旋形式在地理圖片上展示時(shí)空性數(shù)據(jù)。2001年Weber等關(guān)注使用線(xiàn)條與顏色對(duì)時(shí)序性數(shù)據(jù)編碼。當(dāng)數(shù)據(jù)量較大時(shí)提出使用3D耳輪式螺旋展示數(shù)據(jù)。2002年Dragicevic等提出一種新型的可視化展示即將發(fā)生事件的方式——SpriaClock(螺旋時(shí)鐘),它結(jié)合了螺旋圖和時(shí)鐘表現(xiàn)形式,能較好展示時(shí)序發(fā)生的一系列事件。2005年Tominski等提出在3D地圖上展示3D耳輪螺旋圖,它針對(duì)3D地圖帶來(lái)的信息隱藏提出了隧道視圖查看更多耳輪螺旋圖隱藏的信息,并提出將耳輪螺旋圖進(jìn)行顏色編碼展示多個(gè)變量的數(shù)據(jù)的編碼形式。2008年Tominski等提出使用TTPC編碼方式對(duì)螺旋圖顏色編碼,使得數(shù)值對(duì)于用戶(hù)更加清晰可辨。2012年Cheng等提出一種新穎的極平行坐標(biāo)的方式可視化時(shí)間序列數(shù)據(jù),并與傳統(tǒng)平行坐標(biāo)進(jìn)行比較。極平行坐標(biāo)可以展示更多的坐標(biāo),而且可以有效地展示時(shí)間序列數(shù)據(jù)的周期性特征。
技術(shù)實(shí)現(xiàn)要素:
鑒于現(xiàn)有的可視化形式比如平行坐標(biāo)和桑基圖,以及狀態(tài)轉(zhuǎn)換之間的路徑耗時(shí)具有不確定性,本發(fā)明的目的是提供了一種在有限的空間內(nèi)有效、簡(jiǎn)明顯示狀態(tài)轉(zhuǎn)換間路徑信息的方法——基于螺旋圖的時(shí)間序列數(shù)據(jù)可視化方法。
具體實(shí)施步驟如下所示:
一種基于螺旋圖的時(shí)間序列數(shù)據(jù)可視化方法,順序執(zhí)行如下具體步驟:
步驟1:輸入具有狀態(tài)集S={s1,...si,...sn},和狀態(tài)間可達(dá)路徑集L={L1,...Li,...Ln-1}的階段性時(shí)間序列數(shù)據(jù),其中,n為狀態(tài)數(shù)量,si表示第i個(gè)狀態(tài),從狀態(tài)i轉(zhuǎn)換到狀態(tài)i+1的過(guò)程稱(chēng)為階段i,Li表示階段i的可達(dá)路徑;
步驟2:根據(jù)狀態(tài)集S狀態(tài)屬性設(shè)計(jì)狀態(tài)圓環(huán),包括狀態(tài)圓環(huán)半徑集R={r1,...ri,...rn},狀態(tài)圓環(huán)寬度arcWidth,狀態(tài)圓環(huán)顏色集Color={color1,...colori,...colorn};根據(jù)狀態(tài)周期T設(shè)計(jì)的狀態(tài)圓環(huán)坐標(biāo)軸,其中,半徑集R中元素ri表示狀態(tài)si圓環(huán)的外半徑,Color集中的元素colori表示狀態(tài)si的顏色,狀態(tài)集S表現(xiàn)為一系列同心圓環(huán),圓心為(xo,yo);
步驟3:根據(jù)路徑集L和狀態(tài)集S,采用橢圓子線(xiàn)條完成路徑的線(xiàn)路繪制,其中路徑集L中各個(gè)階段路徑包括以下屬性:路徑的起始時(shí)間startTime,到達(dá)時(shí)間arriveTime,經(jīng)歷時(shí)間t。詳細(xì)操作步驟如下:
步驟3.1:根據(jù)每條路徑lik(i=1,2,...n-1;k=1,2,...pi;pi=|Li|)的起始時(shí)刻startTimeik,到達(dá)時(shí)刻arriveTimeik,得到位于狀態(tài)si圓環(huán)上的起始位置坐標(biāo)為(Sxik,Syik),位于狀態(tài)si+1圓環(huán)的到達(dá)位置坐標(biāo)為(Txik,Tyik);
步驟3.2:根據(jù)路徑lik的歷時(shí)tik,以及狀態(tài)圓環(huán)周期T,求得路徑螺旋線(xiàn)跨度Δradianik=(tik/T)*2π,并將路徑lik設(shè)計(jì)為由segmentik=(tik/T)*360段橢圓子線(xiàn)條構(gòu)成;
步驟3.3:階段i半徑跨度Δri=ri+1-arcWidth-ri分成segmentik段,每段半徑跨度為Δrik=Δri/segmentik,則橢圓子線(xiàn)條segikj(j=1,2,...segmentik)的短半軸為aikj=ri+Δrik*(j-1),長(zhǎng)半軸為bikj=ri+Δrik*j,且橢圓的圓心與狀態(tài)圓環(huán)圓心相同;
步驟3.4:根據(jù)以上步驟繪制路徑線(xiàn)條。
步驟4:路徑lik的類(lèi)型映射到區(qū)間[0,1]中得到l_typeik,并將l_typeik作為一元函數(shù)y=kx+b的自變量,得到的y即為lik的顏色colorik;
步驟5:根據(jù)階段i中路徑lik與階段內(nèi)其他路徑的交叉點(diǎn)個(gè)數(shù)crossNumik,利用長(zhǎng)尾函數(shù)求得路徑的透明度transpik,其中crossNumik是自變量,transpik是因變量;
步驟6:進(jìn)行交互設(shè)計(jì)。
采用這樣的處理,本發(fā)明方法使用一個(gè)圓環(huán)表示一個(gè)狀態(tài),螺旋線(xiàn)表示狀態(tài)間可達(dá)路徑。該模型能夠在有限的空間中,在不增加時(shí)間軸長(zhǎng)度的情況下,有效展示任意時(shí)間長(zhǎng)度的路徑。采用基于長(zhǎng)尾函數(shù)的透明度算法,根據(jù)一條路徑與其他路徑的交叉數(shù),給每條路徑分配透明度,從而降低路徑交叉重疊帶來(lái)雜亂度,同時(shí)有效保留了數(shù)據(jù)信息。并提供了路徑的篩選,高亮,查看詳細(xì)信息,縮放等功能,實(shí)現(xiàn)了靈活的交互操作。
與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果是:
一、現(xiàn)有表現(xiàn)時(shí)間序列的可視化方法不能確保狀態(tài)間的可達(dá)路徑表現(xiàn)在有限確定的空間內(nèi)。而本發(fā)明將狀態(tài)設(shè)置為圓環(huán)形式,每個(gè)圓環(huán)的半徑都已確定,且狀態(tài)間可達(dá)的路徑確定在起始狀態(tài)圓環(huán)與終止?fàn)顟B(tài)圓環(huán)之間的空間內(nèi),故可以處理任意時(shí)間長(zhǎng)度的路徑顯示。
二、有限空間中展示較多的路徑曲線(xiàn)產(chǎn)生較多的交叉點(diǎn),本發(fā)現(xiàn)使用基于長(zhǎng)尾函數(shù)的透明度設(shè)置算法,可以有效減少交叉點(diǎn)的個(gè)數(shù),并可以通過(guò)一些交互手段完整清晰顯示所有的可達(dá)路徑。
傳統(tǒng)的時(shí)間序列可視化方法,不能在有限的空間內(nèi)顯示所有的路徑。而本發(fā)現(xiàn)基于螺旋圖的時(shí)間序列數(shù)據(jù)可視化方法可以高效地解決這個(gè)問(wèn)題,并且能夠完整地展示所有需要信息,并保證了展示圖表的整潔和便捷性。
附圖說(shuō)明
圖1是本發(fā)明主要步驟的工作框圖。
圖2是狀態(tài)si示例圖。
圖3是多個(gè)狀態(tài)可視化示例圖。
圖4是多個(gè)狀態(tài)轉(zhuǎn)換路徑可視化示例圖。
圖5是參數(shù)說(shuō)明圖。
圖6是螺旋線(xiàn)透明度設(shè)置示例圖。
圖7是實(shí)驗(yàn)結(jié)果最終數(shù)據(jù)展示的結(jié)果圖。
鑒于專(zhuān)利說(shuō)明書(shū)附圖對(duì)彩色表達(dá)的限制,特作如下說(shuō)明:
圖1中圓環(huán)顏色為colori;
圖2中圓環(huán)顏色的從內(nèi)到外分別為color1,color2,color3;
圖3中階段1中螺旋線(xiàn)l1k顏色為圖2中color1到color2的過(guò)渡色;階段2中螺旋線(xiàn)l2k顏色為圖2中color2到color3的過(guò)渡色。
圖7中成都圓環(huán)顏色color1,西安圓環(huán)顏色color2,鄭州圓環(huán)顏色color3;成都到西安列車(chē)的顏色為color1與color2的過(guò)渡色;西安到鄭州列車(chē)的顏色為color2與color3的過(guò)渡色。
具體實(shí)施方式
具體實(shí)施步驟如下所示:
步驟1:輸入具有狀態(tài)集S={s1,...si,...sn},和狀態(tài)間可達(dá)路徑集L={L1,...Li,...Ln-1}的階段性時(shí)間序列數(shù)據(jù),其中,n為狀態(tài)數(shù)量,si表示第i個(gè)狀態(tài),從狀態(tài)i轉(zhuǎn)換到狀態(tài)i+1的過(guò)程稱(chēng)為階段i,Li表示階段i的可達(dá)路徑;
步驟2:根據(jù)狀態(tài)集S的屬性設(shè)計(jì)狀態(tài)圓環(huán),包括狀態(tài)圓環(huán)半徑集R={r1,...ri,...rn},狀態(tài)圓環(huán)寬度arcWidth,狀態(tài)圓環(huán)顏色集Color={color1,...colori,...colorn};根據(jù)狀態(tài)周期T設(shè)計(jì)的狀態(tài)圓環(huán)坐標(biāo)軸,其中,半徑集R中元素ri表示狀態(tài)si圓環(huán)的外半徑,Color集中的元素colori表示狀態(tài)si的顏色,狀態(tài)集S表現(xiàn)為一序列同心圓環(huán),圓心為(xo,yo);
步驟3:根據(jù)路徑集L和狀態(tài)集S,采用橢圓子線(xiàn)條完成路徑的線(xiàn)路繪制,其中路徑集L中各個(gè)階段中路徑包括以下屬性:路徑的起始時(shí)間startTime,到達(dá)時(shí)間arriveTime,經(jīng)歷時(shí)間t。
階段i的一條可達(dá)路徑lik(起始時(shí)間startTimeik,到達(dá)時(shí)間arriveTimeik,歷時(shí)tik)的起始位置(Sxik,Syik)為到達(dá)位置(Txik,Tyik)為
路徑lik可視化為螺旋線(xiàn)形式,其由segmentik段子線(xiàn)條構(gòu)成,每條子線(xiàn)條由一段橢圓弧segikj構(gòu)成,每個(gè)橢圓弧的短半軸aikj=ri+Δrik*(j-1)和長(zhǎng)半軸的bikj=ri+Δrik*j,segikj的終點(diǎn)位置(Txikj,Tyikj)即segik(j+1)的起始位置(Sxikj,Syikj)為其中Δaglik=Δradianik/segmentik。
步驟4:路徑lik類(lèi)型映射到區(qū)間[0,1]中為l_typeik,并將l_typeik作為一元函數(shù)y=kx+b的自變量,得到因變量lik的顏色colorik。
由狀態(tài)si的顏色為colori,狀態(tài)si+1的顏色為colori+1,則可得到lik的顏色為colorik=(colori+1-colori)*l_typeik+colori。
步驟5:根據(jù)算法求得路徑lik和路徑lip是否交叉,可以求得階段i內(nèi)路徑lik與其余路徑的交叉點(diǎn)的個(gè)數(shù)crossNumik,利用長(zhǎng)尾函數(shù)求得路徑的透明度transpik。通過(guò)設(shè)置路徑的最大透明度transpMaxi,最小透明度transpMini,并求得階段i內(nèi)路徑交叉點(diǎn)最大為crossNumMaxi,最小為crossNumMini,則
步驟6:進(jìn)行交互設(shè)計(jì),包括:分區(qū)段高亮顯示階段i內(nèi)各個(gè)時(shí)間區(qū)間內(nèi)的路徑,高亮顯示一條路徑并顯示路徑詳情。
本發(fā)明設(shè)計(jì)了一個(gè)能夠在有限的空間內(nèi)有效顯示任意時(shí)間長(zhǎng)度以及任意數(shù)量的路徑的方法,狀態(tài)間的路徑存在于狀態(tài)圓環(huán)之間,并根據(jù)路徑之間的交叉點(diǎn)個(gè)數(shù),依據(jù)長(zhǎng)尾函數(shù)判斷路徑的透明度改善大量路徑給用戶(hù)查看帶來(lái)的雜亂感。
為了驗(yàn)證本發(fā)明的有效性,將基于螺旋圖的階段性時(shí)間序列可視化模型應(yīng)用于中國(guó)鐵路數(shù)據(jù),旨在為用戶(hù)選擇需要轉(zhuǎn)車(chē)的路線(xiàn)提供決策支持。
實(shí)驗(yàn)數(shù)據(jù)來(lái)自中國(guó)鐵路售票網(wǎng)www.12306.cn,定義事件為從成都經(jīng)西安到達(dá)鄭州的行程。則狀態(tài)集S為{成都,西安,鄭州},且l1k(k=1,2,...,11),l2k(k=1,2,...,68),即成都到西安有11班列車(chē)可達(dá),西安到鄭州有68班列車(chē)可達(dá)。列車(chē)數(shù)據(jù)含有出發(fā)時(shí)間、到站時(shí)間、歷時(shí),班次。根據(jù)列車(chē)數(shù)據(jù)的時(shí)間特性,狀態(tài)的周期設(shè)為24小時(shí)。特別地,在列車(chē)數(shù)據(jù)中,由于列車(chē)的發(fā)車(chē)時(shí)間在24小時(shí)中并不是均勻分布的,結(jié)合發(fā)車(chē)時(shí)間的分布情況與人們出行的習(xí)慣,將周期T分為每段時(shí)長(zhǎng)為3小時(shí)的8段。