【问题标题】:Create a legend for qplot graph with stat_summary使用 stat_summary 为 qplot 图创建图例
【发布时间】:2014-12-22 23:42:15
【问题描述】:

我有一个包含数据框的文件。这是文件的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)

结果我有以下图片

我要在此图中添加一个图例,以说明红线是平均值。我怎样才能做到这一点。我已经尝试过 scale_fill_manualgeom_text 但无法弄清楚如何让它发挥作用。

【问题讨论】:

  • 不要使用stat_summary;在另一个数据框中分别计算均值,然后将其添加到自己的层中,并使用geom_line

标签: r ggplot2


【解决方案1】:

@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

【讨论】:

    猜你喜欢
    • 2015-02-20
    • 1970-01-01
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-09
    • 1970-01-01
    相关资源
    最近更新 更多