2017-07-25 31 views
1

我尝试绘图与ggraph包树状图,但它的确定与geom_edge_diagonal()但与geom_edge_elbow()在GGRAPH包“对象‘方向’找不到”与树状

library(phyloseq) 
library(igraph) 
library(ggraph) 

获取数据

文件ps.rds在这里可用

https://github.com/spholmes/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() 

enter image description here

此代码的作品,但情节不是很美观。

现在:

ggraph(Tree, 'dendrogram', circular = TRUE) + 
    geom_edge_elbow() 

Error in FUN(X[[i]], ...) : object 'direction' not found 

所以我有一些问题:

  1. 为什么它不工作yhereas它适用于其他的树状图?
  2. 什么是方向?在包文档中,据说方向是“自动设置的”https://www.rdocumentation.org/packages/ggraph/versions/0.1.1/topics/geom_edge_elbow
  3. 我可以在ps对象中找到一些有用的绘图吗?

F.Privé的评论后编辑

是的,它可以混合dendrogramcircular

ggraph(Tree, 'dendrogram', circular = TRUE) + 
    geom_edge_diagonal() 

enter image description here

+0

当我在你的例子打球,我得到的错误“循环布局只适用于树和DAG布局”。你确定你可以在'circular = TRUE'中使用'layout ='dendrogram''吗? –

回答

1

对于一些原因,可能过于棘手,在这里讨论,geom_edge_elbow目前只支持dedrogram/hclust对象,而不是IGRAPH对象。

我可能已经找到一种方法周围的下一个版本

+0

好的,谢谢。我会等待下一个版本;) – AntoineBic