How to get a set aspect ratio of 4:3 on a figure?
67 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I want to plot 2 things side by side but at a fixed aspect ratio of 4:3. Is there a way to do this?
2 comentarios
Jonas
el 21 de Feb. de 2024
do you want to be the subplot be 4:3 or the whoe figure?
look into pbaspect()
Respuestas (2)
Ramtej
el 21 de Feb. de 2024
Hi
You use "subplot" function to draw two figures side by side and set the aspect ratio of each figure by using "pbaspect".
x = linspace(0, 2*pi, 100);
y1 = sin(x);
y2 = cos(x);
figure;
% Plot the first subplot
subplot(1, 2, 1);
plot(x, y1);
title('Sine Wave');
pbaspect([4 3 1]);
% Plot the second subplot
subplot(1, 2, 2);
plot(x, y2);
title('Cosine Wave');
pbaspect([4 3 1]);
Refer to the below documentation for the detailed instrutctions on how to use "pbaspect" function.
0 comentarios
Jonas
el 21 de Feb. de 2024
you could use pbaspect on each subplot
figure;
ax1=subplot(2,1,1);
plot(rand(10,1));
ax2=subplot(2,1,2);
plot(rand(100,1));
% run on each axis
arrayfun(@(in) pbaspect(in,[4 3 1]),[ax1 ax2])
% instead of saving each axis, you could collect all of the current figure after creation:
f=figure;
subplot(2,1,1);
plot(rand(10,1));
subplot(2,1,2);
plot(rand(100,1));
% run on each axis
axs=findall(f,'type','axes');
arrayfun(@(in) pbaspect(in,[4 3 1]),axs)
0 comentarios
Ver también
Categorías
Más información sobre Subplots 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!