2017-07-25 71 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