Annotation Text Box Properties

Control annotation text box appearance and behavior

Annotation text box properties control the appearance and behavior of an annotation text box object. By changing property values, you can modify certain aspects of the text box.

Starting in R2014b, you can use dot notation to refer to a particular object and property:

h = annotation('textbox');
s = h.FontSize;
h.FontSize = 12;

If you are using an earlier release, use the get and set functions to query and set properties.

Text

expand all

StringText to display'' (default) | character array | cell array | numeric value

Text to display, specified as a character array, cell array, or numeric value.

Example: 'my label'

Example: {'first line','second line'}

Example: 123

To include numeric variables with text, use the num2str function. For example:

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

To include special characters, such as superscripts, subscripts, Greek letters, or mathematical symbols use TeX markup. For a list of supported markup, see the Interpreter property.

To create multiline text:

  • Use a cell array, where each cell contains a line of text, such as {'first line','second line'}.

  • Use a character array, where each row contains the same number of characters, such as ['abc'; 'ab '].

  • Use sprintf to create a string with a new line character, such as sprintf('first line \n second line'). This property converts strings with new line characters to cell arrays.

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

InterpreterInterpretation of text characters'tex' (default) | 'latex' | 'none'

Interpretation of text characters, specified as one of these values:

  • 'tex' — Interpret text strings using a subset of TeX markup. This is the default value.

  • 'latex' — Interpret text strings 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 text type and color, and include special characters in the text string.

This table lists the supported modifiers when the Interpreter property is set to 'tex'. Modifiers remain in effect until the end of the string, except for superscripts and subscripts, which only modify the next character or the text within the curly braces {}.

ModifierDescriptionExample of String
^{ }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 — Set specifier as the name of a font family. You can use this in combination with other modifiers.'\fontname{Courier} text'
\fontsize{specifier}Font size — Set specifier as a numeric scalar value to change the font size.'\fontsize{15} text'
\color{specifier}Font color — Set specifer as 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 — Set specifier as a three-element RGB triplet.'\color[rgb]{0,0.5,0.5} text'

This table lists the supported special characters when the interpreter is set to 'tex'.

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 property to 'latex'. 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 within the text string.

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

For more information about the LaTeX system, see The LaTeX Project Web site at http://www.latex-project.org/.

Font Style

expand all

ColorText color[0 0 0] (default) | RGB triplet | color string | 'none'

Text color, specified as a three-element RGB triplet, a color string, or 'none'. The default RGB triplet value of [0 0 0] corresponds to black. If you set the color to 'none', then the text is invisible.

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]. This table lists RGB triplet values that have equivalent color strings.

Long NameShort NameRGB Triplet
'yellow''y'[1 1 0]
'magenta''m'[1 0 1]
'cyan''c'[0 1 1]
'red''r'[1 0 0]
'green''g'[0 1 0]
'blue''b'[0 0 1]
'white''w'[1 1 1]
'black'k'[0 0 0]

Example: 'blue'

Example: [0 0 1]

FontAngleCharacter slant'normal' (default) | 'italic'

Character slant, specified as 'normal' or 'italic'. Not all fonts have both font styles. Therefore, the italic font might look the same as the normal font.

    Note:   The 'oblique' value has been removed. Use 'italic' instead.

FontNameFont name'Helvetica' (default) | 'FixedWidth' | system supported font name

Font name, specified as the name of the font to use or the string 'FixedWidth'. To display and print properly, the font name must be a font that your system supports.

To use a fixed-width font that looks good in any locale, use the case-sensitive string 'FixedWidth'. This eliminates the need to hard-code the name of a fixed-width font, which might not display text properly on systems that do not use ASCII character encoding. The 'FixedWidth' value relies on the root FixedWidthFontName property. Setting the root FixedWidthFontName property causes an immediate update of the display to use the new font.

Example: 'Cambria'

FontSizeFont size10 (default) | scalar value greater than 0

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.

Example: 12

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

FontUnitsFont size units'points' (default) | 'inches' | 'centimeters' | 'characters' | 'normalized' | 'pixels'

Font size units, specified as one of the values in this table.

UnitsDescription
'points'Points. One point equals 1/72 inch.
'inches'Inches.
'centimeters'Centimeters.
'characters'Based on the size of characters in the default system font. The width of one character unit is the width of the letter x. The height of one character unit is the distance between the baselines of two lines of text.
'normalized'Interpreted as a fraction of the axes height. If you resize the axes, MATLAB modifies the font size accordingly. For example, if the FontSize is 0.1 in normalized units, then the text is 1/10 of the axes height.
'pixels'Pixels. Pixel size depends on the screen resolution.

If you set both the font size and the font units in one function call, you must set the FontUnits property first so that the axes correctly interprets the specified font size.

