MATLAB中text函数使用 text函数的功能是向数据点添加文本说明。

目录

语法

说明

示例

向数据点添加文本说明

向多个数据点添加文本

显示多行文本

指定文本大小和颜色 

修改现有文本 


        text函数的功能是向数据点添加文本说明。

语法

text(x,y,txt)
text(x,y,z,txt)
text(___,Name,Value)
text(ax,___)
t = text(___)

说明

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 函数。

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

        如图所示:

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 使用当前坐标区。

作者:jk_101原文地址:https://blog.csdn.net/jk_101/article/details/126517662

%s 个评论

要回复文章请先登录注册