使用stat_summary为qplot图创建图例

时间:2014-12-22 23:42:15

标签: r ggplot2

我有一个包含数据框的文件。以下是文件的link

tmp <- read.csv("tmp.csv")
m <- qplot(UW_rank, number_correction, data = tmp, 
       alpha = I(1/3), 
       geom = c("point"),
       xlab = "Underwriter rank",
       ylab = "Number of SEC letters",
       main = "Number of SEC Letters and UW Rank",
      ) 
m <- m + stat_summary(aes(colour = "mean"), fun.y = mean, 
                  geom = "line",
                  color = "red",
                  size = 1.1)

结果我有以下图片 enter image description here

我要在此图表中添加一个图例,这将解释红线是平均值。我怎样才能做到这一点。我尝试了 scale_fill_manual geom_text ,但无法弄清楚如何使其正常工作。

1 个答案:

答案 0 :(得分:2)

@joran预先汇总数据的方法可以正常工作(如果你有一个大数据集,它会比stat_summary更快),但你也可以通过将颜色美学映射到在stat_summary中“均值”,然后添加一些额外的代码来获取所需的颜色和标签。我使用内置的mtcars数据集作为示例:

p1 = ggplot(mtcars, aes(cyl,mpg)) + 
        geom_point() 

p1 +
  stat_summary(fun.y=mean, geom="line", aes(cyl, mpg, colour="mean")) +
  scale_colour_manual(values=c("mean"="blue")) +  # Set line color to blue
  labs(colour="")  # Get rid of the redundant legend title

enter image description here