histogram without hist3 function

7 views (last 30 days)
Kamil Tkacz
Kamil Tkacz on 13 May 2015
Commented: Kamil Tkacz on 13 May 2015
Hello folks
I have a problem with hist3 function. I need to draw histogram 3D without using hist function but i need to define some new function. I have 1000x2 matrix of random number from 1.5 to 3.5 range and i dont really know how to do this. I was thinking about using bar3 function fron this code:
data=[1 3 5 7 4 8 0 1 3];
If you want to distribute your data into 10 bins, you would create a new array of size 10:
histArray=zeros(1,10); % prealocate
x=0:1:9;
then, you would run a forloop to count how many times you encounter in a particular value:
for n=1:length(data)
histArray(1,data(n)+1)=histArray(1,data(n)+1)+1; % every time you meet the particular value, you add 1 into to corresponding bin
end
bar(histArray)
but i need this to use not with natural but with integral. I would be very gratefull for any help.
  10 Comments
Kamil Tkacz
Kamil Tkacz on 13 May 2015
Thanks man its working, but if i wanna to get 3D bar plot what should i do?

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 13 May 2015
You can't use b directly as an index. You need to figure out what bin that the b value should be in. Like if b = 3.4423423423 do you want that in bin number 2, 8, or 42 or 300? If you want a bin for each unit integer range, then you can just use floor() or round() on the b values.
  1 Comment
Kamil Tkacz
Kamil Tkacz on 13 May 2015
yea but when i take floor() or round() i will get only 1 2 or 3 but thats not a point

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by