How to change the ylim for all histogram figures after a for loop?
조회 수: 14 (최근 30일)
이전 댓글 표시
Hi,
I have 12 histograms, and each of them has different maximum number of counts, I want the ylim of all figures to be unified, i.e. ylim to be highest value of counts for all 12 histograms. That is represented in MaxH in the code below:
Max = ceil(max(totalPowerdB(:)))+1;
SS = unique(sort(totalPowerdB(:)));
Min = floor(SS(2))-1;
nbins = 20;
count = 0;
MaxH = 0;
for jj = 1:iRegion
for ii = 1:1
count = count+1;
if totalPowerdB(jj,:,ii)~=-inf
figure(count)
end
txt = ['Region ',num2str(jj),' Reciever ',num2str(ii)];
H = histogram(totalPowerdB(jj,:,ii),nbins,'FaceColor',rand(1,3));
if max(H.Values) > MaxH
MaxH = max(H.Values);
end
hold on; grid on;
legend(txt);
title('Received Power Histogram')
xlim([Min Max]);
xlabel('Power Level [dB]');
ylabel('Counts');
end
end
댓글 수: 0
채택된 답변
Star Strider
2019년 10월 9일
I can’t run your code (no data), so I simulated it.
This seems to work:
for k = 1:12
figure(k)
H = histogram(rand(20), 20, 'FaceColor',rand(1,3));
HAx{k} = H.Parent; % Get & Save Axes Handles
maxH(k) = max(H.Values);
end
ylim([HAx{:}], [0 max(maxH)])
댓글 수: 2
Star Strider
2019년 10월 9일
As always, my pleasure!
No worries — I felt it necessary to explain the reason for my simulation.
추가 답변 (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!