打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
交互式探索进化树

https://twitter.com/drandersgs/status/965996335882059776

推特上@drandersgs的推文,演示了ggtree+plotly进行交互树探索进化树。我们先看图:

代码很简单:

# LOAD LIBS ---------------------------------------------------------------
library(ape)
library(ggtree)
library(plotly)
# CREATE A TREE -------------------------------------------------------------
n_samples <->20
n_grp <->4
tree <- ape::rtree(n="">
# CREATE SOME METADATA ----------------------------------------------------
id <->
set.seed(42)
grp <->1:n_grp], size = n_samples, replace = T)
dat <- tibble::tibble(id="">
                     grp = grp)
# PLOT THE TREE -----------------------------------------------------------
p1 <->
metat <- p1$data="" %="">%
 dplyr::inner_join(dat, c('label' = 'id'))
p2 <- p1="">
 geom_point(data = metat,
            aes(x = x,
                y = y,
                colour = grp,
                label = id))
plotly::ggplotly(p2)

但如果你对ggtree熟悉的话,我想你应该知道这个图的产生可以用更加ggtree、更加简单的方式:

p1 <->这一句后面的代码,其实干的就是下面一个语句而已。

p2 <- p1="">+% dat + geom_tippoint(aes(color=grp))

但上面这个p2ggplotly的时候,就会报名,因为我在ggtree里写的这个geom_tippoint是没有写一个函数去翻译成plotly的,这个有待以后去写,要想让plotly真正支持ggtree,还要很多事情要做的。但起码简单一些的事情,比如像上面这个,去zoom in, zoom out, 鼠标停留在节点上,看一些相关的注释,还是可以做到的。

交互式可视化,我在ggtree中也写过一点功能,请移步《交互式操作进化树》。

另外关于ggtree和其它包合体,以相互扩展功能的,例子还有很多,比如:

分别是和ggbio, ggbridges,emojifont,comicR和ggimage包的合体。

给赞 给Y叔点个赞
小程序

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
用ggtree重现Figtree的示例进化树
交互式操作进化树
如何用ggtree绘制高阶版进化树?
5种Python绘图库,轻松实现大数据可视化!
系统进化树的建立(完整)
教你用ggtree绘制高颜值进化树
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服