How does one plot a histogram from the histogram counts?
Show older comments
I have produced an array of counts, specifically produced with:
histcounts
the reason I do this is because storing the actual data is way to expensive in terms of storage. So on the fly I update my histcount. Now that I have them, how do I plot the histogram?
----
demo code:
W_hist_counts = zeros(1,D);
for i=2:iter+1
W = get_vector_we_want_stats(W)
%
W_hist_counts = W_hist_counts + histcounts(W,nbins);
end
----
Answers (2)
the cyclist
on 27 Mar 2017
0 votes
4 Comments
Brando Miranda
on 27 Mar 2017
Star Strider
on 27 Mar 2017
If the edges are regularly spaced, this is what I do to create a vector of centers for the bar plot:
e = 1:5 % ‘Edges’ Vector
xt = e(1:end-1)+mean(diff(e))/2 % ‘Midpoint’ Vector
e =
1 2 3 4 5
xt =
1.5 2.5 3.5 4.5
Brando Miranda
on 27 Mar 2017
the cyclist
on 28 Mar 2017
I assume you want to normalize to an overall sum of 1. You should just be able to plot
W_hist_counts/sum(W_hist_counts)
to normalize, right?
Image Analyst
on 27 Mar 2017
0 votes
histogram() can plot the histogram data (counts vs values) if you pass in the counts and values instead of the data. Otherwise you can do it manually with bar().
Categories
Find more on Histograms in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!