Положение легенды в первом сюжете фасета
Я хотел бы поместить легенду своего сюжета внутри сюжета, внутри первого сюжета фасета.
Вот пример кода:
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)
Вот результирующий сюжет:
И вот примерно, как я хотел бы, чтобы это выглядело:
Спасибо за любую помощь, вы можете предоставить!
2 ответа
Решение
Предполагая, что ваш график сохраняется как p
p + opts(
legend.position = c(0.9, 0.6), # c(0,0) bottom left, c(1,1) top-right.
legend.background = theme_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))