2010-03-04 70 views

回答

16

下面是一個例子:

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)]) 

output

+0

非常感謝...我用您的解決方案來建立我的研究範圍內的功能.. – yasmine 2010-03-05 11:48:32

+0

是否有辦法使它這樣所有的箱子都有相同的xsize,不管它實際上有多大? – 2013-06-21 20:39:35

+0

@ useretothepowerof2pi:我不明白,如果你想要等寬箱只使用常規HIST功能。上面的代碼的整個想法是,我們需要不同寬度的非規則間隔 – Amro 2013-06-21 22:18:25

2

你可以建立你自己的直方圖工具來創建自定義直方圖,只要你喜歡。

  • 使用histc來確定每個點落入哪個面板 。

  • 然後使用accumarray來計算每個bin中元素的數量。

  • 然後使用欄來繪製您選擇的寬度的酒吧。或者簡單地創建給定尺寸的 補丁。爲此,使用補丁 。

或者更簡單,只需使用hist。

hist(rand(1000,1),[0 .1 .3 .6 1]) 
5

2解決方案:

  1. 指定斌中心與 第二個參數hist
  2. 指定bin 邊緣與 第二個參數爲histc。這個 功能需要進一步處理 ,因爲它不會 直接生成圖形 - 請按照 鏈接中的使用示例進行操作。