目錄
小編又搞來一批新鮮出爐的資料視覺化圖表,與上一次不同,這次多數是更貼合實際應用的高級圖表,都是由我們的開發者開發應用於FineReport報表軟體的。
桑基圖——能源、材料成分、金融等資料視覺化分析利器
桑基圖是一種能量分流圖,常用用於能源、材料成分、金融等數據的資料視覺化分析。在桑基圖愛好者社區網站上寫著這樣一句話:「A Sankey diagram says more than 1000 pie charts」,意思是一張桑基圖比一千張餅圖描述的東西更豐富。
桑基圖的應用很小眾,並不廣泛。但看似複雜的桑基圖其實使用起來非常簡單高效,譬如上面的能量流動圖,圖中延伸的分支的寬度對應數據流量的大小。
桑基圖的特點如下:
1.起始流量和結束流量相同,所有主支寬度的總和與所有分出去的分支寬度總和相等,保持能量的平衡;
2.在內部,不同的線條代表了不同的流量分流情況,它的寬度成比例地顯示此分支佔有的流量;
3.節點不同的寬度代表了特定狀態下的流量大小。
桑基圖由流量、節點、邊構成,適合節點數據集(可選),邊數據集。數據權重映射到節點和邊的寬度。桑基圖需要保持能量守恆,不能在中間過程創造出流量,流失(損耗)的流量應流向表示損耗的節點。
桑基圖程式在FineReport大熒幕報表中的效果展示:
平行坐標圖——對大數據「降維攻擊」
平行坐標圖是一種用來呈現多變數,或者高緯度數據的資料視覺化技術,用它可以很好的呈現多個變數之間的關係。雖然其中大量的線段最初看起來令人費解,但它們是理解多維數值數據集的一個非常強大的工具。
通常描述平行坐標的方法是討論高維空間,以及這種技術如何平行地布置坐標軸而不是相互正交。下面是具體的數據表。表中詳細描述了從1970到1982年間發布的汽車型號,包括它們的里程數(加侖)、氣缸數、馬力、重量以及它們被生產的年份等等。
現在想像一下,每一欄都映射到上面圖像中的垂直軸上。每一個數據值都會沿著直線的某個地方結束,縮放到位於底部的最小值和頂部的最大值之間。然而,純集合的點不會非常有用,因此屬於同一記錄(行)的點與行連接,這就產生了平行線的特徵混雜。
通過查看這個資料視覺化,我們可以了解很多訊息。氣缸之所以突出,是因為它只有幾個不同的值。氣缸的數目只能是一個整數,這裡不超過八個,所以所有的行都必須經過一個小的點。這樣的數據和分類數據通常不適合平行坐標。但如果是一個或兩個,這不是問題。
在每加侖汽油能行駛的英里數MPG和氣缸之間,你可以看出,八缸汽車相對於六和四缸的一般有較低的里程。如果跟著線看它們是如何交叉的,可以發現很多交叉線是反向關係的標誌,圖形顯示出這樣的規律:越多的氣缸,越低的里程。
汽缸和馬力之間的相關性更為直接:汽缸越多就意味著更多的馬力。當然,這裡也有一些交叉線,所以更多的氣缸並不總是意味著更多的能量,但總的趨勢顯然是存在的。在馬力和重量之間,情況是相似的:馬力越大一般意味著車越重,但當然也有一些價值的分散。還有一個例外,一個高馬力八缸汽車是非常輕的。仔細找一找可以發現那個離群值。
最後,重量和年份之間的線交叉很多,這表明多年來汽車變得更輕了。你也可以很容易地看出,年軸只記錄了少量不同的數值,類似於氣缸。雖然這是一個非常簡單的示例,但它顯示了大多數數據集中的典型結構。
平行坐標可以做篩選互動。平行坐標系中的主坐標稱為「刷」,看下面的圖像應該很明顯。為了做到這一點,我們來看看所有的軸。在這裡,我們在年軸上刷了1980年到1982年的區間。結果是線條的一部分被刷成了黑色,其餘部分仍然以灰色為背景。
在FineReport報表BI系統中,我們的開發者大江東通過封裝某著名開源圖表庫,開發了支援基本平行坐標圖與地圖或散布矩陣的組合圖。
平行坐標圖程式在FineReport報表工具中的效果展示:
馬賽克方塊圖表,「千萬不要亂用」!
標準的、非均勻的馬賽克圖在現實生活中使用較少,多用於統計學領域,常用於SAS的某些模塊。均勻的馬賽克圖在生活中常有應用,比較經典的例子是地鐵站與站之間的票價圖。
標準的馬賽克圖關注的數據維度非常多,一般的用戶很難直觀的理解。一般情況下,推薦使用均勻的馬賽克圖,對於非均勻的馬賽克圖,多數情況下可以拆解成多個不同的圖表。
坐標軸均勻的馬賽克圖也是統計學領域標準的馬賽克圖,一個均勻的馬賽克圖包含以下構成元素:均勻的分類坐標軸、顏色均有含義的矩形塊和圖例。
從數據上看,均勻的馬賽克圖和熱力圖在連續數據上的含義非常相似,可以近似的理解相應的使用場景。但熱力圖表示第三維度的顏色是線性變化的,馬賽克圖表示第三維度的顏色是分類的。標準熱力圖要經過平滑演算法,沒有明顯的邊界,而馬賽克圖擁有清晰的邊界。
Martin Theus在他的數據分析文章《理解基於區域的圖表:馬賽克圖》中開宗明義的寫道:馬賽克圖是分類數據顯示的瑞士軍刀。而條形圖則停留在單變數的極限中,馬賽克圖及其變體充分展示了對多元分類數據的強大資料視覺化能力。
關係圖——支援力引導布局、笛卡爾坐標系、日曆圖
關係類的圖表通常用視覺化的方法顯示數據之間相互關係,使用圖形的嵌套和位置表示數據之間的關係,通常用於表示數據之間的前後順序、父子關係以及相關性。
常見的桑基圖、韋恩圖都算作是關係圖的一種表現形式。
我們的開發者smile通過整合著名的商用開源圖表庫,使得在「環形布局「之外,關係圖程式支援了多種關係類的布局,例如關係數據與笛卡爾坐標系相結合,關係數據的力引導布局,以及與日曆圖相結合的關係數據,並且支援不同的交互動畫和特效。
地圖圈選——用滑鼠畫個圈圈就能看到對應的數據圖表
地圖圈選是一個特效,形象解釋,就是用滑鼠畫個圈圈就能看到對應的數據圖表。程式開發者行舟通過封裝著名的商用圖表庫,為FineReport報表開發了普通的散點標記地圖和條形圖的結合圖。
首先我們只需要按照傳統的標記地圖,為特殊選擇地圖配置點的名稱、數值和位置數據。程式已經內置有中國主要城市的坐標,所以添加城市標記的時候,不需要單獨定義坐標經緯度位置。
樣式面板中支援引用fr內置的json地圖數據,分為世界地圖、國家地圖和各省地圖,方便各種場景下的使用。
重點來了哈,預覽的時候,可以點擊右上角的十字選擇、自由選擇、保持選擇、清除等按鈕,在地圖區域標記顯示。
最後
以上的視覺化程式都是由帆軟開發者團隊成員開發,都源自自行開發或者一部分開源庫,作為外掛程式應用於FineReport的資料視覺化圖表和動效中。
喜歡這篇文章嗎?歡迎分享按讚,給予我們支持和鼓勵!