我有这个数据文件:
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
如果需要,不是问题。
答案 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=
位会产生一个简单的直方图。