分享

R绘图:无与伦比的华丽风行(桑基图)

 公号生信小课堂 2021-10-28

首先看到这个名字,有没有勾起你的某些回忆呢?

R绘图我们已经出过几期

R绘图 ggpubr: 为学术而生

R绘图 ggsci: 高大上的论文配色,一文解决配色问题

R绘图:相关性分析与作图

R绘图:相关性分析与作图(单基因相关性)

TCGA数据分析系列之火山图

R语言学习系列之“多变的热图”

今天我们来了解一下桑基图

桑基图(Sankey diagram),即桑基能量分流图,也叫桑基能量平衡图。它是一种特定类型的流程图,图中延伸的分支的宽度对应数据流量的大小,通常应用于能源、材料成分、金融等数据的可视化分析。

如下图

那么桑基图在我们科研中有什么用处呢?目前我见过的最常见的两个用处,一个是展示某分组,与肿瘤分期,患者生存状态,另一种就是展示ceRNA网络中的lncRNA-miRNA-mRNA的关系,今天我们来简单实现一下,大家只要套用数据就可以画出自己的桑基图了。

安装加载包

install.packages("ggalluvial")library(ggalluvial)


载入数据

我们用的是自带的数据,来表示泰坦尼克号上乘客多维分类数据

titanic_wide <- data.frame(Titanic)head(titanic_wide)

画图

ggplot(data = titanic_wide, aes(axis1 = Class, axis2 = Sex, axis3 = Age, y = Freq)) + scale_x_discrete(limits = c("Class", "Sex", "Age"), expand = c(.1, .05)) + xlab("Demographic") + geom_alluvium(aes(fill = Survived)) + geom_stratum() + geom_text(stat = "stratum", label.strata = TRUE) + theme_minimal() + ggtitle("passengers on the maiden voyage of the Titanic", "stratified by demographics and survival")

出图就是这么简单,快赶紧用自己的数据试一下吧

下面是福利专用贴,目前公众号所有的福利都在里面

福利专用贴

目前有

1. 火山图,热图示例文件及完整代码

2. R语言学习基础知识代码

3. R语言实战(中文完整版)

4. R数据科学(中文完整版)

5. ggplot2:数据分析与图形艺术

6. 30分钟学会ggplot2

7. TCGA数据整理

8. ggplot2速查表pdf(可复制)

万水千山总是情,点个在看行不行,哈哈哈哈哈哈哈。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多