How to change the ylim for all histogram figures after a for loop?

14 visualizaciones (últimos 30 días)
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

Respuesta aceptada

Star Strider
Star Strider el 9 de Oct. de 2019
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 comentarios
Sharif Khalil
Sharif Khalil el 9 de Oct. de 2019
Thanks, it works, sorry the data is 12X125X1216, so I could not post it with the question.
Star Strider
Star Strider el 9 de Oct. de 2019
As always, my pleasure!
No worries — I felt it necessary to explain the reason for my simulation.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Histograms en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by