# text

Add text descriptions to data points

## Syntax

• text(x,y,str)
example
• text(x,y,z,str)
• text(___,Name,Value)
example
• t = text(___)
example

## Description

example

text(x,y,str) adds a text description to one or more data points in the current axes using the text specified by str. To add text to one point, specify x and y as scalars in data units. To add text to multiple points, specify x and y as vectors with equal length.
text(x,y,z,str) positions the text in 3-D coordinates.

example

text(___,Name,Value) specifies text object properties using one or more name-value pairs. For example, 'FontSize',14 sets the font size to 14 points. You can specify text properties with any of the input argument combinations in the previous syntaxes. If you specify the Position and String properties as name-value pairs, then you do not need to specify the x, y, z, and str inputs.

example

t = text(___) returns one or more text objects. Use t to modify properties of the text objects after they are created. For a list of properties and descriptions, see Text Properties. You can specify an output with any of the previous syntaxes.

## Examples

collapse all

### Add Text Description to Data Point

Plot a sine curve. At the point , add the text description . Use the TeX markup \pi for the Greek letter . Use \leftarrow to display a left-pointing arrow.

x = 0:pi/20:2*pi; y = sin(x); plot(x,y) text(pi,0,'\leftarrow sin(\pi)') 

For a list of Greek characters and other TeX markup, see the Interpreter property description.

### Add Text to Multiple Data Points

Plot a line. Add the same text to two points along the line.

x = linspace(-5,5); y = x.^3-12*x; plot(x,y) xt = [-2 2]; yt = [16 -16]; str = 'dy/dx = 0'; text(xt,yt,str) 

Add different text to each point by specifying str as a cell array.

x = linspace(-5,5); y = x.^3-12*x; plot(x,y) xt = [-2 2]; yt = [16 -16]; str = {'local max','local min'}; text(xt,yt,str) 

### Display Multiline Text

Create a line plot and add one text description to the axes. Display multiline text by specifying str as a cell array.

plot(1:10) str = {'A simple plot','from 1 to 10'}; text(2,7,str) 

Create a line plot and add two text descriptions to the axes. When adding multiple text descriptions to the axes, display multiline text by specifying nested cell arrays.

plot(1:10) str = {{'A simple plot','from 1 to 10'},'y = x'}; text([2 8],[7 7],str) 

### Specify Text Size and Color

Create a line plot and add a text description to the axes. Use red, size 14 font.

plot(1:10) text(2,8,'A Simple Plot','Color','red','FontSize',14) 

### Modify Existing Text

Create a line plot and add two text descriptions along the line. Return the text objects, t.

x = linspace(-5,5); y = x.^3-12*x; plot(x,y) t = text([-2 2],[16 -16],'dy/dx = 0') 
t = 2x1 Text array: Text (dy/dx = 0) Text (dy/dx = 0) 

The text function creates one text object for each text description. Thus, t contains two text objects.

Change the color and font size for the first text object using t(1). Starting in R2014b, you can use dot notation to set properties. If you are using an earlier release, use the set function instead.

t(1).Color = 'red'; t(1).FontSize = 14; 

## Input Arguments

collapse all

### x — Text placement along x-axisscalar | vector

Text placement along the x-axis, specified in one of these forms:

• Scalar — Add text to single point.

• Vector — Add text to multiple points.

x and y must be equal sizes. The default units are data units. To change the units, set the Units property for the text object.

To control the placement of the text with relation to the specified point, use the HorizontalAlignment, VerticalAlignment, and Extent properties of the text object.

Data Types: double

### y — Text placement along y-axisscalar | vector

Text placement along the y-axis, specified in one of these forms:

• Scalar — Add text to single point.

• Vector — Add text to multiple points.

x and y must be equal sizes. The default units are data units. To change the units, set the Units property for the text object.

To control the placement of the text with relation to the specified point, use the HorizontalAlignment, VerticalAlignment, and Extent properties of the text object.

Data Types: double

### z — Text placement along z-axis0 (default) | scalar | vector

