Histogram plot isn't shown properly.

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 Can you share data that was used to get this hist plot, sure you can use other normalization option to fit the axes limit, like 'probability' ot see its relative differenc of it's bins fequency.
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?
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!