用R表示累积的累积直方图/面积图

时间:2018-05-15 16:48:24

标签: r histogram stacked-area-chart

我有一些看起来像

的数据
library(data.table)
set.seed(1)
data <- data.table( sample(1:6,1000,replace=T), rnorm(1000, mean = 5))
     V1       V2
   1:  2 5.077303
   2:  3 4.703131
   3:  4 3.816758
   4:  6 5.011293
   5:  2 5.991601
  ---            
 996:  5 5.114406
 997:  4 4.607735
 998:  2 6.652358
 999:  2 3.756302
1000:  2 4.088074

我想创建一个带有某种累积直方图或累积面积图的图,这些图由V1填充,而在x轴上的V2,彼此叠加。结果应如下所示:

http://i.imgur.com/GGywhzu.png

这是我到目前为止所尝试的:

library(ggplot2)
ggplot(data, aes(group=V1, x = V2, fill=as.factor(V1))) +
    geom_histogram(aes(y=cumsum(..count..)/sum(..counts..)), bins = 50)

但是它没有正确地将数据堆叠在一起。区域图也可以更好,而不是直方图条。这就是上面的代码产生的: plot

1 个答案:

答案 0 :(得分:0)

是你要找的东西吗?

data$V1 <- as.factor(data$V1)
ggplot(data,aes(group=V1,fill=V1,x=V2))+
  geom_histogram()