Text placement along the z-axis, specified in one of these forms:

• Scalar — Add text to single point.

• Vector — Add text to multiple points.

x, y, and z must be equal sizes. The default units are data units. To change the units, set the Units property for the text object.

Data Types: double

### str — Text to displaycharacter string | character array | cell array

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

#### Text for Single Data Point

To add text to a single point, specify str as a character string. For example, text(.5,.5,'my text').

For multiline text:

• Use a cell array, where each cell contains a line of text. For example, text(.5,.5,{'first','second'}).

• Use a character array with multiple rows, where each row contains the same number of characters. For example, text(.5,.5,['first '; 'second']).

• Use sprintf to create a string with a new line character. For example, text(.5,.5,sprintf('first \nsecond')).

#### Text for Multiple Data Points

To display the same text at each location, specify str as a character string. For example, text([0 1],[0 1],'my text').

To display different text at each location, use a cell array. For example, text([0 1],[0 1],{'first','second'}).

For multiline text, use nested cell arrays. For example, text([0 1],[0 1],{{'first','new line'},'second'}).

#### Greek Letters, Special Characters, and Numeric Variables

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 include numeric variables in the text, use the num2str function.

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

### Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

Example: text(.5,.5,'my text','FontSize',14,'Color','red')

The properties listed here are only a subset. For a full list, see Text Properties.

### 'FontSize' — Font size10 (default) | scalar value greater than zero

Font size, specified as a scalar value greater than zero 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

### 'FontWeight' — Thickness 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 character 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 still can result in the normal font weight.

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

### 'FontName' — Font 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'. 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'

### 'Color' — Text 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 color is black with an RGB triplet value of [0 0 0]. 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]

### 'HorizontalAlignment' — Horizontal alignment of text with respect to position point'left' (default) | 'center' | 'right'

Horizontal alignment of the text with respect to the x value in the Position property, specified as one of the values in this table. The vertical line indicates where the x value lies in relation to the text.

ValueResult
'left' (default)

'center'

'right'

### 'Position' — Location of text[0 0 0] (default) | two-element vector of form [x y] | three-element vector of form [x y z]

Location of the text, specified as a two-element vector of the form [x y] or a three-element vector of the form [x y z]. If you omit the third element, z, then MATLAB sets it to 0.

By default, the position value is defined in data units. To change the units, use the Units property.

Example: [0.5 0.5 0]

### 'Units' — Position and extent units'data' (default) | 'normalized' | 'inches' | 'centimeters' | 'characters' | 'points' | 'pixels'

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

UnitsDescription
'data' (default)Data coordinates.
'normalized'Normalized with respect to the axes. The lower left corner of the axes maps to (0,0) and the upper right corner maps to (1,1).
'inches'Inches.
'centimeters'Centimeters.
'characters'Based on the default system font character size.
• Character width = width of letter x.

• Character height = distance between the baselines of two lines of text.

'points'Points. One point equals 1/72 inch.
'pixels'

Pixels.

Starting in R2015b, distances in pixels are independent of your system resolution on Windows® and Macintosh systems:

• On Windows systems, a pixel is 1/96th of an inch.

• On Macintosh systems, a pixel is 1/72nd of an inch.

On Linux® systems, the size of a pixel is determined by your system resolution.

All units, except for 'data', are measured from the lower left corner of the axes. This property affects the Position and Extent properties.

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

### 'Interpreter' — Interpretation 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.

• '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 with the Interpreter property set to 'tex'. Modifiers remain in effect until the end of the string. Superscripts and subscripts are an exception because they 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 in point units 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 with the Interpreter property 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.

## Output Arguments

collapse all

### t — One or more text objectsscalar | vector

One or more text objects, returned as a scalar or a vector. Use the elements of t to modify a specific text object after it is created. For a list of properties, see Text Properties.

expand all

### Tips

• By default, the Clipping property for text objects is set to 'off' so the text might appear outside the axes. To clip the text to the axes boundaries, set the property to 'on'.