Invert a histogram by emphasizing on the valleys

21 views (last 30 days)
Hello! I have a regular histogram, where I have my peaks at a certain frequencies. However, i want to emphasize on the valleys in my histogram rather than on the peaks. How do I make it so? I want my new histogram to display the peaks as the spaces with the biggest valleys in the initial plot. Like invert it, in a sense?
kathsb on 20 Aug 2021
@Image Analyst I have removed the picture after i accepted the answer due to personal reasons. The reason I'm looking for this kind of interpretation is just purely for scientific analysis and the result wouldn't be misleading in this particular case. Now regarding my last comment, I was simply just trying to be polite and thank the contributor for their help.

Sign in to comment.

Accepted Answer

Yazan on 20 Aug 2021
Edited: Yazan on 20 Aug 2021
One way to do that probably is by subtracting the rate in each bin from the maximum rate. Below is an example with normal distribution. I'm not sure though if interpreting this result is very meaningful.
clc, clear
x = randn(1, 1000);
h1 = histcounts(x);
h2 = max(h1)-h1;
bar(h1, 'FaceAlpha', 0.5), hold on, bar(h2, 'r', 'FaceAlpha', 0.5);
Steven Lord
Steven Lord on 20 Aug 2021
Instead of using bar you could use the output from histcounts as the BinEdges and BinCounts in a call to histogram.
x = randn(1, 1e5);
[counts, edges] = histcounts(x);
histogram('BinEdges', edges, 'BinCounts', max(counts)-counts)

Sign in to comment.

More Answers (0)


Find more on Data Distribution Plots in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!