FontWeightThickness of text characters'normal' (default) | 'bold'

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

  • 'normal' — Default 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.

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

Text Box

expand all

LineStyleLine style of box outline'-' (default) | '--' | ':' | '-.' | 'none'

Line style of box outline, specified as one of the strings listed in this table.

StringLine Style
'-'Solid line
'--'Dashed line
':'Dotted line
'-.'Dash-dotted line
'none'Box outline is invisible

LineWidthWidth of box outline0.5 (default) | scalar numeric value

Width of box outline, specified as a scalar numeric value in point units. One point equals 1/72 inch.

Example: 1.5

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

EdgeColorColor of box outline[0 0 0] (default) | RGB triplet | color string | 'none'

Color of box outline, specified as a three-element RGB triplet, a color string, or 'none'. The default RGB triplet value of [0 0 0] corresponds to black. If you set the color to 'none', then the box outline is invisible.

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]. This table lists RGB triplet values that have equivalent color strings.

Long NameShort NameRGB Triplet
'yellow''y'[1 1 0]
'magenta''m'[1 0 1]
'cyan''c'[0 1 1]
'red''r'[1 0 0]
'green''g'[0 1 0]
'blue''b'[0 0 1]
'white''w'[1 1 1]
'black'k'[0 0 0]

Example: 'blue'

Example: [0 0 1]

BackgroundColorColor of text box background'none' (default) | RGB triplet | color string

Color of text box background, specified as 'none', a three-element RGB triplet, or a color string. If you set the background color to 'none', then the background is invisible.

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]. This table lists RGB triplet values that have equivalent color strings.

Long NameShort NameRGB Triplet
'yellow''y'[1 1 0]
'magenta''m'[1 0 1]
'cyan''c'[0 1 1]
'red''r'[1 0 0]
'green''g'[0 1 0]
'blue''b'[0 0 1]
'white''w'[1 1 1]
'black'k'[0 0 0]

Example: 'blue'

Example: [0 0 1]

FaceAlphaTransparency of background color1 (default) | scalar value between 0 and 1 inclusive

Transparency of the background color, specified as a scalar value between 0 and 1. If the value is 1, then the color is opaque. To add transparency, set the property to a value closer to 0, where 0 is completely transparent.

FitBoxToTextOption to fit box width and height to text'on' (default) | 'off'

Option to fit the box width and height to the text, specified as one of these values:

  • 'on' — Resize the text box to fit the text.

  • 'off' — Wrap the text strings to fit the width of the text box. Wrapping can cause some of the text string to extend below the text box.

If you resize a text box when in plot edit mode, or if you change the Position property, then the FitBoxToText property changes to 'off'.

MarginSpace around text within the text box5 (default) | scalar numeric value

The space around the text within the text box, specified as a scalar numeric value in pixel units.

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

Location and Size

expand all

PositionSize and location[0.3 0.3 0.1 0.1] (default) | four-element vector

Size and location, specified as a four-element vector of the form [x_begin y_begin length height]. The first two elements specify the coordinates for the lower-left corner of the text box. The second two elements specify the length and height of the text box.

By default, the units are normalized to the figure. The lower-left corner of the figure maps to (0,0), and the upper-right corner maps to (1,1). To change the units, use the Units property.

Example: [0.2 0.3 0.4 0.5]

UnitsPosition units'normalized' (default) | 'inches' | 'centimeters' | 'characters' | 'points' | 'pixels'

Position units, specified as one of the values in this table.

UnitsDescription
'normalized' (default)Normalized with respect to the figure. The lower-left corner of the figure maps to (0,0) and the upper-right corner maps to (1,1).
'inches'Inches.
'centimeters'Centimeters.
'characters'Based on the size of characters in the default system font. The width of one character unit is the width of the letter x. The height of one character unit is the distance between the baselines of two lines of text.
'points'Points. One point equals 1/72 inch.
'pixels'Pixels. Pixel size depends on the screen resolution.

All units are measured from the lower-left corner of the figure window.

This property affects the Position property. If you change the units, then it is good practice to return it to the default value after completing your computation to prevent affecting other functions that assume Units is set to the default value.

If you specify the Position and Units properties as Name,Value pairs when creating the annotation text box, then the order of specification matters. If you want to define the position with particular units, then you must set the Units property before the Position property.

HorizontalAlignmentHorizontal alignment of text within text box'left' (default) | 'center' | 'right'

Horizontal alignment of the text within the text box, specified as one of the values in this table.

ValueResult
'left'

'center'

'right'

VerticalAlignmentVertical alignment of text within text box'top' (default) | 'middle' | 'bottom' | 'baseline' | 'cap'

Vertical alignment of the text within the text box, specified as one of the values in this table.

ValueResult
'top' or 'cap'

'middle'

'bottom' or 'baseline'

Was this topic helpful?