R绘图:无与伦比的华丽风行(桑基图)
首先看到这个名字,有没有勾起你的某些回忆呢?
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)