我想将我的情节图例放在情节内,在一个方面的第一个情节内。
这是一些示例代码:
df=data.frame(
x=runif(10),
y=runif(10),
facet=rep(c("a","b"),5),
color=rep(c("red","blue"),5))
ggplot(data=df,aes(x=x,y=y,color=color))+
geom_point()+
facet_wrap(~facet,ncol=1)
这是结果图:
这大概是我希望它看起来的样子:
感谢您提供的任何帮助!
假设您的绘图保存为
p
p + theme(
legend.position = c(0.9, 0.6), # c(0,0) bottom left, c(1,1) top-right.
legend.background = element_rect(fill = "white", colour = NA)
)
如果您希望图例背景部分透明,请将
fill
更改为,例如 "#ffffffaa"
。
或者,基于 @Richie Cotton 的答案,因为 opts 现在在 ggplot2 中已被弃用(仍然假设你的图被定义为 p)
p + theme(legend.position = c(0.9, 0.6)
,legend.background = element_rect(fill = "white", colour = NA))
在 ggplot2 3.5.0 之后,“
legend.position
中的数字 theme()
参数已被弃用”,因此应使用“legend.position.inside
的 theme()
参数”。
并且
legend.position
现在有 "inside"
选项。
因此,在之前的答案的基础上,现在您应该使用:
p + theme(
legend.position = "inside",
legend.position.inside = c(0.9, 0.6), # c(0,0) bottom left, c(1,1) top-right.
legend.background = element_rect(fill = "white", colour = NA)
)