輕輕鬆鬆繪製桑基圖

  • 2019 年 12 月 17 日
  • 筆記

各位芝士好友,今天繼續和大家分享數據可視化專題,桑基圖繪製,提到桑基圖,一般人可能會是下面的反應
桑基圖到底是什麼?先拋出一個圖,給大家直觀的感受

定睛一看,右側不是熟悉的基因嗎?妥了,真是相關的。

好吧,我們開始提筆繪製走起,繪製桑基圖工具包還挺多,不僅從最高端的JS庫(D3、Ecgarts、highlight)到主流的數據科學編程工具(R、Python等)亦或者人人都能上手的自助式BI工具(PowerBI、Tableau等)都可以勝任此項工作。

R中有兩個包有現成的桑基圖函數:Networkd3、d3Network,包名大同小異,而且函數的參數都是一樣的。但是今天我們採用ggalluvial工具包來實現,一個ggplot2的拓展包。

1

安裝ggalluvial包,操作很簡單,直接install,接着加載進來就行

2

整理數據集,這裡給大家提供了一個ceRNA關係對應表,本次我們準備展示三者之間的關係,示例數據大家可以後台獲取,首先我們讀進數據,如下:

三者分別是mRNA,miRNA和lncRNA

3

統計每列單獨的元素,如下:

可以看到mRNA一共9個,miRNA 6個,lncRNA 4個

4

格式轉化

使用to_loads_from 函數將df數據框數據轉為ggalluvial所需要的數據格式,本質上就是數據寬數據變為長數據。

5

數據繪圖

代碼如下:

圖形如下: