Aligning subplots (colorbar and axis equal issue)

What would be the simplest way to align the x-axes of the two subplots while keeping the "axis equal" and "axis tight" properties on the bottom subplot? Thank you.
figure('position',[680 183 560 795]) subplot(2,1,1) imagesc(rand(1,3)) colorbar
subplot(2,1,2) imagesc(rand(3,3)) axis equal axis tight

Respuestas (1)

jonas
jonas el 17 de Ag. de 2018
Editada: jonas el 17 de Ag. de 2018
This was more difficult than I'd imagined, as axis equal changes the 'tightinset' and 'aspectratio' of the plot. This fileexchange function ( link ) proved very helpful. Using this function, you can try this code:
%%Original code
figure('position',[680 183 560 795])
h(1)=subplot(2,1,1)
imagesc(rand(1,3))
colorbar
h(2)=subplot(2,1,2)
imagesc(rand(3,3))
axis equal
axis tight
%%Add this section
pos{1} = plotboxpos(h(1))
pos{2} = plotboxpos(h(2))
NewPos=[pos{2}(1) pos{1}(2) pos{2}(3) pos{1}(4)]
set(h(1),'position',NewPos);
See attachment for results. The x-axes are aligned while the original height is maintained.

Categorías

Más información sobre Axes Appearance en Centro de ayuda y File Exchange.

Productos

Versión

R2015b

Preguntada:

TP
el 17 de Ag. de 2018

Editada:

el 17 de Ag. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by