Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

text

向数据点添加文本描述

说明

示例

text(x,y,txt) 使用由 txt 指定的文本,向当前坐标区中的一个或多个数据点添加文本描述。若要将文本添加到一个点,请将 xy 指定为标量。若要将文本添加到多个点,请将 xy 指定为长度相同的向量。

text(x,y,z,txt) 在三维坐标中定位文本。

示例

text(___,Name,Value) 使用一个或多个名称-值对组指定 Text 对象的属性。例如,'FontSize',14 将字体大小设置为 14 磅。您可以使用上述语法中的任意输入参量组合指定文本属性。如果您将 PositionString 属性指定为名称-值对组,则不需要指定 xyztxt 输入。

text(ax,___) 将在由 ax 指定的笛卡尔坐标区、极坐标区或地理坐标区中创建文本,而不是在当前坐标区 (gca) 中创建文本。选项 ax 可以位于上述语法中的任何输入参量组合之前。

示例

t = text(___) 返回一个或多个文本对象。使用 t 修改所创建的文本对象的属性。有关属性和描述的列表,请参阅 Text 属性。可以使用上述任意语法指定一个输出。

示例

全部折叠

绘制一条正弦曲线。在点 (π,0) 处,添加文本描述 sin(π)。使用 TeX 标记 \pi 表示希腊字母 π。使用 \leftarrow 显示一个向左箭头。

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

Figure contains an axes object. The axes object contains 2 objects of type line, text.

有关希腊字母和其他 TeX 标记的列表,请参阅 Interpreter 属性描述。

绘制一个线条。将相同的文本添加到沿该线条的两个点。

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)

Figure contains an axes object. The axes object contains 3 objects of type line, text.

通过将 str 指定为元胞数组,向每个点添加不同文本。

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)

Figure contains an axes object. The axes object contains 3 objects of type line, text.

创建一个线图,并向坐标区添加一个文本描述。通过将 str 指定为元胞数组显示多行文本。

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

Figure contains an axes object. The axes object contains 2 objects of type line, text.

创建一个线图,并向坐标区添加两个文本描述。在向坐标区添加多个文本描述时,通过指定嵌套元胞数组显示多行文本。

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

Figure contains an axes object. The axes object contains 3 objects of type line, text.

创建一个线图,并向坐标区添加文本描述。使用红色 14 号字体。

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

Figure contains an axes object. The axes object contains 2 objects of type line, text.

创建一个线图,并沿线条添加两个文本描述。返回文本对象 t

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

Figure contains an axes object. The axes object contains 3 objects of type line, text.

t = 
  2x1 Text array:

  Text    (dy/dx = 0)
  Text    (dy/dx = 0)

text 函数为每个文本描述创建一个文本对象。因此,t 包含两个文本对象。

使用 t(1) 更改第一个文本对象的颜色和字体大小。使用圆点表示法设置属性。如果您使用的是较早的版本,请改用 set 函数。

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

Figure contains an axes object. The axes object contains 3 objects of type line, text.

使用 AffectAutoLimits 属性在坐标区范围中包括 Text 对象的锚点。设置此属性可以帮助您定位和微调文本的位置。

创建一个正弦波图。

x = 0:0.1:10;
y = sin(x);
plot(x,y)

Figure contains an axes object. The axes object contains an object of type line.

创建一个超出当前 y 坐标轴范围的文本对象。将 AffectAutoLimits 属性设置为 "on",以便坐标区范围调整为包括文本的锚点。

text(1.1,1.1,"Peak",AffectAutoLimits="on")

Figure contains an axes object. The axes object contains 2 objects of type line, text.

输入参数

全部折叠

第一个坐标,指定为下列形式之一:

  • 标量 - 将文本添加到单个点。

  • 向量 - 将文本添加到多个点。

第一个坐标的解释取决于坐标区的类型:

  • 对于笛卡尔坐标区,第一个坐标是以数据单位表示的 x 轴上的位置。要更改单位,请设置 Text 对象的 Units 属性。

  • 对于极坐标区,第一个坐标是以弧度表示的极坐标角 θ。

  • 对于地理坐标区,第一个坐标是纬度(以度为单位)。

xy 的大小必须相同。

若要控制相对于指定点的文本放置,请使用 Text 对象的 HorizontalAlignmentVerticalAlignmentExtent 属性。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

第二个坐标,指定为下列形式之一:

  • 标量 - 将文本添加到单个点。

  • 向量 - 将文本添加到多个点。

