Main Content

title

Description

title(titletext) adds the specified title to the current axes or standalone visualization. Reissuing the title command causes the new title to replace the old title.

example

title(titletext,subtitletext) adds a subtitle underneath the title.

example

title(___,Name,Value) modifies the title appearance using one or more name-value pair arguments. For example, 'FontSize',12 sets the font size to 12 points. Specify name-value pair arguments after all other input arguments. Modifying the title appearance is not supported for all types of charts.

example

title(target,___) adds the title to the specified target object.

example

t = title(___) returns the object used for the title. Use t to make future modifications to the title.

example

[t,s] = title(___) returns the objects used for the title and the subtitle. Use t to modify the title, and use s to modify the subtitle.

example

Examples

collapse all

Create a figure and display a title in the current axes.

plot((1:10).^2)
title('My Title')

Figure contains an axes object. The axes object with title My Title contains an object of type line.

You also can call title with a function that returns text. For example, the date function returns text with today's date.

title(date)

Figure contains an axes object. The axes object with title 20-Jul-2024 contains an object of type line.

MATLAB® sets the output of date as the axes title.

Create a plot. Then create a title and a subtitle by calling the title function with two character vectors as arguments. Use the 'Color' name-value pair argument to customize the color for both lines of text. Specify two return arguments to store the text objects for the title and subtitle.

plot([0 1])
[t,s] = title('Straight Line','Slope = 1, y-Intercept = 0',...
    'Color','blue');

Figure contains an axes object. The axes object with title Straight Line contains an object of type line.

Change the font size for the title to 16, and change the font angle for the subtitle to 'italic'.

t.FontSize = 16;
s.FontAngle = 'italic';

Figure contains an axes object. The axes object with title Straight Line contains an object of type line.

Include the value of variable c in a title.

figure
plot((1:10).^2)
f = 70;
c = (f-32)/1.8;
title(['Temperature is ',num2str(c),' C'])

Figure contains an axes object. The axes object with title Temperature is 21.1111 C contains an object of type line.

Use the color modifier \color to change the color of characters following it from the previous color.

plot((1:10).^2)
title(['\fontsize{16}black {\color{magenta}magenta '...
'\color[rgb]{0 .5 .5}teal \color{red}red} black again'])

Figure contains an axes object. The axes object with title black blank magenta blank teal blank red black again contains an object of type line.

Create a plot, and define t as a character vector that includes LaTeX markup. Surround the markup with dollar signs ($). Then pass t to the title function, and set the Interpreter property to 'latex'.

x = 0:0.1:10;
y = sin(x);
dy = cos(x);
plot(x,y,x,dy);
t = '$sin(x)$ and $\frac{d}{dx}sin(x)$';
title(t,'interpreter','latex')

Figure contains an axes object. The axes object with title s i n leftParenthesis x rightParenthesis and StartFraction d over d x EndFraction s i n leftParenthesis x rightParenthesis contains 2 objects of type line.

Use the Name,Value pair 'Color','m' to set the color of the title to magenta.

figure
plot((1:10).^2)
title('Case number # 3','Color', 'm')

Figure contains an axes object. The axes object with title Case number # 3 contains an object of type line.

Use TeX markup to include Greek symbols in a title.

t = (0:0.01:0.2);
y = exp(-25*t);
figure
plot(t,y)
title('y = \ite^{\lambda t}','Color','b')

Figure contains an axes object. The axes object with title y = blank e toThePowerOf lambda blank t baseline contains an object of type line.

The 'Interpreter' property must be 'tex' (the default).

figure
plot((1:10).^2)
title('\alpha^2 and X_1')

Figure contains an axes object. The axes object with title alpha Squared baseline and X_1 contains an object of type line.

The superscript character, "^", and the subscript character, "_", modify the character or substring defined in braces immediately following.

Create a multiline title using a multiline cell array.

figure
plot((1:10).^2)
title({'First line';'Second line'})

Figure contains an axes object. The axes object with title First line Second line contains an object of type line.

Set the Interpreter property as 'none' so that the text X_1 is displayed in the figure as typed, without making 1 a subscript of X.

