目录
语法
说明
示例
向数据点添加文本说明
向多个数据点添加文本
显示多行文本
指定文本大小和颜色
修改现有文本
text函数是向数据点添加文本说明。
text(x,y,txt)
text(x,y,z,txt)
text(___,Name,Value)
text(ax,___)
t = text(___)
x
- 第一个坐标
第一个坐标,指定为下列形式之一:
标量 - 将文本添加到单个点。
向量 - 将文本添加到多个点。
第一个坐标的解释取决于坐标区的类型:
对于笛卡尔坐标区,第一个坐标是以数据单位表示的 x 轴位置。要更改单位,请设置 Text 对象的Units属性。
对于极坐标区,第一个坐标是以弧度表示的极坐标角 θ。
对于地理坐标区,第一个坐标是纬度(以度为单位)。
x 和 y 的大小必须相同。
y
- 第二个坐标
第二个坐标,指定为下列形式之一:
标量 - 将文本添加到单个点。
向量 - 将文本添加到多个点。
第二个坐标的解释取决于坐标区的类型:
对于笛卡尔坐标区,第二个坐标是以数据单位表示的 y 轴位置。要更改单位,请设置 Text 对象的Units属性。
对于极坐标区,第二个坐标是以数据单位表示的半径。
对于地理坐标区,第二个坐标是经度(以度为单位)。
x 和 y 的大小必须相同。
z
- 第三个坐标
第三个坐标,指定为下列形式之一:
标量 - 将文本添加到单个点。
向量 - 将文本添加到多个点。
第三个坐标的解释取决于坐标区的类型:
对于笛卡尔坐标区,第三个坐标是以数据单位表示的 z 轴位置。要更改单位,请设置 Text 对象的Units属性。
对于极坐标区和地理坐标区,第三个坐标会影响坐标区中文本的分层。
x、y 和 z 的大小必须相同。
txt
- 要显示的文本
要显示的文本,指定为字符向量、字符串标量、字符数组、字符串数组、元胞数组或分类数组。
用于单个数据点的文本
要为单个点添加文本,请将 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)];
ax
- 目标坐标区
目标坐标区,指定为 Axes 对象、PolarAxes 对象或 GeographicAxes 对象。如果不指定坐标区,则 text 使用当前坐标区。
名称-值对组参数
指定可选的、以逗号分隔的 Name,Value 对组参数。Name 为参数名称,Value 为对应的值。Name 必须放在引号中。可采用任意顺序指定多个名称-值对组参数,如 Name1,Value1,...,NameN,ValueN 所示。
例如:text(.5,.5,'my text','FontSize',14,'Color','red')
注意:此处所列的属性只是一部分。有关完整列表,请参考Text属性。
字体大小,指定为大于 0 的标量值(以磅为单位)。默认字体大小取决于具体操作系统和区域设置。一磅等于 1/72 英寸。要更改字体单位,请使用 FontUnits 属性。
字符粗细,指定为 'normal' 或 'bold'。MATLAB 使用 FontWeight 属性从系统提供的字体中选择一种字体。并非所有字体都有加粗字体。因此,指定加粗字体仍可能得到普通字体。
字体名称,指定为支持的字体名称或 'FixedWidth'。要正确显示和打印文本,必须选择系统支持的字体。默认字体取决于操作系统和区域设置。
要使用在任何区域设置中都有较好显示效果的等宽字体,使用 'FixedWidth'。等宽字体依赖于根FixedWidthFontName属性。设置根 FixedWidthFontName 属性会导致立即更新显示方式以使用新字体。
文本颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或短名称。默认值 [0 0 0] 对应于黑色。对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]。
十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0 到 F。这些值不区分大小写。因此,颜色代码 '#FF8800' 与 '#ff8800'、'#F80' 与 '#f80' 是等效的。
此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。
颜色名称 | 短名称 | RGB 三元组 | 十六进制颜色代码 | 外观 |
---|---|---|---|---|
'red' | 'r' | [1 0 0] | '#FF0000' | |
'green' | 'g' | [0 1 0] | '#00FF00' | |
'blue' | 'b' | [0 0 1] | '#0000FF' | |
'cyan' | 'c' | [0 1 1] | '#00FFFF' | |
'magenta' | 'm' | [1 0 1] | '#FF00FF' | |
'yellow' | 'y' | [1 1 0] | '#FFFF00' | |
'black' | 'k' | [0 0 0] | '#000000' | |
'white' | 'w' | [1 1 1] | '#FFFFFF' | |
'none' | 不适用 | 不适用 | 不适用 | 无颜色 |
以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。
RGB 三元组 | 十六进制颜色代码 | 外观 |
---|---|---|
[0 0.4470 0.7410] | '#0072BD' | |
[0.8500 0.3250 0.0980] | '#D95319' | |
[0.9290 0.6940 0.1250] | '#EDB120' | |
[0.4940 0.1840 0.5560] | '#7E2F8E' | |
[0.4660 0.6740 0.1880] | '#77AC30' | |
[0.3010 0.7450 0.9330] | '#4DBEEE' | |
[0.6350 0.0780 0.1840] | '#A2142F' |
相对于 Position 属性中的 x 值水平对齐文本,指定为此表中的一个值。垂直线指示 x 值相对于文本的位置。
值 | 结果 |
---|---|
'left'(默认值) | |
'center' | |
'right' |
文本位置,指定为 [x y] 格式的二元素向量或 [x y z] 格式的三元素向量。如果省略第三个元素 z,则 MATLAB 将其设置为 0。使用数值指定位置。要将日期时间或持续时间值转换为特定坐标方向上的相应数值,可以参考ruler2num。
默认情况下,位置值是以数据单位定义的。要更改单位,使用Units属性。
'Units' - 位置和范围单位
位置单位,指定为此表中的一个值。
单位 | 说明 |
---|---|
'data'(默认值) | 数据坐标。 |
'normalized' | 针对坐标区进行归一化。坐标区的左下角映射到 (0,0),右上角映射到 (1,1)。 |
'inches' | 英寸。 |
'centimeters' | 厘米。 |
'characters' | 基于默认系统字体的字符大小。
|
'points' | 磅。一磅等于 1/72 英寸。 |
'pixels' | 像素。 从 R2015b 开始,以像素为单位的距离不再依赖 Windows® 和 Macintosh 系统上的系统分辨率:
在 Linux® 系统上,一个像素的大小由系统分辨率确定。 |
所有单位('data' 除外)都是从坐标区的左下角进行测量的。此属性会影响Position和Extent属性。
如果在创建 Text 对象时以 Name,Value 对组的形式指定 Position 和 Units 属性,则指定顺序很重要。若要使用特定单位定义位置,请在设置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 替换为以下颜色之一:red、green、yellow、magenta、blue、black、white、gray、darkGreen、orange 或 lightBlue。 | '\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'。使用美元符号将文本括起来,例如,对于内联模式,使用 '$\int_1^{20} x^2 dx$';对于显示模式,使用 '$$\int_1^{20} x^2 dx$$'。
显示的文本将使用默认的 LaTeX 字体样式。FontName、FontWeight 和 FontAngle 属性不起任何作用。要更改字体样式,请使用 LaTeX 标记。用于 LaTeX 解释器的文本最多可以包含 1200 个字符。对于多行文本,请在此数量的基础上每行减少约 10 个字符。
t
-Text
对象
Text 对象。在创建特定 Text 对象后,使用 t 的元素对其进行修改。有关属性列表,请参阅Text属性。
提示:
默认情况下,文本对象的Clipping属性设置为 'off',这样文本可能显示在坐标区之外。若要裁剪文本使其在坐标区边界内,请将该属性设置为 'on'。
text(x,y,txt) 使用由 txt 指定的文本,向当前坐标区中的一个或多个数据点添加文本说明。若要将文本添加到一个点,请将 x 和 y 指定为标量。若要将文本添加到多个点,请将 x 和 y 指定为长度相同的向量。
text(x,y,z,txt) 在三维坐标中定位文本。
text(___,Name,Value)使用一个或多个名称-值对组指定 Text 对象的属性。例如,'FontSize',14 将字体大小设置为 14 磅。可以使用上述语法中的任意输入参数组合指定文本属性。如果您将 Position 和 String 属性指定为名称-值对组,则不需要指定 x、y、z 和 txt 输入。
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)')
有关希腊字母和其他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)
通过将 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)
创建一个线图,并向坐标区添加一个文本说明。通过将str指定为元胞数组显示多行文本。如下所示:
plot(1:10)
str = {'A simple plot','from 1 to 10'};
text(2,7,str)
创建一个线图,并向坐标区添加两个文本说明。在向坐标区添加多个文本说明时,通过指定嵌套元胞数组显示多行文本。如下所示:
plot(1:10)
str = {{'A simple plot','from 1 to 10'},'y = x'};
text([2 8],[7 7],str)
创建一个线图,并向坐标区添加文本说明。使用红色 14 号字体。如下所示:
plot(1:10)
text(2,8,'A Simple Plot','Color','red','FontSize',14)
创建一个线图,并沿线条添加两个文本说明。返回文本对象 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)
text 函数为每个文本说明创建一个文本对象。因此,t 包含两个文本对象。使用 t(1) 更改第一个文本对象的颜色和字体大小。使用圆点表示法设置属性。如果使用的是较早的版本,请改用 set 函数。
x = linspace(-5,5);
y = x.^3-12*x;
plot(x,y);
t = text([-2 2],[16 -16],'dy/dx = 0');
t(1).Color = 'red';
t(1).FontSize = 14;