Invert a histogram by emphasizing on the valleys
11 次查看(过去 30 天)
显示 更早的评论
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 个评论
Image Analyst
2021-8-20
@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.
采纳的回答
Yazan
2021-8-20
编辑:Yazan
2021-8-20
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 个评论
Steven Lord
2021-8-20
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)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Distribution Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!