creating a hist3() plot with already binned data

1 view (last 30 days)
Hello,
I was wondering if anybody could help me with a relatively simple problem that I have creating a plot. I create a 3D histogram using the code below. It bins the data accordingly and then creates the plot.
My question, if I have the data already binned in a 81x121 matrix, what would the code be to create the plot. I need to skip the hist3() part in a way.
I would be grateful if anybody could advise me how to do so.
Thank you
Regards
J
edges = {-4:0.1:4, 0:120}
hist3(Data,'Edges',edges);
set(gcf,'renderer','opengl');
s = get(gca,'child');
zData = get(s,'zData');
colormap hot;
set(s,...
'zData' ,zData/length(Data),... % normalize frequency
'FaceColor' ,'interp',...
'EdgeColor' ,0.3*[1 1 1],... % make edges visible at all heights
'CDataMode' ,'auto'); % color tops according to height

Answers (2)

the cyclist
the cyclist on 2 Feb 2013
I think you just need the bar3 command. For example,
>> bar3(magic(5))
This is analogous to using bar() to plot the results of a regular histogram.
  4 Comments
the cyclist
the cyclist on 3 Feb 2013
Please consider accepting this answer if you found it helpful. That may help future users identify solutions to similar questions.

Sign in to comment.


Yelena Bagdasarova
Yelena Bagdasarova on 16 Jul 2018
Edited: Yelena Bagdasarova on 16 Jul 2018
On a related note, here's a method to redraw a histogram of binned data using bin edges and counts:
histogram('BinEdges',[1 2 3 4],'BinCounts',[1 2 3],'DisplayStyle', 'stairs')

Community Treasure Hunt

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

Start Hunting!