## Title for a figure containing many pictures

Asked by Mohammed Qahosh

### Mohammed Qahosh (view profile)

on 8 Jun 2019
Latest activity Commented on by Mohammed Qahosh

### Mohammed Qahosh (view profile)

on 8 Jun 2019
Accepted Answer by Prasanth Sikakollu

### Prasanth Sikakollu (view profile)

I am making a figure containing many pictures. I did that by using the subplot function.
I would like to add a title for the whole pictures. How could I do that?

### Prasanth Sikakollu (view profile)

Answer by Prasanth Sikakollu

### Prasanth Sikakollu (view profile)

on 8 Jun 2019

Use sgtitle() function to create a title for a figure containing subplots.
The following code creates 4 subplots with its respective titles and a title for the whole figure.
subplot(2,2,1)
title('First Subplot') % Titles for the respective subplots
subplot(2,2,2)
title('Second Subplot')
subplot(2,2,3)
title('Third Subplot')
subplot(2,2,4)
title('Fourth Subplot')
sgtitle('Subplot Grid Title') % The title for the whole figure
For more information regarding sgtitle function refer to the following link:
Hope this helps in solving your problem.

Mohammed Qahosh

### Mohammed Qahosh (view profile)

on 8 Jun 2019
Thanks for answering me. But, actually I am using Matlab 2013 release, and once I use this function I got the following error:
Undefined function 'sgtitle' for input arguments of type 'char'.
Prasanth Sikakollu

### Prasanth Sikakollu (view profile)

on 8 Jun 2019
You can use suptitle() function if you have bioinformatics toolbox.
If you dont have bioinformatics toolbox, try the following way:
Create a new axes which takes up much of the figure. Then a title for this axes. Turning the axes Visible property 'off' will make the axes "disappear", but the title will inherit this property and you will need to turn the Visible property for the title back 'on'. The below code does that.
subplot(2,2,1)
title('First Subplot') % Titles for the respective subplots
subplot(2,2,2)
title('Second Subplot')
subplot(2,2,3)
title('Third Subplot')
subplot(2,2,4)
title('Fourth Subplot')
% Title for the entire figure
a = axes;
t1 = title('Global Title for the figure');
a.Visible = 'off'; % set(a,'Visible','off');
t1.Visible = 'on'; % set(t1,'Visible','on');
Hope this helps
Mohammed Qahosh

### Mohammed Qahosh (view profile)

on 8 Jun 2019
It works. Thank you very much for your help.

### Rik (view profile)

on 8 Jun 2019

You can also use the suptitle function. I remember it as being a native Matlab function, but I couldn't find it in the doc. You can get the code here. The copyright text describes it as being a Mathworks made functions, so maybe my confusion has its source there.

Mohammed Qahosh

### Mohammed Qahosh (view profile)

on 8 Jun 2019
Thank you Rik. The second code written by Prasanth Sikakollu works very well on Matlab 2013.