## labelEdgeSubPlots

version 1.6.0.0 (2.35 KB) by
Automatically apply x and y labels to subplots only along the edges.

Updated 11 Jul 2012

Editor's Note: This file was selected as MATLAB Central Pick of the Week

function H=labelEdgeSubPlots(xl,yl,onlyBottom)

Purpose
If all subplots have the same quantities on the x and y axes then
there's no point labeling all of them. Often it looks neater to
simply have y labels only on the plots along the left hand
edge and x labels only on the plots along the bottom. This
function does this automatically for the current figure.

Inputs
xl - a string specifying what to label the x axes.
yl - a string specifying what to label the y axes.
onlyBottom - by default this is zero and the function adds an
x-axis to appropriate plots from the penultimate row
if the bottom row of plots is incomplete. set
onlyBottom to 1 to suppress this behaviour.
* in addition: onlyBottom can be a vector of axis handles to
be processsed.
Outputs
H - a structure containing handles to the x and y axis labels

Example
clf
for i=1:5
subplot(2,3,i)
x=[0:10]; y=1+0.01*x.^3+randn(size(x))*0.2;
plot(x,y,'ok'), xlabel('will be removed')
end

H=labelEdgeSubPlots('beer [pints]','faux pas');
%or:
H=labelEdgeSubPlots('beer [pints]','faux pas',1);
%One can also do:
set(H.xlabels,'color','red','fontweight','bold')

%proccess only some subplots
ax=[];
for i=1:25
subplot(5,5,i), box on
if mod(i,5)==1, ax=[gca,ax]; end
end
labelEdgeSubPlots('X','Y',ax);

Rob Campbell - January 2009

### Cite As

Rob Campbell (2021). labelEdgeSubPlots (https://www.mathworks.com/matlabcentral/fileexchange/26332-labeledgesubplots), MATLAB Central File Exchange. Retrieved .

##### MATLAB Release Compatibility
Created with R2009a
Compatible with any release
##### Platform Compatibility
Windows macOS Linux