一张图表上有多个stat_bin图表?

时间:2013-04-30 14:48:21

标签: r ggplot2

我有一些看起来像这样的数据:

> head(taus)
        date window tau
1 2009-04-16      1   1
2 1994-09-13      1   3
3 2011-07-22      1   2
4 2003-09-05      1   1
5 2000-11-01      1   2
6 2008-02-12      1   1

有固定数量的窗户。我可以这样说:

ggplot(data=taus, aes(x=tau)) 
    + stat_bin(binwidth=10,col="black") 
    + facet_wrap(~ window, ncol=4)

但是有没有办法将所有图形放在一个图表上,给每个窗口一个不同的颜色,并使它们透明,以便我可以看到它们?

3 个答案:

答案 0 :(得分:1)

类似的东西:

ggplot(taus, aes(x=tau, fill=factor(window), group=window)) + 
   geom_bar(position='dodge', binwidth=10)

这种方式代替faceting,您使用groupingfill着色。 factor(window)是强制ggplotwindow中的整数视为级别而不是连续变量。

注意我还在geom_bar中添加了position='dodge'。这样window组就不会堆叠。

答案 1 :(得分:0)

这是我最终使用的,基于贾斯汀的建议:

> ggplot(spx, aes(x=tau, fill=window, group=window, alpha=1/4)) +
+ geom_bar(position='identity', binwidth=5, drop=T) +
+ scale_y_log10()

答案 2 :(得分:0)

这基本上是相同的,但alpha不会出现在图例中:

> ggplot(spx, aes(x=tau, group=window, fill=window)) + 
+     stat_bin(position='identity', binwidth=5, drop=T, alpha=0.3) +
+     scale_y_log10()