How to plot a histogram in 2D if one has the counts already?

11 views (last 30 days)
I collected some 2D histcounts with
histcounts2
now that I have the counts, how do I plot them? I know one can just feed the actual data X to hist3 but unfortunately that is not an feasible option because I suspect it would make matlab crash. I essential pre-compute the histogram counts for my data first because its more memory efficient (or at least doesn't crash matlab).
For a snippet of my code:
Xedges = linspace(lb,ub,nbins);
Y_edges = linspace(lb,ub,nbins);
W_hist_counts_all = zeros( size(nbins,nbins) );
index = 1;
for file_struct = data_filenames'
if ~( strcmp(file_struct.name,'.') || strcmp(file_struct.name,'..') || strcmp(file_struct.name,'.DS_Store') )
load( [path file_struct.name] );
w1 = W_history(:,1);
w2 = W_history(:,2);
current_W_hist_counts = histcounts2(w1,w2,Xedges,Yedges);
W_hist_counts_all = W_hist_counts_all + current_W_hist_counts;
then I just wish to plot:
W_hist_counts_all
any ideas how?

Accepted Answer

Steven Lord
Steven Lord on 14 Dec 2017
If you're using release R2016b or later, you can "Create a histogram from precomputed bin counts". The specific signature you want is histogram2('XBinEdges',Xedges,'YBinEdges',Yedges,'BinCounts',counts)
  4 Comments
Brando Miranda
Brando Miranda on 14 Dec 2017
thanks! I will. My complaint was on histcounts2 not histogram2 though.
Steven Lord
Steven Lord on 14 Dec 2017
Perhaps I'm not understanding your complaint, but the whole purpose of histcounts2 is to compute the bin counts. If you already have the bin counts, you don't need to call histcounts2 at all.
It would be like sending your friend a text message complaining that you have to find your cell phone ... using your cell phone.

Sign in to comment.

More Answers (0)

Categories

Find more on Data Distribution Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!