提问人:Bleras 提问时间:11/17/2023 更新时间:11/17/2023 访问量:20
在图例中手动添加键和文本标签,用于在所有方面重复的数据
Manually add a key and text label in the legend for data repeated in all facets
问:
我正在尝试为某些数据添加一个键和一个文本标签,我希望在所有方面都重复这些数据。首先,我按照本论坛中阅读的过程在所有方面重复某些数据,而不创建新方面,然后在 aes() 中选择其颜色并设置 scale_color_manual(),但即使绘制了点,颜色也不正确,也没有显示在图例中。
有什么建议吗?
这是可重现的示例(请考虑它们不是真实数据,我想要单独的方面是有原因的):
example <- data.frame(group=c("A","A","A","B","B","B","C","C","C"),
time=c(1,2,3,1,2,3,1,2,3),
value=c(5,6,7,9,10,11,2,2,3))
example$group <- factor(example$group, levels=c("A","B","C"))
ggplot(data=example[example$group!="C",],
aes(x=time, y=value))+
geom_point(data=example[example$group!="C",],
aes(color=group))+
geom_point(data=select(example[example$group=="C",],
-group),
aes(color="red"))+
facet_grid(~group)+
scale_color_manual(breaks=c("A","B","C"),
values=c("purple","green","red"))
是什么产生了以下情节:
当我不设置scale_color_manual时,组“C”的点在图例中表示,但没有使用正确的颜色。
我还尝试使用不同的 data.frames,但是当我从用于绘制“C”点的geom_point中删除变量组时,它们要么是无色的,在图例中没有表示,要么至少是无色的。有什么建议吗?提前致谢。
答:
1赞
stefan
11/17/2023
#1
而不是颜色名称映射,而是 aes 上的类别名称:"C"
color
library(ggplot2)
ggplot(
data = example[example$group != "C", ],
aes(x = time, y = value)
) +
geom_point(
data = example[example$group != "C", ],
aes(color = group)
) +
geom_point(
data = dplyr::select(
example[example$group == "C", ],
-group
),
aes(color = "C")
) +
facet_grid(~group) +
scale_color_manual(
breaks = c("A", "B", "C"),
values = c("purple", "green", "red")
)
评论
1赞
Bleras
11/17/2023
问题解决了。我非常感谢您的评论。当我达到 15 个声望点时,您将收到您的投票。
评论