我可以用经典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
但它失败了。有关应该设置哪个参数的任何线索?
答案 0 :(得分: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文档site。