多年来使用geom_boxplot绘制箱线图

3
我希望使用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")

这是一张图表:

Graph1

但是,当我尝试使用以下命令在ggplot2中绘制时:

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

我得到了这个图形 Graph2

在同一张图中,我想要查看每个月份对应的值和箱线图,就像graphic1那样。

1个回答

4

由于Month是一个连续变量,您需要将该变量“因子化”以获得单独的箱线图:

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

另外,您可以使用 group 美学:

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

谢谢,它可以工作,但我想在同一图中显示四分位数的相应值。 - NVega
你的语句是什么意思?你原始的图似乎没有在四分位数值上进行标注? - Vlo
嗨@Vlo,你是对的,但我不知道如何在图中添加四分位数值。 - NVega
您可以使用以下伪代码 geom_text(aes(x = func1(), y = func2(), labels = c("25th", "50th", "75th")),其中 func1()func2() 只是输出文本标签位置的 x、y 值。我假设您已经知道箱线图箱体边缘是第 25、50 和 75 百分位数,对吗? - Vlo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接