How to draw an histogram?
3 次查看(过去 30 天)
显示 更早的评论
采纳的回答
Adam Danz
2024-4-3
编辑:Adam Danz
2024-4-3
> 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)
更多回答(1 个)
Athanasios Paraskevopoulos
2024-4-3
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');
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Distribution Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!