Displaying Histograms with decreasing bar heigths
3 次查看(过去 30 天)
显示 更早的评论
Hello,
My data: is a 1000x1 duration array, which I'd like to display within histograms ... with decreasing bar heights.
What I did so far is following:
- I defined my categories
- I created individual histograms
- And displayed those within one figure
%Defining the time periods I'd like to visualize
a=({'03:00:00'}>data_inm);
b={'06:00:00'}>data_inm;
b1=b-a;
c={'12:00:00'}>data_inm;
c1=c-b;
C=categorical(a,[1],{'0-3'});
C1=categorical(b1,[1],{'3-6'});
C2=categorical(c1,[1],{'6-12'});
%Visualization
figure('Name','My Categories');
hold;
histogram(C,'Normalization','probability','BarWidth',0.5);
histogram(C1,'Normalization','probability','BarWidth',0.5);
histogram(C2,'Normalization','probability','BarWidth',0.5);
Besides having more than 3 categories, I guess the way I tried to solve my task so far is not too effective.
... do you have an idea on how to display my histograms with decreasing bar heights? Or on how I could realize a more effective code? I'd be glad to hear your ideas!
Best regards! And thanks a lot in advance!
0 个评论
采纳的回答
Steven Lord
2018-7-17
It's not clear to me what you mean when you say "with decreasing bar heights".
Do you want the total area of the bin to be proportional to the number of elements in the bin, not just the height, so a wider bin is shorter than a narrow bin with the same number of elements? If so, you probably want to specify the 'countdensity' or 'pdf' values for the 'Normalization' parameter when you create your histogram.
x = randn(1, 1e4);
E = [-3 -2 -1 -0.5 -0.25 0 0.25 0.5 1 2 3];
figure
histogram(x, E);
figure
histogram(x, E, 'Normalization', 'countdensity');
figure
histogram(x, E, 'Normalization', 'pdf');
Do you mean that you want the bar corresponding to a bin with 2 elements to be less than one unit taller than a bin with 1 element?
figure
h = histogram(x);
ax = ancestor(h, 'axes');
% Compare the appearance of the histogram before and after this line
ax.YScale = 'log';
If neither of those are what you want, please explain in more detail. If there's a webpage that shows specifically what you're trying to achieve, a link to that page may be useful in helping us understand your goal.
2 个评论
Steven Lord
2018-7-18
Ah, okay, you want the bins in descending order of height. That's easy. Set the DisplayOrder property of the categorical histogram to 'descend'. The "Change Display Order" section on this documentation page shows how to do this.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Histograms 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!