【问题标题】:ggplot2 custom legend shapesggplot2自定义图例形状
【发布时间】:2012-11-07 13:11:49
【问题描述】:

当我们在散点图中同时有形状和颜色图例时,颜色图例的形状会产生误导:

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)

这将产生下面的情节。如您所见,“圆形”形状是为 quality==1 的对象保留的,但是在 group 图例中,所有 3 个组都以“圆形”形状呈现 - 使用不同的颜色,这可能会产生误导。

如果group 图例由尚未为特定目的保留的形状表示,那就更好了,比如只是用特定颜色填充整个图例项。

你有什么简单的办法解决这个问题吗?

【问题讨论】:

    标签: r ggplot2 shape legend scatter-plot


    【解决方案1】:

    可以使用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 参数即可找到合适的形状。

    【讨论】:

    • 有没有办法改变形状图例的黑色?
    • @Ali 当然,这类似于答案中的技术:将+ guides(shape = guide_legend(override.aes = list(colour = "pink"))) 添加到情节中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-27
    相关资源
    最近更新 更多