创建堆积直方图

时间:2013-02-24 11:14:00

标签: r matplotlib gnuplot histogram

我有这个数据文件:

A
    169
    164
    164
    102
    150
    100
    145
B
    145
    107
    115
    120
    140

我想从中创建堆叠直方图。我想设置一个范围(比方说100到170),为X轴设置bin宽度(比如说10),并计算每个bin中有多少(例如140到149在A中有1)和B)中的2,并使用条形图在Y轴上绘制计数。对于A计数和B计数,着色(或阴影或其他)将是不同的。 我试着查看gnuplot的直方图演示,在某些情况下看起来确实相似,但我无法弄清楚如何使其工作。也没有运气python + matplotlib或R. 将数据重新排序为

 A B
 169 145
 164 107
 164 115
 102 120
 150 140
 100
 145

如果需要,不是问题。

1 个答案:

答案 0 :(得分:7)

在R中使用Hadley Wickham的ggplot2包进行叠加直方图非常容易:

library(ggplot2)
h <- data.frame(var=sample(letters[1:2], 100, TRUE), 
                value=rnorm(100, 0, 10))

ggplot(aes(x=value, color=var), data=h) + stat_bin(binwidth=5)

删除color=位会产生一个简单的直方图。