Plotting histogram question ?

How do I plot the histogram of a set of data values in terms of percentage of cumulative frequency? Something like, I want the range to be from 0 to 100%, not from 0 to total number of data.
I am not sure if I made myself understood. Please do ask for details if you need any.

 採用された回答

Fangjun Jiang
Fangjun Jiang 2011 年 8 月 13 日

1 投票

a=rand(100,1);
a(a>=0.7)=1;
a(a<=0.2)=2;
a(a<0.7 & a>0.2)=3;
figure(1);n=hist(a(:),0:5);
percent=n/sum(n);
figure(2);bar(0:5,percent);

6 件のコメント

Jason
Jason 2011 年 8 月 13 日
Hi, is it possible to list down the actual percentage value for data in each container?
Jason
Jason 2011 年 8 月 13 日
I actually have to plot this for all the values within a 4-D cell array. There are 59,500 values in total, I need to know the cumulative frequency of those values. Maybe I need to use 'cumsum'?
Fangjun Jiang
Fangjun Jiang 2011 年 8 月 13 日
a=rand(2,3,4,5);
figure(1);hist(a(:),0:0.1:1);
n=hist(a(:),0:0.1:1);
figure(2);bar(0:0.1:1,n/sum(n));
Jason
Jason 2011 年 8 月 13 日
What am I thinking, the answer is clearly in the code you wrote. Sorry, my mind is so cluttered right now. Thanks for the help though, very much appreciated.
Walter Roberson
Walter Roberson 2011 年 8 月 13 日
Warning: the logic used above will fail if there are no values to be histogrammed. sum(n) would be 0 and you would get 0/0 . Be safe, program defensively!
Jason
Jason 2011 年 8 月 13 日
Thanks, Walter.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by