【发布时间】:2011-01-23 16:01:21
【问题描述】:
我想用不等的 bin(间隔)构造一个直方图。Matlab 只构造具有相等 bin 的直方图,就好像它是一个图表一样..!!!
请帮助我...非常感谢!
【问题讨论】:
我想用不等的 bin(间隔)构造一个直方图。Matlab 只构造具有相等 bin 的直方图,就好像它是一个图表一样..!!!
请帮助我...非常感谢!
【问题讨论】:
这是一个例子:
x = randn(100,1)*3; %# some random data
e = [-10 -5 -3 -1 1 2 3 20]; %# edges of intervals: e(i) <= x < end(i+1)
c = histc(x,e); %# get count in each interval
bar(e, c, 'histc') %# bar plot
set(gca, 'xlim',[e(1) e(end)])
【讨论】:
bar(c, 'histc')。然后可以自定义轴的XTickLabels自己放置正确的标签
您可以构建自己的直方图工具来创建您喜欢的自定义直方图。
使用 histc 确定哪些 bin 每个点都在里面。
然后使用 accumarray 统计每个 bin 的元素个数。
然后使用 bar 绘制所选宽度的条形。或者干脆创建 给定大小的补丁。使用补丁 为此。
或者更简单地说,只需使用 hist。
hist(rand(1000,1),[0 .1 .3 .6 1])
【讨论】: