Set one common Xaxis for a sublot with rows = 1 and columns = 2

5 views (last 30 days)
Hello all,
I am having difficulties setting one shared\common Xaxis label for subplot with one row and two columns [e.g., subplot(1,2,1)].
Although there are a few realted answers in the forum, none seems to work for me.
I would appreciate your help!
Thanks, Ron
  1 Comment
dpb on 31 Jul 2022
'Splain what you're after more fully -- neither subplot nor tiledlayout support sharing axes although the latter has shared title/legends. One would have to overlay the area with additional axes or draw a small-height one to add additional.
Show what you tried and what didn't please...there may be submissions on FEX but I've not looked.

Sign in to comment.

Accepted Answer

dpb on 1 Aug 2022
Edited: dpb on 1 Aug 2022
I overlooked the labels in the original Q? body and thought was to have a combination axis itself of some sort based on title -- hence the response asking for clarification.
For the actual Q? as @the cyclist mentions above, use tiledlayout instead of subplot() which has been deprecated and won't be updated further it would appear.
From the doc examples for tiledlayout --
?Display a shared title and axis labels by passing t to the title, xlabel, and ylabel functions."
t = tiledlayout(2,2,'TileSpacing','Compact');
title(t,'Size vs. Distance')
xlabel(t,'Distance (mm)')
ylabel(t,'Size (mm)'
  1 Comment
Ron Nativ
Ron Nativ on 1 Aug 2022
Thanks! I find the code working utilizing tiledlayout(1,2,...), as follows (e.g.,):
t = tiledlayout(1,2,'TileSpacing','Compact');
title(t,'Size vs. Distance')
xlabel(t,'Distance (mm)')
ylabel(t,'Size (mm)')

Sign in to comment.

More Answers (1)

the cyclist
the cyclist on 31 Jul 2022
Edited: the cyclist on 31 Jul 2022
You may find the linkaxes command useful. You can also share properties (e.g. titles, xlabels) in a tiledlayout.

Community Treasure Hunt

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

Start Hunting!