How do I create a histogram with y axis being count, and x-axis being 20 different possible values?
2 views (last 30 days)
Show older comments
Hello,
I have a 76x76 matrix that I would like to convert into a histogram. All the values in it range from -1 to 1, but I only want to use the top triangle values, triu(A,1).
so I would like 21 beams on X-axis ranging from -1,-0.9,-0.8...,0.8,0.9,1.0. The Y-axis will be the amount of entries in the matrix that fit in that particular beam, e.g. 0.62 and 0.60 would both be in the 0.6 beam.
Thank you very much.
0 Comments
Accepted Answer
Image Analyst
on 24 Aug 2016
I assume you tried the really obvious route -- the histogram() function. So you'll have to let us know why this isn't working for you.
upperTriangle = logical(triu(ones(size(A)), 1));
edges = -1 : 0.1 : 1;
histogram(A(upperTriangle), edges);
grid on;
xlabel('Value');
ylabel('Count');
Why doesn't this work? It seems simple enough, and seems like it should work.
6 Comments
Image Analyst
on 25 Aug 2016
Plus, you can't call your function histogram(). There is already a function called histogram(), and you just destroyed it. So now your histogram() function calls itself recursively - NOT what you want.
More Answers (0)
See Also
Categories
Find more on Histograms in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!