我尝试用ggraph
包绘制树状图,但是可以,geom_edge_diagonal()
但不能geom_edge_elbow()
套餐
library(phyloseq)
library(igraph)
library(ggraph)
获取数据
文件 ps.rds 可在此处获得
https://github.com/sholmes/F1000_workflow/tree/master/data
ps <- readRDS("ps.rds")
EdgeList <- phy_tree(ps)$edge
Tree <- graph_from_edgelist(EdgeList, directed = TRUE)
绘图
ggraph(Tree, 'dendrogram') +
geom_edge_diagonal()
此代码有效,但情节不是很漂亮。
现在 :
ggraph(Tree, 'dendrogram', circular = TRUE) +
geom_edge_elbow()
Error in FUN(X[[i]], ...) : object 'direction' not found
所以我有一些问题:
- 为什么它不起作用,因为它适用于其他树状图?
- 什么是方向?在包文档中,据说方向是“自动设置的” https://www.rdocumentation.org/packages/ggraph/versions/0.1.1/topics/geom_edge_elbow
- 我能找到一些对在 ps 对象中绘图有用的东西吗?
F. Privé 评论后编辑
是的,可以混合dendrogram
和circular
。
ggraph(Tree, 'dendrogram', circular = TRUE) +
geom_edge_diagonal()