MATLAB Answers

moonman
0

how to give labels and title to all subplot one time

Asked by moonman
on 6 Dec 2011
Latest activity Commented on by Anvya
on 19 Oct 2015

I am having 12 subplots in my figure All are required to have same labels How can i give them label by mentioning only one time?

  0 Comments

Tags

Products

No products are associated with this question.

2 Answers

Answer by Abhishek Gupta
on 6 Dec 2011
 Accepted answer

One may use FINDOBJ to locate all subplots/axes on a figure and then use a FOR loop to label/title all the subplots. For example:

f=figure;
subplot(2,2,1:2)
text(.5,.5,'subplot(2,2,1:2)',...
    'FontSize',14,'HorizontalAlignment','center')
subplot(2,2,3)
text(.5,.5,'subplot(2,2,3)',...
    'FontSize',14,'HorizontalAlignment','center')
subplot(2,2,4)
text(.5,.5,'subplot(2,2,4)',...
    'FontSize',14,'HorizontalAlignment','center')
ax = findobj(f,'Type','Axes');
for i=1:length(ax)
    ylabel(ax(i),{'Nice'})
    title(ax(i),{'Very Nice'})
end

Hope this helps.

Abhi...

  2 Comments

Naz
on 6 Dec 2011

Since all of your subplots have the same labels, I would label only the left subplots for y-axes and bottom subplots for x-axes. This way your plots look a little bigger because your labels don't take extra space.

Anvya
on 19 Oct 2015

Thank you!

I may use anywhere between 2-4 subplots and I wanted the title only once. I used

demo1=figure(1);
plot(x,y)
ax = findobj(demo1,'Type','Axes')
title(ax(length(ax)),'my Title')

Note the index of 'ax'. I have used the last one because it gets the axes in the reverse order. If you use ax(1), the title will be on the last subplot.


Answer by Jan Simon
on 6 Dec 2011

FigH     = figure;
subplot(1,2,1);  subplot(1,2,2);
AxesH    = findobj(FigH, 'Type', 'Axes');
YLabelHC = get(AxesH, 'YLabel');
YLabelH  = [YLabelHC{:}];
set(YLabelH, 'String', 'Y-label')
TitleHC  = get(AxesH, 'Title');
TitleH   = [TitleHC{:}];
set(TitleH, 'String', 'The title');

  1 Comment

lhwang
on 20 Aug 2015

Very helpful, thanks


Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!