0

我有这个数据文件:

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

如果需要,这不是问题。

4

1 回答 1

7

ggplot2使用R 中的 Hadley Wickham 包制作堆叠直方图非常容易:

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=位将产生一个简单的直方图。

于 2013-02-24T12:28:48.770 回答