我需要绘制一组箱形图,其中数据按因子分组。我还想为每个框设置alpha
值,以表示每个因子中的观察数。对于给定因子的观察越多,alpha
越高。
以mpg
数据为例......
绘制情节很简单:
library(ggplot2)
ggplot(mpg, aes(x=factor(class), y=displ)) +
geom_boxplot(aes(fill="red", alpha=10)) +
scale_fill_manual(values=c("red"="red"),guide="none") +
scale_alpha(range=c(0,1), guide="none")
Example box plots http://aws.drewconway.com.s3.amazonaws.com/dev/img/box_plots.png
使用class
计算每个plyr
的观察次数非常简单:
ddply(mpg, .(class), nrow)
class V1
1 2seater 5
2 compact 47
3 midsize 41
4 minivan 11
5 pickup 33
6 subcompact 35
7 suv 62
我确信ggplot2
内部有一种聪明的方法,但我已经用尽了所有的想法。
谢谢!
答案 0 :(得分:4)
如果您从alpha
中提取aesthetic (aes)
,则可以直接根据每个alpha
的{{1}}提供length
值,如下所示:
class
你明白了: