# How can I plot the column-wise frequency of different elements for an mxn array?

30 views (last 30 days)
Bee on 13 Jan 2016
Commented: Star Strider on 14 Jan 2016
Hello, I have an mxn array of numbers (integers or decimal numbers). I can use hist function separately for each column to find out frequency of each elements, for example: hist on each column gives output like 10 1's, 15 2's 25 7's in column 1; 25 2's, 25 3's in column 2; etc. Now I want to plot the histograms in a 3D plot, so that x axis = m, y axis = n, z axis = frequency of each element.
It seems very plain and simple, but somehow I am really struggling with this. Any help is greatly appreciated. Thanks for your time.

#### 1 Comment

Bee on 13 Jan 2016
I wanted to ask a question and confused it with the newsgroup messaging, so I posted a message in the newsgroup. Was wondering if it is illegal to ask the same question in the Newsgroup and MATLAB Answers.

Star Strider on 14 Jan 2016
I would use histc (or histcounts) and plot the results with bar3:
M = randi(3, 15, 6); % Create Data
binrng = 0:4; % Set Bin Ranges
counts = histc(M, binrng); % Histogram Counts
figure(1)
bar3(binrng, counts) % Plot
xlabel('Columns')
ylabel('Rows')
zlabel('Frequency')

Bee on 14 Jan 2016
Thank you! Thank you! Thank you! I only changed binrng = 1:3 instead of 0:4 for your example, and that gave me what I want. Thank you soooo much!
Star Strider on 14 Jan 2016
As always, my pleasure!