Histogram x axis range

367 views (last 30 days)
I am trying to plot the Histogram for a matrix which contains the values ranging from 0 to 0.1. However I wish to have the X axis values ranging from 0 to 1 with 20 bins (with each of 0.05 value difference). This is for me to show how the overall distribution is still less than 0.1 in the whole range of 0 to 1.
I tried the following code, and however, this does not work as the Histogram always shrinks the X-axis with values less than 0.1 (due to the maximum value in the matrix).
edges = [0 1];
histogram('BinEdges',edges,'BinCounts',20)
histogram( data(:));
Any help is appreciated for me to achieve this goal. Thanks

Accepted Answer

Image Analyst
Image Analyst on 23 Dec 2018
You can do this:
data = 0.1 * rand(1, 1000); % Create sample data.
edges = linspace(0, 1, 21); % Create 20 bins.
% Plot the histogram.
histogram(data, 'BinEdges',edges);
% Fancy up the graph.
grid on;
xlim([0, 1]);
xlabel('Data Value', 'FontSize', 14);
ylabel('Bin Count', 'FontSize', 14);
title('Histogram of Data', 'FontSize', 14);
0000 Screenshot.png
Of course you will have only 2 bins for your data to fall into, so I don't know if that's what you want.
  1 Comment
Marimuthu Ananthavelu
Marimuthu Ananthavelu on 23 Dec 2018
Edited: Marimuthu Ananthavelu on 23 Dec 2018
Thanks so much, yes thats what I expected to have. :)

Sign in to comment.

More Answers (1)

madhan ravi
madhan ravi on 23 Dec 2018
h=histogram('BinEdges',edges,'BinCounts',20)
h.BinLimits=[0 1] % x-axis range
  3 Comments
madhan ravi
madhan ravi on 23 Dec 2018
So remove BinCounts option and try?
Marimuthu Ananthavelu
Marimuthu Ananthavelu on 23 Dec 2018
Unfortunateley, that does not help. THanks so much.

Sign in to comment.

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!