给定一棵树,其提示标签按组着色,例如:
library(ggplot2)
library(ggtree)
nwk <- system.file("extdata", "sample.nwk", package="treeio")
tree <- read.tree(nwk)
meta = data.frame(label = c("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M"),
group = c(rep("mammal", 5), rep("insect", 5), rep("bird", 3)))
p = ggtree(tree) %<+% meta +
geom_tiplab(aes(color = group))
图例将包含a
而不是所需的正方形。ggplot2
文档说使用“override.aes”来覆盖这种行为:
p + guides(color = guide_legend(override.aes = list(size = 4,
label = "",
shape = 15)))
这不起作用。最重要的作品,我可以改变大小,颜色,删除a
但最重要的是我不能使用不同的形状(在这种情况下是正方形)。
较新版本的 ggplot2 可以key_glyph
选择,但是在使用geom_tiplab
.
另一个奇怪的行为是,在使用 时geom_tipppoint
,覆盖图例有效。值得注意的是,上述策略以前可以删除a
,但是在最新的 R/ggplot2/ggtree 中,上述策略不起作用。这与最新版本有关,ggtree
与旧版本无关。
关于如何覆盖geom_tiplab()
图例形状的任何建议?
我的环境:
R version 4.1.2 (2021-11-01)
ggplot2 version 3.3.5
ggtree version 3.2.1
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Linux Mint 20