R:ggtree忽略附加的注释

时间:2019-05-04 13:17:06

标签: r ggplot2 ggtree

给定一棵树和一个数据框,将节点标签映射到浮点值,我想在节点顶部绘制带有彩色圆圈的树,其中颜色编码绝对值。不幸的是,ggtree似乎完全忽略了注释。这是MCVE

> library(ggplot2)
> library(ggtree)
> library(phytools)
>
> tree.nwk <- '((seq140:0.13041945852,seq87:0.3002143527299996)n6:0.04491171,(seq163:0.21652831800000003,(seq28:0.0535884,seq34:0.060002925)n5:0.10335070999999998)n7:0.0963524)n8:0.11015875999999998;'
> tree <- read.newick(text=tree.nwk)
> tree

Phylogenetic tree with 5 tips and 4 internal nodes.

Tip labels:
[1] "seq140" "seq87"  "seq163" "seq28"  "seq34" 
Node labels:
[1] "n8" "n6" "n7" "n5"

Rooted; includes branch lengths.
> tree.annotations <- data.frame(node=tree$node.label, value=rnorm(4))
> tree.annotations
  node       value
1   n8  2.15050556
2   n6 -0.04815265
3   n7  0.41109264
4   n5  0.42167331
> ggtree(tree) %<+% tree.annotations +
+     geom_nodepoint(aes(size=5, color=abs(value))) +
+     theme(legend.position="right")

enter image description here

如您所见,根本没有颜色。

1 个答案:

答案 0 :(得分:0)

好像,ggtree不喜欢第一列称为node

> tree.annotations <- data.frame(name=tree$node.label, value=rnorm(4))
> ggtree(tree) %<+% tree.annotations + 
+     geom_nodepoint(aes(size=5, color=value)) + 
+     theme(legend.position="right")

enter image description here

这似乎是一个错误,因为docs没有指定此类限制。

  

我们已经演示了使用运算符%<%用新树更新树视图。在这里,我们将引入另一个运算符%<+%,该运算符将注释数据附加到树形视图。 唯一的要求是输入数据的第一列应与树的节点/提示标签匹配。

advised的作者来解决这个问题