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

To resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

how to give labels and title to all subplot one time

Asked by moonman on 6 Dec 2011

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

moonman

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...

1 Comment

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.

Abhishek Gupta
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');

0 Comments

Jan Simon

Contact us