Create a square loglog subplot

Hello all
I want to create a plot of 6 subplot logarithm. so far so good.
The problem is that I would like to create "square" log figures like on picture 1 except that matlab displays rectangular subplots by and automatically adapts the height/width ratio according to the size of the general plot.

Answers (1)

Use
axis square

4 Comments

Thank you for your response,
it seems to work but now i want to increase proportionally the size of each of them because it display really too small even if the windows size is big
I don't know how you are displaying them.
subplot(3,2,1)
set(gcf, 'Position', [120, 80, 1600, 900])
hold on
scatter(data(position1:position2,1),data(position1:position2,2),'o','b','filled')
scatter(data(position1:position2,1),data(position1:position2,3),'o','b')
scatter(data(position1:position2,1),data(position1:position2,4),'s','r')
scatter(data(position1:position2,5),data(position1:position2,6),'x','g')
axis square
grid on
set(gca,'xscale','log')
set(gca,'yscale','log')
legend('Symetrique','AC','BC','Gerber')
titre=strcat('Sondage géoélectrique de 2002 numéro:',int2str(nom));
title(titre)
hold off
subplot(3,2,2)
[...]
Because your subplot array is taller than it is wide, you must make your figure window taller than wide as well, e.g.,
figure(1)
for i=1:6
subplot(3,2,i)
plot(rand(1,5)); axis square
end
h=figure(1);
h.Position(3:4)=[640,950];
Otherwise, there is a tighter limit on how large the square tiles can grow.
figure(2);
for i=1:6
subplot(3,2,i)
plot(rand(1,5)); axis square
end
h=figure(2);
h.Position(3:4)=[950,640];

Sign in to comment.

Asked:

on 1 Sep 2021

Edited:

on 1 Sep 2021

Community Treasure Hunt

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

Start Hunting!