查看原文
其他

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

2016-12-29 Y叔 biobabble


这是google group上的问题,上面的代码生成的图有三个分面,分别是树、点和柱。他想加线条到dot分面上,这个其实是很容易的,但比较tricky,你需要data.frame中有一个.panel的column,这是facet_plot内部使用的分面变量,有想对应的.panel,就会加到相应的分面上。


如下图所展示,原图是右下角,左侧是我在dot分面上加了线条的图。



如果你阅读了昨天的推送,那么你应该知道xlim_tree,其实不单是tree分面可以单独设xlim,其它panel也可以,用xlim_expand并传入panel名字就行。xlim_tree只不过是xlim_expand(xlim, panel = "Tree")而已,而xlim_expand的实现其实也是我的一个小把戏:


> xlim_expand
function (xlim, panel)
{
    dummy <- data.frame(x = xlim, .panel = panel)
    geom_blank(aes_(x = ~x), dummy, inherit.aes = FALSE)
}


跟上面在特定分面上加图层是一样一样的,也是加图层,只不过这个图层是geom_blank,也就是啥都不画,但传入的数据把xlim搞大了,我简直太机智了!



喜欢这篇文章的你还会喜欢:

xlim_tree: set x axis limits for only Tree panel

treeio: 进化树基础类和方法

ggtree版本的plotTree

[ggtree] 使用自己的数据来给进化树上色

中空的环形树

[ggtree] vertical dendrogram in ggtree

align genomic features with phylogenetic tree

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

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