轻轻松松绘制桑基图

2019-12-17 16:26:14 浏览数 (3)

各位芝士好友,今天继续和大家分享数据可视化专题,桑基图绘制,提到桑基图,一般人可能会是下面的反应
桑基图到底是什么?先抛出一个图,给大家直观的感受

定睛一看,右侧不是熟悉的基因吗?妥了,真是相关的。

好吧,我们开始提笔绘制走起,绘制桑基图工具包还挺多,不仅从最高端的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

数据绘图

代码如下:

图形如下:

0 人点赞