【问题标题】:Boxplot with geom_boxplot for many years多年使用 geom_boxplot 的箱线图
【发布时间】:2014-07-02 12:21:54
【问题描述】:

我想用 ggplot2 制作漂亮的箱线图。 注意:来自 ggplot2 的空气质量数据可以说明我想要做什么,但在我自己的数据中,我有一个额外的年份(1900:2000)列。

我用这个命令制作了简单的箱线图:

      tapply(data$Temp, substr(data$Month, 1,3),na.rm=TRUE, summary) #data=airquality
      boxplot(Temp~Month, data=data, na.action = NULL, main="1900-2000")

它有这个图形:

但是当我用这个命令尝试使用 ggplot2 时:

     ggplot(data, aes(Month, Temp),facet= Month~.) + geom_boxplot()

它得到这个图形

在同一个图中,我想查看每个月对应的值和箱线图,如图形 1

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    因为Month 是一个连续变量,您需要“分解”这个变量以获得单独的箱线图:

    ggplot(airquality, aes(factor(Month), Temp)) + geom_boxplot()
    

    您也可以使用group 美学:

    ggplot(airquality, aes(Month, Temp, group = Month)) + geom_boxplot()
    

    【讨论】:

    • 谢谢它的工作,但我想在同一个情节中有相应的四分位数。
    • 你的陈述是什么意思?您的原始图似乎没有标记四分位数?
    • 嗨@Vlo你是对的,但我不知道如何在图中添加四分位数。
    • 您可以使用以下伪代码geom_text(aes(x = func1(), y = func2(), labels = c("25th", "50th", "75th")),其中func1()func2() 仅输出文本标签位置的x、y 值。我假设您已经知道箱线图框的边缘是第 25、第 50 和第 75 个百分位数,对吧?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-16
    • 2021-11-25
    • 2018-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-14
    相关资源
    最近更新 更多