我怎样才能使ggtree :: geom_range正常工作?

问题描述

我试图按照treedata book中的描述向节点添加范围条。这是我要达到的目标的一个示例:

trees with bars

注意红色条。

以下代码应创建带有红色条形的树图像:

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")

tree without bars

但是,生成的图没有红色条。

我需要做什么才能向每个节点添加红色条形?

我正在使用ggtree v2.2.4,treeio v1.12.0和ggplot2 v3.3.2。

解决方法

您只给p3提供一个值。在您链接的示例中,列range是一个列表,其中每行包含一个最小值和最大值。所以您可能想要类似的东西:

range

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...