2

我想使用文本 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)

在此处输入图像描述

4

1 回答 1

2

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

  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 的下一个版本将有更多的图例控件。

于 2012-08-27T01:46:59.893 回答