有没有一种方法可以在ggplot2中去掉图例的边框?

4
我正在使用qplot绘制函数图形,我希望将图例放置在图形内部。我已经使用了```

```
opts( legend.position = c(0.7,0.7) )

我希望把图例移动到我想要的位置。

然而,图例周围有白色边框,在灰色背景上会显示出来。

例如:

library(ggplot2)
x = c(1:20)
y = c(1:20)

p <- qplot(x,y, color = "blue")

p <- p + scale_colour_identity("Example", breaks=c("blue"), labels=c("dots"))

p <- p + opts(legend.position = c(0.6, 0.4))

print(p)

我想知道如何从图例中删除此边框。谢谢。


你只需要在多个值周围使用c(),所以1:20,“blue”和“dots”不需要使用c()组合函数。我想提一下,以防节省一些打字或有所帮助。 - Jay
1个回答

6

对于较新版本的ggplotopts已被替换为theme,而theme_rect已被替换为element_rect

p + theme(legend.background = element_rect(color = NA))

这将消除你的边框:
p + opts(legend.background = theme_rect(col = 0))

col(适用于边框)之外的其他选项是fill(背景)和size(边框大小)。

希望这有所帮助!

祝一切顺利,

Jay


谢谢Jay - 那个完美地起作用了。当你提到fill(background)时,它是否可以类似使用?例如,opts(legend.fill = "white")?我尝试了各种组合但没有成功。 - djq
p + opts(legend.background = theme_rect(col = "red", size = 2, fill = "blue")) p + opts(legend.background = theme_rect(col =“red”,size = 2,fill =“blue”)) - Jay
这将为您提供略厚的红色边框和蓝色背景。这有帮助吗?如果可以,请告诉我是否有效。 - Jay
是的,这确实有帮助,谢谢。现在我明白如何使用它了。 - djq

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接