Invert a histogram by emphasizing on the valleys

19 Ansichten (letzte 30 Tage)
kathsb
kathsb am 20 Aug. 2021
Kommentiert: Steven Lord am 20 Aug. 2021
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?
  7 Kommentare
Image Analyst
Image Analyst am 20 Aug. 2021
@kathsb, what picture? I'm not seeing any picture that you uploaded or butchered. Did you remove it?
And do you just want to somehow invert the bar chart, or do you actually want to change the original data from which it came?
And why? What is the use case? It seems like the result could be misleading. Why would you want to do that?
You already accepted an answer below, so we assume you've already solved the problem so not sure why you're continuing to post.
kathsb
kathsb am 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Yazan
Yazan am 20 Aug. 2021
Bearbeitet: Yazan am 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);
  2 Kommentare
kathsb
kathsb am 20 Aug. 2021
Thank you very much for your help!
Steven Lord
Steven Lord am 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)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Data Distribution Plots finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by