文件可视化编辑_高维数据可视化必备图形平行坐标图
作者:科研貓 | 小飛鼠
責編:科研貓?| 依米
如果我們想比較某個數(shù)值在不同分組之間的變化差異。或者隨著時間序列的變化趨勢,往往會用到折線圖。折線圖是在我們的科研繪圖當中最為常用的圖形之一。
正如在這個圖形中,可以清晰的看到,某些觀察值隨著組別的變化而產(chǎn)生的變化。不過,隨著基因組大數(shù)據(jù)的不斷發(fā)展和應用,在很多科研繪圖場景中,高維數(shù)據(jù)的處理變得越來越重要。很多時候我們接觸到的數(shù)據(jù)。不僅僅是幾個樣本和十幾個測量值而已,往往是成百上千個基因或者檢測結果。如此高維的數(shù)據(jù),如果我們想要觀察他們的變化趨勢,應該使用何種圖形呢?
在上面的這張圖形中,僅僅有兩條線。如果有幾十條、幾百條折線,或者多個分組呢?不知道大家有沒有考慮過這樣的問題。遇到如此的數(shù)據(jù),想要繪制折線圖,我們該如何來進行展示?
剛好近些天,有粉絲問我這樣一個問題。他說他們隨訪了一個腫瘤病人很長的時間,獲取了這個病人從發(fā)病前到確診腫瘤、再到腫瘤進展、腫瘤轉移等各個時期的基因組數(shù)據(jù)。他想要分析各個基因在不同時期的變化趨勢,并從中選取影響腫瘤轉歸的重要因子。
對于這個問題,如果單純?yōu)榱吮容^不同分期基因表達的差異。我們可以用箱線圖,或者小提琴圖,但是這些圖形體現(xiàn)的僅僅是不同分組之間的差異。同一個基因是如何隨著時間變化而變化的,貌似只能夠通過折線圖來進行展示。但是話又說回來,如此多的基因,來繪制折線圖使用常規(guī)的繪圖方法能夠實現(xiàn)嗎?今天我們就來給大家介紹一種全新的圖形,它可以說是折線圖的進階版,非常適合進行高維數(shù)據(jù)變化趨勢的可視化,那就是平行坐標圖。
平行坐標圖(parallel coordinate plot)是可視化高維多元數(shù)據(jù)的一種常用方法,為了顯示多維空間中的一組對象,繪制由多條平行且等距分布的軸,并將多維空間中的對象表示為在平行軸上具有頂點的折線。頂點在每一個軸上的位置就對應了該對象在該維度上的中的變量數(shù)值,比如下面的這張圖。
從圖中我們可以看出,平行坐標圖和折線圖相比是非常相似的。不過,雖然平行折線圖屬于折線圖的特殊類型,但是它和普通的折線圖又具有明顯的區(qū)別。因為平行折線圖并不局限于描述某一種或者某幾種趨勢的變化關系。對于時間序列的不同時間節(jié)點、不同梯度的反應濃度等等數(shù)值,都可以使用平行坐標圖來進行具體數(shù)值的描述。下面我們就跳過對圖形背景的描述,進入到實際的繪圖時間過程當中。
實例練習
首先我們來看一下繪圖用的測試數(shù)據(jù)集。這個數(shù)據(jù)集當中分了4個腫瘤的階段。總共有150個基因,150個基因當中,又按照通路分了三個組。這個就是我們的測試數(shù)據(jù):
現(xiàn)在,我們要做的,就是比較這150個基因在4個分組中的變化趨勢。那么下面我們就來進行圖形的繪制。在這里我們用了GGally包中的ggparcoord()函數(shù)進行繪圖。具體代碼如下:
怎么樣,這個圖看上去很不錯吧。在平行坐標軸中,它和普通折線圖最大的一個區(qū)別就是它含有多條坐標軸。每一個坐標軸都代表了不同的維度,所以說坐標軸的排列方式和歸一化的方式可能會影響觀察者對數(shù)據(jù)的理解。因此在繪制平行坐標圖的過程當中,坐標軸的順序是極其重要的。在這里,我們的順序是按照Grade1-4排列的,非常容易理解。關于坐標軸標準化的問題,由于每個分組之間的數(shù)據(jù)有高有低,坐標軸對應的數(shù)值也應該是不一致的。可是,如果把坐標軸的標度改變掉,那這個圖看起來就會非常難以理解(比如即使是水平的曲線,也可能意味著數(shù)值的變化)。所以,我們在這里對于坐標軸的標度都是完全統(tǒng)一的。可是,有些數(shù)據(jù)相差太大或者太小,在圖中如果用原始的數(shù)值進行繪制的話,圖形有可能就完全重疊在一起了。
為了避免這個問題,我們對圖形數(shù)值進行標化。ggparcoord()函數(shù)中標化的方法有很多,如果是“globalminmax”就是完全不變化,另外可以選用‘std’或者'robust', 'uniminmax', 'center', or 'centerObs'等多種標化方法,大家可以比較不同之處。
話說回來,平行坐標圖也有它自己的缺點。那就是當數(shù)據(jù)非常龐大時,在圖中的曲線就會顯得非常密集,使得圖形顯得稍有雜亂,曲線難以辨認。那么如何解決這一問題呢?一種方法:當你的分組比較少的時候,可以通過facet分面的方法把不同分組分割開來即可。試試看:
此外,還有一種方法,我們經(jīng)常做的一件事情,就是在圖中把感興趣的對象或者集合高亮出來。這樣就容易辨別感興趣的對象,同時淡化其他對象,達到消除背景曲線的目的。這樣應該如何實現(xiàn)呢?其實也非常簡單,就是把不同分組的color進行設置即可。比如這里,我把PI3K pathway組的基因設置成彩色,其他組設置成灰色。
好了,關于平行坐標圖,我們就暫且講到這里。不過還有一點要跟大家強調一下,平行坐標軸描述的大多是計量數(shù)據(jù),對于定性數(shù)據(jù)或者分類變量,建議大家還是不要勉強使用平行坐標圖。那么在這種情況下該用哪一種圖形呢?對于分類變量和定性變量來說,我們有一種非常好看的圖形,而且它和平行坐標圖有著異曲同工之妙,那就是:桑基圖(Sankey plot),它在分組數(shù)據(jù)中用的也是很多。
介紹完平行坐標圖,給大家隆重介紹一下全網(wǎng)首個開源繪圖平臺-Hiplot。Hiplot是openbiox聯(lián)合科研貓鄭重推出的,免費注冊,無需安裝,一站式繪圖的開源繪圖平臺,你還在等什么?
導言數(shù)據(jù)可視化在科研工作中發(fā)揮著越來越重要的作用。基于可視化圖形,我們可以更好地展示科研數(shù)據(jù)中的主要特征和規(guī)律。以生物醫(yī)學為例,大多數(shù)臨床醫(yī)學學生和初級科研工作者一般需要花費數(shù)十天乃至數(shù)月的時間去熟悉和掌握常用的數(shù)據(jù)可視化工具,如 SPSS、Origin 和 Graphpad。之后才有可能去完成部分基礎的數(shù)據(jù)統(tǒng)計分析和可視化。如果是要專門從事數(shù)據(jù)分析和建模方向的相關人員則還需額外學習一門甚至數(shù)門編程語言(如 MATLAB、R 和 Python )。而要達到能夠自由探索數(shù)據(jù)的水平則還需要額外花費更多時間去深入學習和進階。
近年來,隨著各類云計算平臺(如生物醫(yī)學領域的 Galaxy 和 DNAnexus)、相關 IT 軟硬件基礎設施的發(fā)展(如分布式計算、容器技術、軟件包管理器、數(shù)據(jù)分析流程構建框架等),初級科研工作者已經(jīng)可以相對比較輕松地獲取相關數(shù)據(jù)的上游分析結果。特別是當常規(guī)組學數(shù)據(jù)的上游分析流程趨于穩(wěn)定和完善,數(shù)據(jù)上游分析流程的可自定義程度和可變程度已經(jīng)大大降低。而數(shù)據(jù)分析下游流程中的可視化和個性化深度解讀已經(jīng)成為當前用戶面臨的最大挑戰(zhàn):
開源用戶社區(qū)開發(fā)的可視化軟件或方法大多還沒有很好的整合在一個統(tǒng)一的用戶接口之下;
國內缺少活躍的針對科研數(shù)據(jù)可視化的協(xié)作社區(qū),“** 畫圖群”成為初級科研用戶為數(shù)不多的選擇;
國內缺少類似于 Graphpad、MATLAB 核心數(shù)據(jù)可視化軟件和平臺,在被美國禁用之后,只能花費額外成本進行流程遷移或重頭開始開發(fā);
相關數(shù)據(jù)可視化工具仍然相對匱乏,雜志和用戶需求旺盛,已發(fā)布多年的 Circos 圓圈圖可視化,通過封裝一些便捷操作就可以發(fā)表文章:
Rasche H, Hiltemann S. Galactic Circos: User-friendly Circos plots within the Galaxy platform. Gigascience. 2020;9(6):giaa065. doi:10.1093/gigascience/giaa065;
Marx H, Coon JJ. MS-Helios: a Circos wrapper to visualize multi-omic datasets. BMC Bioinformatics. 2019;20(1):21. Published 2019 Jan 11. doi:10.1186/s12859-018-2564-9; Yu Y, Ouyang Y, Yao W.
shinyCircos: an R/Shiny application for interactive creation of Circos plot. Bioinformatics. 2018;34(7):1229-1231. doi:10.1093/bioinformatics/btx763)
國內外開發(fā)的一些平臺和工具用戶體驗一般:用戶界面不夠美觀;中英文支持的屈指可數(shù);上手仍然有一定難度;部分平臺的文件管理不太方便;用戶能夠主動參與平臺建設的少之又少。
Hiplot簡介Hiplot 是由 openbiox 社區(qū)于 2019 年 10 月發(fā)起,并在新冠疫情爆發(fā)后快速發(fā)展的一個社區(qū)開發(fā)項目:致力于建立一個快速迭代、支持中英文環(huán)境的科研數(shù)據(jù)可視化平臺和協(xié)作社區(qū)。目前該平臺建設已初具規(guī)模,已提供基于 R 語言的 40 余種基礎可視化的功能。
Hiplot 項目發(fā)起的初衷就是為了解決廣大臨床醫(yī)學學生和科研工作者的基礎科研方面的可視化需求:
基礎可視化:覆蓋大多數(shù)基礎的科研可視化功能,參照 SPSS、GraphPad、國內外開發(fā)的相關可視化軟件和工具
進階可視化:包括 Shiny 在內的復雜可視化圖形和應用;文獻圖表的重現(xiàn)和再分析;新的可視化圖形展示插件:如基于 Circos、circlize 的二次開發(fā);openbiox 社區(qū)貢獻的可視化應用(如 UCSCXenaShiny 和 bioshiny)
其他任務:低計算量的其他任務(如文獻數(shù)據(jù)資源下載、RESTful APIs 訪問等)
文件管理(支持上傳、下載、復制、移動、刪除、在線預覽和編輯等操作)
Hiplot用戶交互界面展示(部分)
登錄
注冊
基礎繪圖卡片瀏覽與檢索
繪圖示例 | 相關性熱圖
繪圖示例 | 免疫浸潤分析
文件上傳窗口
文件瀏覽與管理
文件在線查看和編輯
(支持文本文件、XLSX、CSV、TXT 等)
文件在線查看和編輯
(支持文本文件、XLSX、CSV、TXT 等)
提交文獻原文和附錄下載任務
(基于 openbiox 社區(qū)貢獻的 bget 項目)
提交文獻原文和附錄下載任務
(基于 openbiox 社區(qū)貢獻的 bget 項目)
·
本期干貨
-?平行坐標圖繪制代碼-
領取方法
關注“科研貓”公眾號
公眾號主頁點擊“更多信息”-“聯(lián)系客服”領取干貨
更多科研新鮮資訊、文獻精讀和生物信息技能
請關注科研貓公眾號
科研貓原創(chuàng)出品,任何形式轉載,均需獲授權
若您是讀者,歡迎分享,無需授權
易法通律師事務所提供版權法律支持
總結
以上是生活随笔為你收集整理的文件可视化编辑_高维数据可视化必备图形平行坐标图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 混凝土静力受压弹性模量试验计算公式_20
- 下一篇: vue 事件调用 传参_对vue下点击事