查看原文
其他

facet_plot:加图层到特定分面,方法二

2017-04-27 Y叔 biobabble


facet_plot是非常灵活的函数,可以把图和进化树关联起来,让各种各样的数据都能和进化树一起展示。
ggtree版本的plotTree一文中已经有所展示,要做出复杂的图,一个图层显然是不够的,我们还需要在一个分面上加不同的图层,最近google group上就有人问这样的问题。
这个问题我之前在,facet_plot: 加图层到特定的分面上,一文是有回答过的,然而我自己忘记了!我竟然忘记了!忘记了!

所以我又回答了一遍,之前的回答是直接+geom,这次我的回答用的是另一种策略,还用facet_plot然后指定同样的panel,就会把图层加到现有的panel上。从这里也可以看出facet_plot函数的通用性和灵活性。

library(dplyr)
library(ggstance)
library(ggtree)  
tr <- rtree(30)
p <- ggtree(tr) + theme_tree2()  
df <- data.frame(id = rep(tr$tip.label, each=2),value = abs(rnorm(60, mean=100, sd=50)),category = rep(LETTERS[1:2], 30))  

sum_value <- df %>%    
 group_by(id) %>%    
 summarize(total = sum(value))  

p2 <- facet_plot(p, panel = 'Stacked Barplot', data = df, geom = geom_barh,mapping = aes(x = value, fill = as.factor(category)),stat='identity' )  
facet_plot(p2, panel='Stacked Barplot',data=sum_value, geom=geom_text, mapping=aes(x=total+20, label=round(total)))


相关阅读

ggtree版本的plotTree      

align genomic features with phylogenetic tree

xlim_tree: set x axis limits for only Tree panel

facet_plot: 加图层到特定的分面上

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存