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

2 visualizaciones (últimos 30 días)
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 comentario
Bee
Bee el 13 de En. de 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.

Iniciar sesión para comentar.

Respuesta aceptada

Star Strider
Star Strider el 14 de En. de 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')
  2 comentarios
Bee
Bee el 14 de En. de 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!

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by