plot((1:10).^2)
title('X_1','Interpreter','none')

Figure contains an axes object. The axes object with title X_1 contains an object of type line.

Starting in R2019b, you can display a tiling of plots using the tiledlayout and nexttile functions. Call the tiledlayout function to create a 2-by-1 tiled chart layout. Call the nexttile function to create the axes objects ax1 and ax2. Then plot data into each axes.

tiledlayout(2,1)
ax1 = nexttile;
plot(ax1,(1:10).^2)
ax2 = nexttile;
plot(ax2,(1:10).^3)

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line.

Add a title to each axes by passing ax1 and ax2 to the title function.

title(ax1,'Top Plot')
title(ax2,'Bottom Plot')

Figure contains 2 axes objects. Axes object 1 with title Top Plot contains an object of type line. Axes object 2 with title Bottom Plot contains an object of type line.

Add a title to a plot and return the text object.

plot((1:10).^2)
t = title('My Title');

Figure contains an axes object. The axes object with title My Title contains an object of type line.

Set the color of the title to red. Use dot notation to set properties.

t.Color = 'red';

Figure contains an axes object. The axes object with title My Title contains an object of type line.

Create a plot with a title. Get the current axes, and then align the title to the left edge of the plot box by setting the TitleHorizontalAlignment property of the axes to 'left'.

plot([0 2],[1 5])
title('Straight Line')
ax = gca;
ax.TitleHorizontalAlignment = 'left';

Figure contains an axes object. The axes object with title Straight Line contains an object of type line.

Center the title setting the TitleHorizontalAlignment property on the axes to 'center'.

ax.TitleHorizontalAlignment = 'center';

Figure contains an axes object. The axes object with title Straight Line contains an object of type line.

Input Arguments

collapse all

Title text, specified as a character vector, cell array of character vectors, string array, categorical array, or numeric value. Specify a value according to how you want the text to appear. This table lists the most common situations.

Appearance of TextDescription of ValueExample
One line of text Character vector or string scalar.

txt = 'My Text'
or
txt = "My Text"

Multiple lines of textCell array of character vectors or string array.

txt = {'First line','Second line'};
or
txt = ["First line", "Second line"];

Text that includes a numeric variableArray that includes the number converted to a char array. Use num2str to convert the value.

x = 42;
txt = ['The value is ',num2str(x)];

Text that includes special characters such as Greek letters or mathematical symbolsArray that includes TeX markup. For a list of supported markup, see the Interpreter property.

txt = 'x ranges from 0 to 2\pi'

Note

  • The words default, factory, and remove are reserved words that do not appear in text when quoted as normal characters. To display any of these words individually, precede them with a backslash, such as '\default' or '\remove'.

  • If you specify this property as a categorical array, MATLAB® uses the values in the array, not the categories.

  • If you specify text that contains only a numeric value, the value is converted using sprintf('%g',value). For example, 12345678 displays as 1.23457e+07.

Subtitle text, specified as a character vector, cell array of character vectors, string array, categorical array, or numeric value. Specify a value according to how you want the text to appear. This table lists the most common situations.

Appearance of TextDescription of ValueExample
One line of text Character vector or string scalar.

txt = 'My Text'
or
txt = "My Text"

Multiple lines of textCell array of character vectors or string array.

txt = {'First line','Second line'};
or
txt = ["First line", "Second line"];

Text that includes a numeric variableArray that includes the number converted to a char array. Use num2str to convert the value.

x = 42;
txt = ['The value is ',num2str(x)];

Text that includes special characters such as Greek letters or mathematical symbolsArray that includes TeX markup. For a list of supported markup, see the Interpreter property.

txt = 'x ranges from 0 to 2\pi'

Note

  • The words default, factory, and remove are reserved words that do not appear in text when quoted as normal characters. To display any of these words individually, precede them with a backslash, such as '\default' or '\remove'.

  • If you specify this property as a categorical array, MATLAB uses the values in the array, not the categories.

  • If you specify text that contains only a numeric value, the value is converted using sprintf('%g',value). For example, 12345678 displays as 1.23457e+07.

