File Exchange

image thumbnail


version 1.4 (27.2 KB) by

Create a title for a figure with multiple subplots.



View License

figtitle creates a title centered at the top of a figure. This may be used to add a title to a figure with several subplots.
h = figtitle(...)

figtitle('TitleString') centers a title at the top of a figure and sets the figure name to 'TitleString'.

figtitle('TitleString','TextProperty',TextValue) formats the title with property name value pairs (e.g., 'FontSize',20)

h = figtitle(...) returns a handle h of the newly-created title.


figtitle('My Title')

figtitle('My Title','fontweight','bold')

figtitle('My Title,'fontsize',18,'fontangle','oblique')

h = figtitle('My Title');

In many cases a figure title may overlap a subplot title. To reduce ambiguity, try pairing this function with the ntitle function, which is available on the Mathworks File Exchange here: The image for this FEX upload was created using the figtitle and ntitle example given in figtitle.m.

Comments and Ratings (10)

Figtitle stopped zooming from working in R2017b. I fixed it by:
1) grabbing the second axis, line 103: h2 = axes('Units','normalized',...
2) hidding the second axis, after line 123: set(h2, 'HandleVisibility', 'off');

Thanks for the nice tool.
Some comments:
1. Zooming function ceases to work after using figtitle (just run figtitle_documentation.m to check). This is caused by the zooming function working on the added axis instead of the specific subplot. Setting the 'HandleVisibility' to 'off' for the added axes in figtitle seems to resolve this problem.

2. Two axes statements within figtitle create two axes, of which only the latter one is actually used to put the Title in. The former one, with handle h is not used and even deleted.


Very nice


Joey (view profile)

This plus ntitle is a nice combination.


Henrik (view profile)

Small, simple, and just works.
Great little tool

Chad Greene

Chad Greene (view profile)

That's an excellent suggestion, Thomas. I've included your suggested change in the latest update.


Thomas (view profile)

Nice tool. May I suggest that you change the command "axes(hca)" to "set(gcf,'CurrentAxes',hca)", on line 116? This will avoid making the figure visible for those who plot to invisible figures. (Primarily done to speed up figure creation when printing to file.)

Chad Greene

Chad Greene (view profile)

Thanks for bringing submission 3218 to my attention, Felipe--I had not seen it before. Mtit and figtitle are synonymous, but one small difference is that figtitle is designed for the novice user who may be scared off by a complex title like "mtit: a pedestrian major title creator".

I created figtitle after my search of File Exchange came up empty, and in retrospect it is possible that I found mtit in my search but it was not clear what mtit does or how to use it. The figtitle function has an intuitive name that can be comfortably said aloud in a workplace setting, and on this page I have attempted to provide straightforward examples that should look familiar to anyone who has used the 'title' command. There is also a picture on this page to immediately help the FEX user identify what figtitle does.

For anyone deciding whether to adopt usage of mtit or figtitle, my guess is that mtit may be slightly more powerful and figtitle may be slightly more intuitive.


Felipe (view profile)

Could you please compare figtitle to "mtit", FX submission #3218? Thanks.



Vectorized a loop.


Added example file. Changes to figtitle: now supports invisible figures and now changes the name of figures to input title string.


Acknowledged submission 3218.


Updated examples. Also no longer returns a title handle unless the user requests it.

MATLAB Release
MATLAB 8.0 (R2012b)

Inspired by: mtit: a pedestrian major title creator, ntitle

Inspired: label, SimOutUtils

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video