ggplot2自定义图例形状

16

当散点图中既有形状图例又有颜色图例时,颜色图例的形状会误导人:

foo <- data.frame(
  length=runif(10),
  height=runif(10),
  group=as.factor(sample(3,10,rep=T)),
  quality=as.factor(sample(2,10,rep=T))
)

ggplot(foo, aes(x = length, y = height, color=group, shape=quality)) + 
  geom_point(size=5)

这将生成下面的图表。您会发现,“circle”形状是为quality==1的对象保留的,但在group图例中,所有3个组都以“circle”形状呈现 - 用不同的颜色,这可能会误导人。
如果group图例由未被特定目的保留的形状表示,比如只是用特定颜色填充整个图例项,那就更好了。
您有什么简单的想法来解决这个问题吗? enter image description here
1个回答

35

使用 guides 可以手动更改图例的属性:

ggplot(foo, aes(x = length, y = height, color=group, shape=quality)) + 
  geom_point(size=5) + 
  guides(colour = guide_legend(override.aes = list(shape = 15)))

只需玩弄 shape 参数,找到适当的形状。

enter image description here


有没有办法更改形状图例的黑色颜色? - Ali
3
当然,这与答案中的技巧类似:将 + guides(shape = guide_legend(override.aes=list(colour="pink"))) 添加到图表中。 - Sven Hohenstein

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