3

我需要绘制一组箱线图,其中数据按因素分组。我还想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")

示例箱线图

计算每个观测值的数量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,但我已经用尽了所有的想法。

谢谢!

4

1 回答 1

4

如果你拉出alphaaesthetic (aes)那么你可以直接提供alpha基于lengtheach的值class,如下所示:

ggplot(mpg, aes(x=factor(class), y=displ)) + 
      geom_boxplot(aes(fill="red"), 
          alpha = table(mpg$class) / max(table(mpg$class))) +
              scale_fill_manual(values=c("red"="red"), guide = "none")

你得到这个:

ggplot2_alpha

于 2013-02-08T16:11:44.117 回答