Hi, is it possible to flip a histogram around the peak value? I do not want to flip the axis. Just for performing some checks, I want to invert my distribution from negative skewness to positive skewness, keeping the mean value at its original value. any help is appreciated.

 Réponse acceptée

Théophane Dimier
Théophane Dimier le 9 Déc 2020
Modifié(e) : Théophane Dimier le 9 Déc 2020
Hi!
It should be doing the following (considering that a is your input)
[counts,center]=hist(a);
bar(center,counts);
hold on
center_mirror=flip(center);
bar(center_mirror,counts);
This should plot the histogram and the mirrored histogram.
If you want to force it to rotate around the peak (conservation of the mode of the distribution):
[counts,center]=hist(a);
bar(center,counts);
hold on
[~,idx]=max(counts);
center_mirror=2*center(idx)-center;
bar(center_mirror,counts);
I hope it answers your question!

9 commentaires

Sumera Yamin
Sumera Yamin le 11 Déc 2020
Hi, many thanks for your answer. Your second code is what i wanted to do. However i have a question, you are platting bars (with spaces in between the bars). How can i avoid the spaces between the bars and plot it as a normal histogram bins.
Théophane Dimier
Théophane Dimier le 11 Déc 2020
Modifié(e) : Théophane Dimier le 11 Déc 2020
you can change the width of the bar using the name-pair argument "LineWidth":
bar(center_mirror,counts,"BarWidth",1);
Sumera Yamin
Sumera Yamin le 11 Déc 2020
i did not mean the width of bar, what i meant was the spacing between the bars. I want histogram bins to be next to each other. With bar, they have a spacig in between. i attached the figure for ref.
Théophane Dimier
Théophane Dimier le 11 Déc 2020
Modifié(e) : Théophane Dimier le 11 Déc 2020
It was "BarWidth" and not "LineWidth"... My bad. I have edited the original comment.
Sumera Yamin
Sumera Yamin le 11 Déc 2020
right, i also see it now. many thanks for your help.
Théophane Dimier
Théophane Dimier le 11 Déc 2020
You are welcome! Can you just close the question by accepting the answer, please?
Sumera Yamin
Sumera Yamin le 11 Déc 2020
Modifié(e) : Sumera Yamin le 11 Déc 2020
Yes of course. could you please explain what is "idx" and what is code doing? i want to integrate it in my original code and i cannot understand it, what if i want to use histogram instead of bar
Image Analyst
Image Analyst le 11 Déc 2020
The cryptic idx should have been called something more explicit and descriptive, like "indexOfMax". Basically it's the first index (bin number) where the max value (mode) of the histogram appears. Does that explain it better.
Sumera Yamin
Sumera Yamin le 11 Déc 2020
Modifié(e) : Sumera Yamin le 11 Déc 2020
ok, thanks, i understood it now.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by