第二个坐标的解释取决于坐标区的类型:

  • 对于笛卡尔坐标区,第二个坐标是以数据单位表示的 y 轴上的位置。要更改单位,请设置 Text 对象的 Units 属性。

  • 对于极坐标区,第二个坐标是以数据单位表示的半径。

  • 对于地理坐标区,第二个坐标是经度(以度为单位)。

xy 的大小必须相同。

若要控制相对于指定点的文本放置,请使用 Text 对象的 HorizontalAlignmentVerticalAlignmentExtent 属性。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

第三个坐标,指定为下列形式之一:

  • 标量 - 将文本添加到单个点。

  • 向量 - 将文本添加到多个点。

第三个坐标的解释取决于坐标区的类型:

  • 对于笛卡尔坐标区,第三个坐标是以数据单位表示的 z 轴上的位置。要更改单位,请设置 Text 对象的 Units 属性。

  • 对于极坐标区和地理坐标区,第三个坐标会影响坐标区中文本的分层。

xyz 的大小必须相同。

若要控制相对于指定点的文本放置,请使用 Text 对象的 HorizontalAlignmentVerticalAlignmentExtent 属性。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration

要显示的文本,指定为字符向量、字符串标量、字符数组、字符串数组、元胞数组或分类数组。

用于单个数据点的文本

要为单个点添加文本,请将 txt 指定为字符向量或字符串标量。例如,text(.5,.5,'my text')

对于多行文本,请:

  • 使用元胞数组,其中每个元胞包含一行文本。例如,text(.5,.5,{'first','second'})

  • 使用字符串数组,其中每个元素是一行文本。例如,text(.5,.5,["first","second"])

  • 使用具有多个行的字符数组,其中每一行包含相同数量的字符。例如,text(.5,.5,['first '; 'second'])

  • 使用 sprintf 创建一个换行符。例如,text(.5,.5,sprintf('first \nsecond'))

如果将文本指定为分类数组,MATLAB® 将使用数组中的值,而不是类别。

用于多个数据点的文本

要在每个位置显示相同的文本,请将 txt 指定为字符向量或字符串。例如,text([0 1],[0 1],'my text')

要在每个位置显示不同文本,请使用元胞数组。例如,text([0 1],[0 1],{'first','second'})

对于多行文本,请使用嵌套元胞数组。例如,text([0 1],[0 1],{{'first','new line'},'second'})

希腊字母、特殊字符和数值变量

要包括特殊字符(例如上标、下标、希腊字母或数学符号),请使用 TeX 标记。有关支持的标记的列表,请参阅 Interpreter 属性。

要在文本中包含数值变量,请使用 num2str 函数。

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

目标坐标区,指定为 Axes 对象、PolarAxes 对象或 GeographicAxes 对象。如果您不指定坐标区,则 text 使用当前坐标区。

名称-值参数

将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但参量对组的顺序无关紧要。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

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

注意

此处所列的属性只是一部分。有关完整列表,请参阅 Text 属性

字体大小,指定为大于 0 的标量值(以磅为单位)。默认字体大小取决于具体操作系统和区域设置。一磅等于 1/72 英寸。要更改字体单位,请使用 FontUnits 属性。

示例: 12

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

字符粗细,指定为 'normal''bold'

MATLAB 使用 FontWeight 属性从系统提供的字体中选择一种字体。并非所有字体都有加粗字体。因此,指定加粗字体仍可能得到普通字体。

字体名称,指定为支持的字体名称或 "FixedWidth"。要正确显示和打印文本,您必须选择系统支持的字体。默认字体取决于您的操作系统和区域设置。

要使用在任何区域设置中都有较好显示效果的等宽字体,请使用 "FixedWidth"。等宽字体依赖于根 FixedWidthFontName 属性。设置根 FixedWidthFontName 属性会导致立即更新显示方式以使用新字体。

文本颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或短名称。默认值 [0 0 0] 对应于黑色。

对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。

  • RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]

  • 十六进制颜色代码是字符串标量或字符向量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0F。这些值不区分大小写。因此,颜色代码 "#FF8800""#ff8800""#F80""#f80" 是等效的。

此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。

颜色名称短名称RGB 三元组十六进制颜色代码外观
"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"不适用不适用不适用无颜色

以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。

