无与伦比的华丽风行(桑基图)
桑基图(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")
赞 (0)