在ggplot2中自定义geom_point样式后如何修改图例符号大小?
解决方案
问题核心:你把分类变量映射到了fill美学,但在guides()里错误地针对color设置——而你的点边框是固定的black(未绑定变量),color图例根本不存在,修改自然无效。
要保留现有绘图样式并调整图例大小,只需把guides()的目标改为fill,同时在override.aes里补全点的样式参数(保证图例和绘图点一致):
library("ggplot2") x <- rnorm(2000, 0, 1) y <- rnorm(2000, 0, 1) category <- sample(c("one", "two"), 2000, replace = TRUE) size <- rnorm(2000, 0, 1)*10 df <- data.frame(x, y, category, size) ggplot(df, aes(x=x, y=y, fill=category)) + geom_point(shape=21, colour="black", size = df$size) + guides(fill = guide_legend(override.aes = list(size = 10, shape=21, colour="black")))
关键说明:
guides(fill = ...):针对分类变量映射的fill图例操作,这才是你需要调整的目标override.aes中补充shape=21和colour="black":让图例点的样式和绘图中实际的点完全匹配,同时通过size=10自定义图例符号大小
内容的提问来源于stack exchange,提问作者another_rando
相关产品推荐
相关产品推荐