Target for the title, specified as one of the following:

  • Any type of axes: an Axes, PolarAxes, or GeographicAxes object.

  • Any type of legend: a Legend or BubbleLegendobject.

  • A TiledChartLayout object.

  • A standalone visualization that has a Title property. For example, you can add a title to a HeatmapChart object.

  • An array of graphics objects from the preceding list. The objects must belong to the same class. To determine the class, use the class function.

If you do not specify the target for the title, then the title function adds the title to the graphics object returned by the gca command.

Note

Some charts do not support modifying the title appearance, such as the color, or returning the text object as an output argument.

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Example: 'Color','red','FontSize',14 adds a title with red, 14-point font.

In addition to the following, you can specify other text object properties using Name,Value pair arguments. See Text Properties.

Font size, specified as a scalar value greater than 0 in point units. One point equals 1/72 inch. To change the font units, use the FontUnits property.

If you add a title or subtitle to an axes object, then the font size property for the axes also affects the font size for the title and subtitle. The title and subtitle font sizes are the axes font size multiplied by a scale factor. The FontSize property of the axes contains the axes font size. The TitleFontSizeMultiplier property of the axes contains the scale factor. By default, the axes font size is 10 points and the scale factor is 1.1, so the title and subtitle each have a font size of 11 points.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Thickness of the text characters, specified as one of these values:

  • 'normal' — Normal weight as defined by the particular font

  • 'bold' — Thicker characters outlines than normal

MATLAB uses the FontWeight property to select a font from those available on your system. Not all fonts have a bold font weight. Therefore, specifying a bold font weight could still result in the normal font weight.

The TitleFontWeight property for the associated axes affects the FontWeight value for the title. Similarly, the SubtitleFontWeight property for the associated axes affects the FontWeight value for the subtitle.

Note

The 'light' and 'demi' font weight values have been removed. Use 'normal' instead.

Font name, specified as a supported font name or "FixedWidth". To display and print text properly, you must choose a font that your system supports. The default font depends on your operating system and locale.

To use a fixed-width font that looks good in any locale, use "FixedWidth". The fixed-width font relies on the root FixedWidthFontName property. Setting the root FixedWidthFontName property causes an immediate update of the display to use the new font.

Text color, specified as an RGB triplet, a hexadecimal color code, a color name, or a short name. The default value of [0 0 0] corresponds to black.

