How to draw an histogram?
11 views (last 30 days)
Show older comments
How do I draw an histogram knowing the number of times all elements in a 150x150 matrix appears using matlab?
0 Comments
Accepted Answer
Adam Danz
on 3 Apr 2024
Edited: Adam Danz
on 3 Apr 2024
> How do I draw an histogram knowing the number of times all elements in a 150x150 matrix appears using matlab?
Both histogram and histogram2 offer two types of syntaxes. One syntax lets you input the raw data so that the function can compute the density of each bin. The second lets you enter the bins and densities yourself.
It sounds like you want the second but it's unclear whether your density data are a vector (use histogram) or a matrix (use histogram2).
Here is an example of both.
histogram
counts = [12.5 38.9 4.2 9.8 28.22 11.1];
binEdges = [2 4 6 8 10 12 14];
figure()
histogram('BinEdges', binEdges, 'BinCounts', counts)
cats = categorical([2 4 6 8 10 12]);
figure()
histogram('Categories', cats, 'BinCounts', counts)
histogram2
counts = magic(5)
xBinEdges = [-2 -1 0 1 2 3];
yBinEdges = [10 20 30 40 50 60];
figure()
histogram2('XBinEdges',xBinEdges,'YBinEdges',yBinEdges,'BinCounts',counts)
More Answers (1)
Athanasios Paraskevopoulos
on 3 Apr 2024
f you already have the matrix, use it directly. If not, here is an example of how you can generate a random matrix with integers for demonstration purposes:
% Generate a 150x150 matrix with random integers from 1 to 100
matrix = randi(100, 150, 150);
% Flatten the matrix to a vector
flattenedMatrix = matrix(:);
% Plot histogram using the appropriate method
histogram(flattenedMatrix, 'BinMethod', 'integers');
xlabel('Element value');
ylabel('Frequency');
title('Element frequency in 150x150 matrix');
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!