我怎样才能让 ggtree::geom_range 工作?
How can I get ggtree::geom_range to work?
我正在尝试按照 treedata book 中的说明向节点添加范围条。这是我正在努力实现的书中的一个例子:
注意红色条。
下面是创建带有红色条形树图像的代码:
library(tidyverse)
library(treeio)
library(ggtree)
# create a tree and add a numeric annotation called 'range'
tree = rtree(3) %>% as.treedata %>% as_tibble %>%
mutate(range=0.1) %>%
as.treedata
# plot the tree and add red bars with geom_bar()
ggtree(tree) + geom_range(range='range', color="red")
但是,生成的图没有红色条。
我需要做什么才能为每个节点添加红色条?
我正在使用 ggtree v2.2.4、treeio v1.12.0 和 ggplot2 v3.3.2。
您只为 range
提供了一个值。在您链接的示例中,列 range
是一个列表,其中每行包含一个最小值和最大值。所以你可能想要这样的东西:
library(tidyverse)
library(treeio)
library(ggtree)
# create a tree and add a numeric annotation called 'range'
tree = rtree(3) %>% as.treedata %>% as_tibble %>%
mutate(number = 1:5,
range = lapply(number, function(x) c(-0.1, 0.1) + x)) %>%
as.treedata
# plot the tree and add red bars with geom_bar()
ggtree(tree) +
geom_range("number", range='range', color="red", size = 3, alpha = 0.3) +
theme_tree2()
我正在尝试按照 treedata book 中的说明向节点添加范围条。这是我正在努力实现的书中的一个例子:
注意红色条。
下面是创建带有红色条形树图像的代码:
library(tidyverse)
library(treeio)
library(ggtree)
# create a tree and add a numeric annotation called 'range'
tree = rtree(3) %>% as.treedata %>% as_tibble %>%
mutate(range=0.1) %>%
as.treedata
# plot the tree and add red bars with geom_bar()
ggtree(tree) + geom_range(range='range', color="red")
但是,生成的图没有红色条。
我需要做什么才能为每个节点添加红色条?
我正在使用 ggtree v2.2.4、treeio v1.12.0 和 ggplot2 v3.3.2。
您只为 range
提供了一个值。在您链接的示例中,列 range
是一个列表,其中每行包含一个最小值和最大值。所以你可能想要这样的东西:
library(tidyverse)
library(treeio)
library(ggtree)
# create a tree and add a numeric annotation called 'range'
tree = rtree(3) %>% as.treedata %>% as_tibble %>%
mutate(number = 1:5,
range = lapply(number, function(x) c(-0.1, 0.1) + x)) %>%
as.treedata
# plot the tree and add red bars with geom_bar()
ggtree(tree) +
geom_range("number", range='range', color="red", size = 3, alpha = 0.3) +
theme_tree2()