For a custom color, specify an RGB triplet or a hexadecimal color code.

  • An RGB triplet is a three-element row vector whose elements specify the intensities of the red, green, and blue components of the color. The intensities must be in the range [0,1], for example, [0.4 0.6 0.7].

  • A hexadecimal color code is a string scalar or character vector that starts with a hash symbol (#) followed by three or six hexadecimal digits, which can range from 0 to F. The values are not case sensitive. Therefore, the color codes "#FF8800", "#ff8800", "#F80", and "#f80" are equivalent.

Alternatively, you can specify some common colors by name. This table lists the named color options, the equivalent RGB triplets, and hexadecimal color codes.

Color NameShort NameRGB TripletHexadecimal Color CodeAppearance
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

"none"Not applicableNot applicableNot applicableNo color

Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB uses in many types of plots.

RGB TripletHexadecimal Color CodeAppearance
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

Example: 'blue'

Example: [0 0 1]

Example: '#0000FF'

Text interpreter, specified as one of these values:

  • 'tex' — Interpret characters using a subset of TeX markup.

  • 'latex' — Interpret characters using LaTeX markup.

  • 'none' — Display literal characters.

TeX Markup

By default, MATLAB supports a subset of TeX markup. Use TeX markup to add superscripts and subscripts, modify the font type and color, and include special characters in the text.

Modifiers remain in effect until the end of the text. Superscripts and subscripts are an exception because they modify only the next character or the characters within the curly braces. When you set the interpreter to 'tex', the supported modifiers are as follows.

ModifierDescriptionExample
^{ }Superscript'text^{superscript}'
_{ }Subscript'text_{subscript}'
\bfBold font'\bf text'
\itItalic font'\it text'
\slOblique font (usually the same as italic font)'\sl text'
\rmNormal font'\rm text'
\fontname{specifier}Font name — Replace specifier with the name of a font family. You can use this in combination with other modifiers.'\fontname{Courier} text'
\fontsize{specifier}Font size —Replace specifier with a numeric scalar value in point units.'\fontsize{15} text'
\color{specifier}Font color — Replace specifier with one of these colors: red, green, yellow, magenta, blue, black, white, gray, darkGreen, orange, or lightBlue.'\color{magenta} text'
\color[rgb]{specifier}Custom font color — Replace specifier with a three-element RGB triplet.'\color[rgb]{0,0.5,0.5} text'

This table lists the supported special characters for the 'tex' interpreter.

Character SequenceSymbolCharacter SequenceSymbolCharacter SequenceSymbol

\alpha

α

\upsilon

υ

\sim

~

\angle

\phi

ϕ

\leq

\ast

*

\chi

χ

\infty

\beta

β

\psi

ψ

\clubsuit

\gamma

γ

\omega

ω

\diamondsuit

\delta

δ

\Gamma

Γ

\heartsuit

\epsilon

ϵ

\Delta

Δ

\spadesuit

\zeta

ζ

\Theta

Θ

\leftrightarrow

\eta

η

\Lambda

Λ

\leftarrow

\theta

θ

\Xi

Ξ

\Leftarrow

\vartheta

ϑ

\Pi

Π

\uparrow

\iota

ι

\Sigma

Σ

\rightarrow

\kappa

κ

\Upsilon

ϒ

\Rightarrow

\lambda

λ

\Phi

Φ

\downarrow

\mu

µ

\Psi

Ψ

\circ

º

\nu

ν

\Omega

Ω

\pm

±

\xi

ξ

\forall

\geq

\pi

π

\exists

\propto

\rho

ρ

\ni

\partial

\sigma

σ

\cong

\bullet

\varsigma

ς

\approx

\div

÷

\tau

τ

\Re

\neq

\equiv

\oplus

\aleph

\Im

\cup

\wp

\otimes

\subseteq

\oslash

\cap

\in

\supseteq

\supset

\lceil

\subset

\int

\cdot

·

\o

ο

\rfloor

\neg

¬

\nabla

\lfloor

\times

x

\ldots

...

\perp

\surd

\prime

´

\wedge

\varpi

ϖ

\0

\rceil

\rangle

\mid

|

\vee

\langle

\copyright

©

LaTeX Markup

To use LaTeX markup, set the interpreter to 'latex'. For inline mode, surround the markup with single dollar signs ($). For display mode, surround the markup with double dollar signs ($$).

LaTeX ModeExampleResult
Inline

'$\int_1^{20} x^2 dx$'

Equation with LaTeX inline mode

Display

'$$\int_1^{20} x^2 dx$$'

Equation with LaTeX display mode

The displayed text uses the default LaTeX font style. The FontName, FontWeight, and FontAngle properties do not have an effect. To change the font style, use LaTeX markup.

The maximum size of the text that you can use with the LaTeX interpreter is 1200 characters. For multiline text, this reduces by about 10 characters per line.

For examples that use TeX and LaTeX, see Greek Letters and Special Characters in Chart Text. For more information about the LaTeX system, see The LaTeX Project website at https://www.latex-project.org/.

Output Arguments

collapse all

Object used for the title, returned as one of these types of objects:

  • Text object — If you add a title to axes, then title returns a text object. Use this text object to access and modify properties of the title after it is created. For a list of text object properties, see Text Properties. You also can access the title through the Title property of the axes object.

  • Legend text object — If you add a title to a legend, then title returns a legend text object. Use this legend text object to access and modify properties of the title after it is created. For a list of legend text object properties, see Text Properties. You also can access the title through the Title property of the legend object.

Object used for the subtitle, returned as a text object. Use this text object to modify properties of the subtitle after creating it. For a list of text object properties, see Text Properties. You also can access the subtitle through the Subtitle property of the axes object.

Tips

  • By default, the Interactions property contains editInteraction so the text can be edited by clicking on the text. To disable this interaction, set the Interactions property of the text object to [].

Version History

Introduced before R2006a