3

我可以用经典来做到这一点boxplot。这里我们使用内置数据:PlantGrown作为示例。

attach(PlantGrowth)    
boxplot(weight~group,data=PlantGrowth,xaxt="n")
PlantGrowthSum=ddply(PlantGrowth,.(group),summarise,sum=length(weight))

> PlantGrowthSum
   group sum
1  ctrl  10
2  trt1  10
3  trt2  10

axis(1,1:3,paste(PlantGrowthSum$group,"(",PlantGrowthSum$sum,")",sep=""))

箱线图,每个框的总和数

这里有一个问题,怎么样ggplot2

library(ggplot2)
bp <- ggplot(data=PlantGrowth, aes(x=group, y=weight, fill=group))
    + geom_boxplot()
    +theme(axis.text.x=element_blank())
    +theme(axis.text.x=1:3)
bp

但它失败了。关于应该设置哪个参数的任何线索?

4

1 回答 1

5

由于在这种情况下 x 值是离散的,您应该使用scale_x_discrete()来设置 x 轴的标签。

bp <- ggplot(data=PlantGrowth, aes(x=group, y=weight, fill=group))+
geom_boxplot()
bp+scale_x_discrete(labels=paste(PlantGrowthSum$group,"(",PlantGrowthSum$sum,")",sep=""))

在此处输入图像描述

有关 ggplot2 绘图的比例和其他元素的更多信息和示例可以在 ggplot2 文档站点中找到。

于 2013-01-27T08:27:47.970 回答