Histogram plot isn't shown properly.

5 views (last 30 days)
When I am trying to plot the Histogram it looks like as shown below. If I try to scale the y axis as it is too high the variation in the lower values aren't seen. How to show a proper histogram plot so that the variation in the lower side can be also seen along with the highest point in the y axis? Kindly help
  3 Comments
Vaswati Biswas
Vaswati Biswas on 7 Mar 2021
I am new to Matlab. I have plotted this histogram from Jpeg image. Would you please tell me how can I normalise the histogram plot?
dpb
dpb on 7 Mar 2021
Can't change the characteristics of the image; any linear scaling of the axis will only change the numerical values, not the shape.
The usual "trick" for data which have a very large dynamic range is to use log scaling on one or both axes...
histogram(yourData)
hAx=gca; hAx.YScale='log'; % get axes handle; set y axis to logarithmic

Sign in to comment.

Accepted Answer

dpb
dpb on 7 Mar 2021
Edited: dpb on 7 Mar 2021
Can't change the characteristics of the image; any linear scaling of the axis will only change the numerical values, not the shape.
The usual "trick" for data which have a very large dynamic range is to use log scaling on one or both axes...
histogram(yourData)
hAx=gca; hAx.YScale='log'; % get axes handle; set y axis to logarithmic
Illustration...
x=logspace(0,6,1000).';
nexttile, histogram(x)
nexttile, histogram(x), hAx=gca;hAx.YScale='log';
produced:
The downside is you can't have identically zero on the axis (there is no free lunch).

More Answers (0)

Community Treasure Hunt

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

Start Hunting!