ggplot - 控制图例

时间:2018-03-23 13:35:09

标签: r ggplot2 position legend

我创建了一个大小和颜色的简单图:

my.df <- data.frame(x=c(1,2,3,4), y=c(1,2,3,4), grp=c("a", "a", "b", "b"), 
wt=c(1,2,3,4))
p1 <- ggplot(my.df, aes(x, y, col=grp, size=wt)) + geom_point()
p1 <- p1 + scale_colour_manual(values=c("red", "blue"), name="Group")
p1 <- p1 + scale_size(name="Size")
p1 <- p1 + theme(legend.position = c(0.85, 0.35))
p1

默认情况下,尺寸和颜色的图例会相互叠加 (我可以很容易地选择两者中的哪一个在上面)。

我喜欢他们在我的情节中并排。 (或者我想将它们分开放在任何地方。)

没有&#34;位置&#34;在guide_legend()中,这将是一种方便的方法来处理它。主题(legend.position)只能用于定义单个位置。

如何解决我的问题?

1 个答案:

答案 0 :(得分:0)

除了指定位置legend.box = "horizontal"之外,您还可以定义legend.position

p1 <- ggplot(my.df, aes(x, y, col=grp, size=wt)) + geom_point()  + 
  scale_colour_manual(values=c("red", "blue"), name="Group") + 
  scale_size(name="Size")

p1 + theme(legend.box = "horizontal", legend.position = c(0.85, 0.35))