【问题标题】:How to label graph with the mean of the values using ggplot2如何使用ggplot2用值的平均值标记图形
【发布时间】:2011-03-09 06:27:58
【问题描述】:

我创建了一个geom_point 图表,其中 y 轴点是每个 x 轴值对应的值的平均值。当我尝试用平均值标记该点时,我得到的是所有值。

这是我目前所拥有的:

ggplot(test, aes(x=reorder(Type, Rating, mean), y=Rating, label=Rating)) +
       stat_summary(fun.y="mean", geom="point") +
       geom_text()

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    您可以像这样组合 stat_summary 和 geom_text:

    d <- data.frame(grp=gl(3,5, labels=letters[1:3]), v=rnorm(15))
    ggplot(d, aes(grp, v)) + 
      stat_summary(fun.y=mean, geom="point") +
      stat_summary(aes(label=..y..), fun.y=mean, geom="text", size=8)
    

    但可能最好事先汇总并格式化标签:

    ggplot(transform(ddply(d, .(grp), summarize, v=mean(v)), V=sprintf("%.02f", v)), 
      aes(grp, v)) +
      geom_point() + geom_text(aes(label=V))
    

    【讨论】:

    • 您可能想在geom_text 中使用hjustvjust,以便在点和文本之间也留一些空间。
    猜你喜欢
    • 2018-02-25
    • 2018-09-15
    • 2020-05-02
    • 1970-01-01
    • 2021-08-28
    • 2021-02-20
    • 2020-12-20
    • 1970-01-01
    相关资源
    最近更新 更多