【问题标题】:Modify Text Legend ggplot2修改文本图例 ggplot2
【发布时间】:2012-08-21 08:46:46
【问题描述】:

我想使用文本 geom 修改 ggplot2 中的图例。示例如下所示。我想将 a 更改为点(圆圈),而不是 1、2、3 使用自定义名称,例如低、中、高。任何建议将不胜感激。

示例数据:

   x  y Freq colors
1 -2 32    2      1
2 -2 36    1      1
3 -2 37    1      1
4 -2 40    2      1
5 -1 32    2      1
6  0 29    2      1

代码:

  fit=ggplot(a1,aes(x,y,color=factor(colors)),col=colors)+
    geom_text(aes(label=Freq),size=5)+
    theme_bw()+
    opts(legend.position='top',
         legend.title=theme_blank(),
         legend.key=theme_rect(fill="white",colour="white"))
  print(fit)

【问题讨论】:

标签: r ggplot2 legend


【解决方案1】:

感谢 Tyler 的 cmets 我找到了解决方案(注意需要加载网格库):

  fit=ggplot(a1,aes(x,y,color=factor(colors)),col=colors)+
    geom_text(aes(label=Freq),size=5)+
    theme_bw()+
    scale_color_hue(breaks=c("1", "2", "3"),
                      labels=c("Low", "Medium", "High"))+
    opts(legend.position='top',
         legend.title=theme_blank(),
         legend.key=theme_rect(fill="white",colour="white"))
  print(fit)
  grid.gedit("^key-[-0-9]+$", label = "*")

我希望我可以将图例中的“*”放大,我知道下一个版本的 ggplot2 将有更多的图例控件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-23
    • 1970-01-01
    • 2023-03-12
    • 2013-03-05
    • 2020-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多