Add text descriptions to data points
collapse all in page
Syntax
text(x,y,txt)
text(x,y,z,txt)
text(___,Name,Value)
text(ax,___)
t = text(___)
Description
example
text(x,y,txt)
adds a text description to one or more data points in the current axes using the text specified by txt
. To add text to one point, specify x
and y
as scalars. To add text to multiple points, specify x
and y
as vectors with equal length.
text(x,y,z,txt)
positionsthe text in 3-D coordinates.
example
text(___,Name,Value)
specifies Text
objectproperties using one or more name-value pairs. For example, 'FontSize',14
setsthe font size to 14 points. You can specify text properties with anyof the input argument combinations in the previous syntaxes. If youspecify the Position
and String
propertiesas name-value pairs, then you do not need to specify the x
, y
, z
,and txt
inputs.
text(ax,___)
creates the text in the Cartesian, polar, or geographic axes specified by ax
instead of in the current axes (gca
). The option ax
can precede any of the input argument combinations in the previous syntaxes.
example
t = text(___)
returnsone or more text objects. Use t
to modify propertiesof the text objects after they are created. For a list of propertiesand descriptions, see Text Properties.You can specify an output with any of the previous syntaxes.
Examples
collapse all
Add Text Description to Data Point
Open Live Script
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
Open Live Script
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
Open Live Script
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
Open Live Script
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
Open Live Script
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)
. 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;
Include Text in Axes Limits
Open Live Script
Use the AffectAutoLimits
property to include the anchor point of the Text
object in the axes limits. Setting this property can help you to locate and fine-tune the position of your text.
Create a plot of a sine wave.
x = 0:0.1:10;y = sin(x);plot(x,y)
Create a text object outside of the current y-axis limits. Set the AffectAutoLimits
property to "on"
so that the axes limits adjust to include the anchor point of the text.
text(1.1,1.1,"Peak",AffectAutoLimits="on")
Input Arguments
collapse all
x
— First coordinate
scalar | vector
First coordinate, specified in one of these forms:
Scalar — Add text to a single point.
Vector — Add text to multiple points.
The interpretation of the first coordinate depends on the type of axes:
For Cartesian axes, the first coordinate is x-axis position in data units. To change units, set the Units property for the
Text
object.For polar axes, the first coordinate is the polar angle θ in radians.
For geographic axes, the first coordinate is latitude in degrees.
x
and y
must be equal sizes.
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: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| categorical
| datetime
| duration
y
— Second coordinate
scalar | vector
Second coordinate, specified in one of these forms:
Scalar — Add text to a single point.
Vector — Add text to multiple points.
The interpretation of the second coordinate depends on the type of axes:
For Cartesian axes, the second coordinate is y-axis position in data units. To change units, set the Units property for the
Text
object.For polar axes, the second coordinate is the radius in data units.
For geographic axes, the second coordinate is longitude in degrees.
x
and y
must be equal sizes.
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: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| categorical
| datetime
| duration
z
— Third coordinate
0 (default) | scalar | vector
Third coordinate, specified in one of these forms:
Scalar — Add text to a single point.
Vector — Add text to multiple points.
The interpretation of the third coordinate depends on the type of axes:
For Cartesian axes, the third coordinate is z-axis position in data units. To change units, set the Units property for the
Text
object.For polar and geographic axes, the third coordinate affects the layering of text on the axes.
x
, y
, and z
must be equal sizes.
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: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| categorical
| datetime
| duration
txt
— Text to display
character vector | string scalar | character array | string array | cell array | categorical array
Text to display, specified as a character vector, string scalar, character array, string array, cell array, or categorical array.
Text for Single Data Point
To add text to a single point, specify txt
as a character vector or string scalar. For example, text(.5,.5,'my text')
.
For multiline text:
Use a cell array, where each cell contains a lineof text. For example,
text(.5,.5,{'first','second'})
.Use a string array, where each element is a line of text. For example,
text(.5,.5,["first","second"])
.Use a character array with multiple rows, where eachrow contains the same number of characters. For example,
text(.5,.5,['first'; 'second'])
.Use
sprintf
to create a new linecharacter. For example,text(.5,.5,sprintf('first\nsecond'))
.
If you specify the text as a categorical array, MATLAB® uses the values in the array, not the categories.
Text for Multiple Data Points
To display the same text at each location, specify txt
as a character vector or 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 listof supported markup, see the Interpreter property.
To include numeric variables in the text, use the num2str function.
v = 42;txt = ['The value is ',num2str(v)];
ax
— Target axes
Axes
object | PolarAxes
object | GeographicAxes
object
Target axes, specified as an Axes
object, a PolarAxes
object, or a GeographicAxes
object. If you do not specify the axes, then text
uses the current axes.
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: text(.5,.5,'my text','FontSize',14,'Color','red')
Note
The properties listed here are only a subset. For a full list, see Text Properties.
Output Arguments
collapse all
t
— Text
objects
Text
objects
Text
objects. Use the elements of t
tomodify a specific Text
object after it is created.For a list of properties, see Text Properties.
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"
.The words
"default"
,"remove"
, and"factory"
are reserved words in MATLAB. To create text using one of these words, append a backslash (\
) before the word; for example,text(.5,.5,"\default")
.
Version History
Introduced before R2006a
See Also
Functions
- annotation | title | zlabel | int2str | ylabel | xlabel | num2str
Properties
- Text Properties
Topics
- Add Text to Chart
- Greek Letters and Special Characters in Chart Text
- Plot Dates and Times
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- Deutsch
- English
- Français
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本 (日本語)
- 한국 (한국어)
Contact your local office