创建堆积直方图

Gim*_*ist 0 r gnuplot matplotlib histogram

我有这个数据文件:

A
    169
    164
    164
    102
    150
    100
    145
B
    145
    107
    115
    120
    140
Run Code Online (Sandbox Code Playgroud)

我想从中创建一个堆积直方图.我想设置一个范围(比方说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
Run Code Online (Sandbox Code Playgroud)

如果需要,不是问题.

小智 7

使用H中的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)
Run Code Online (Sandbox Code Playgroud)

删除该color=位将产生简单的直方图.