RGB 三元组十六进制颜色代码外观
[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

示例: 'blue'

示例: [0 0 1]

示例: '#0000FF'

相对于 Position 属性中的 x 值水平对齐文本,指定为此表中的一个值。垂直线指示 x 值相对于文本的位置。

结果
'left'(默认值)

Sample of left-aligned text

'center'

Sample of centered text

'right'

Sample of right-aligned text

文本位置,指定为 [x y] 形式的二元素向量或 [x y z] 形式的三元素向量。如果您省略第三个元素 z,则 MATLAB 将其设置为 0

使用数值指定位置。要将日期时间或持续时间值转换为特定坐标方向上的相应数值,请参阅 ruler2num

默认情况下,位置值是以数据单位定义的。要更改单位,请使用 Units 属性。

示例: [0.5 0.5 0]

数据类型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

位置单位,指定为此表中的一个值。

单位描述
'data'(默认值)数据坐标。
'normalized' 针对坐标区进行归一化。坐标区的左下角映射到 (0,0),右上角映射到 (1,1)
'inches'英寸。
'centimeters'厘米。
'characters'

基于默认系统字体的字符大小。

  • 字符宽度 = 字母 x 的宽度。

  • 字符高度 = 两个文本行的基线之间的距离。

'points'磅。一磅等于 1/72 英寸。
'pixels'

像素。

从 R2015b 开始,以像素为单位的距离不再依赖 Windows®Macintosh 系统上的系统分辨率:

  • 在 Windows 系统上,一个像素是 1/96 英寸。

  • Macintosh 系统上,一个像素是 1/72 英寸。

在 Linux® 系统上,一个像素的大小由系统分辨率确定。

所有单位('data' 除外)都是从坐标区的左下角进行测量的。此属性会影响 PositionExtent 属性。

如果您在创建 Text 对象时以 Name,Value 对组的形式指定 PositionUnits 属性,则指定顺序很重要。若要使用特定单位定义位置,请在设置 Position 属性之前先设置 Units 属性。

文本解释器,指定为下列值之一:

  • 'tex' - 使用 TeX 标记子集解释字符。

  • 'latex' - 使用 LaTeX 标记解释字符。

  • 'none' - 显示字面字符。

TeX 标记

默认情况下,MATLAB 支持一部分 TeX 标记。使用 TeX 标记可添加下标和上标,修改字体类型和颜色,并在文本中包括特殊字符。

修饰符会一直作用到文本结尾,但上标和下标除外,因为它们仅修饰下一个字符或花括号中的字符。当您将解释器设置为 'tex' 时,支持的修饰符如下所示。

修饰符描述示例
^{ }上标'text^{superscript}'
_{ }下标'text_{subscript}'
\bf粗体'\bf text'
\it斜体'\it text'
\sl伪斜体(通常与斜体相同)'\sl text'
\rm常规字体'\rm text'
\fontname{specifier}字体名称 - 将 specifier 替换为字体系列的名称。您可以将此说明符与其他修饰符结合使用。'\fontname{Courier} text'
\fontsize{specifier}字体大小 - 将 specifier 替换为以磅为单位的数值标量值。'\fontsize{15} text'
\color{specifier}字体颜色 - 将 specifier 替换为以下颜色之一:redgreenyellowmagentablueblackwhitegraydarkGreenorangelightBlue'\color{magenta} text'
\color[rgb]{specifier}自定义字体颜色 - 将 specifier 替换为三元素 RGB 三元组。'\color[rgb]{0,0.5,0.5} text'

下表列出了 'tex' 解释器所支持的特殊字符。

字符序列符号字符序列符号字符序列符号

\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 标记

要使用 LaTeX 标记,请将解释器设置为 'latex'。对于行内模式,用单美元符号 ($) 将标记括起来。对于显示模式,用双美元符号 ($$) 将标记括起来。

LaTeX 模式示例结果
行内

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

Equation with LaTeX inline mode

显示

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

Equation with LaTeX display mode

显示的文本将使用默认的 LaTeX 字体样式。FontNameFontWeightFontAngle 属性不起任何作用。要更改字体样式,请使用 LaTeX 标记。

用于 LaTeX 解释器的文本最多可以包含 1200 个字符。对于多行文本,请在此数量的基础上每行减少约 10 个字符。

有关使用 TeX 和 LaTeX 的示例,请参阅图文本中的希腊字母和特殊字符。有关 LaTeX 系统的详细信息,请访问 LaTeX Project 网站:https://www.latex-project.org/

输出参量

全部折叠

Text 对象。在创建特定 Text 对象后,使用 t 的元素对其进行修改。有关属性列表,请参阅 Text 属性

提示

  • 默认情况下,文本对象的 Clipping 属性设置为 "off",这样文本可能显示在坐标区之外。若要裁剪文本使其在坐标区边界内,请将该属性设置为 "on"

  • "default""remove""factory" 是 MATLAB 中的保留词。要使用这些词之一创建文本,请在词前面追加反斜杠 (\)。例如,text(.5,.5,"\default")

版本历史记录

在 R2006a 之前推出