我试着用ggtree来制作一个图--但是当我尝试把顶端点和树枝都着色的时候,我遇到了一些问题。树独立地处理这两种情况,但是当我将它们放在一起时,节点的fill被来自分支的color参数所覆盖,它们就会出现灰色(或者它一起忽略了它们,并默认为相同的NA颜色?)
下面是产生问题所需的最低限度代码:
p <- ggtree(rerooted_tree, aes(color = support))
p <- p %<+% my_DF +
geom_tippoint(aes(fill = as.factor(domains.present)))
p

变量domains.present是dataframe中的一个字符列,如果它是color而不是fill,它就能很好地工作,如下所示。但是,在上面的代码中,如果domains.present不是在aes中编写的as.factor,我就会收到一条错误消息,表示Continuous value supplied to discrete scale。
q <- ggtree(rerooted_tree)
q <- q %<+% All.my_DF +
geom_tippoint(aes(color = domains.present), size = 1)
q

我希望这只是一个语法问题,但如果需要的话,我正在努力让reprex一起添加。这是一个与this post非常相似的问题,但是OP在没有ggtree的情况下解决了这个问题(如果可能的话,我宁愿保持简单)。提前谢谢你!
发布于 2022-04-05 16:44:44
我最近遇到了同样的问题,在aes()之外定义的分支颜色为我工作:
p <- ggtree(rerooted_tree, color = support)
p <- p %<+% my_DF +
geom_tippoint(aes(fill = as.factor(domains.present)))
phttps://stackoverflow.com/questions/70629964
复制相似问题