Plotting a normalised histogram graph

250 views (last 30 days)
Hi there,
I've imported a column vector of 3000 'distances traveled' values.
I am hoping to plot a graph similar to this one
I'm only interested in plotting the blue bars
I'm fairly new to matlab, could somebody please advise me on how I would to this.
For the blue bars would I need to normalize the data first and then plot a histogram chart? What function would I use?
Many thanks
John

Accepted Answer

Junaid
Junaid on 21 Dec 2011
Dear John,
Let say you have distance in D. You first have to take Histogram. For histogram if you know the number of bins then can give it as input or by default value will be applied. In given figure there are I assume 140 bins. So your code goes as follow:
h = hist(D,140); %D is your data and 140 is number of bins.
h = h/sum(h); % normalize to unit length. Sum of h now will be 1.
bar(h, 'DisplayName', 'Travel Distance');
legend('show');
Do let me know If I answered your question correctly.
  2 Comments
John
John on 21 Dec 2011
Dear Junaid,
Many thanks for your help. The code is perfect and I understand it.
R
R on 15 Jul 2013
dear junaid is it possible to normalize hsv histogram...

Sign in to comment.

More Answers (1)

Morteza Darvish Morshedi
Morteza Darvish Morshedi on 12 Mar 2021
Edited: Morteza Darvish Morshedi on 12 Mar 2021
In the recent versions of MATLAB:
% D is your data
% b can be number of bins, or edges
histogram(D,b, 'Normalization','probability');
You may want to have a look at the documentation here.

Community Treasure Hunt

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

Start Hunting!