Matlab中xlabel函数用法

目录

语法

说明

示例

为 x 轴添加标签

创建多行 x 轴标签

将希腊字母包括在 x 轴标签中

在 x 轴标签中包括变量值

在轴标签中包括上标和下标

更改 x 轴标签字体大小和颜色

为特定绘图的 x 轴添加标签

在创建后修改 x 轴标签


        xlabel函数的功能是为 x 轴添加标签。

语法

xlabel(txt)
xlabel(target,txt)
xlabel(___,Name,Value)
t = xlabel(___)

说明

​xlabel(txt) 将为 gca 命令返回的当前坐标区或图的 x 轴添加标签。重新发出 xlabel 命令会将旧标签替换为新标签。

​xlabel(target,txt) 为指定的目标对象添加标签。

xlabel(___,Name,Value) 使用一个或多个名称-值对组参数修改标签外观。

例如,'FontSize',12 将字体大小设置为 12 磅。在所有其他输入参数之后指定名称-值对组参数。并非所有图形类型均支持修改标签外观。

t = xlabel(___) 返回用作 x 轴标签的文本对象。使用 t 可在创建标签后对其进行修改。

示例

为 x 轴添加标签

        将 Population 显示在 x 轴下。

plot((1:10).^2)
xlabel('Population')

创建多行 x 轴标签

        使用字符向量元胞数组创建多行标签。

plot((1:10).^2)
xlabel({'Population','(in thousands)'})

将希腊字母包括在 x 轴标签中

        使用 TeX 标记将希腊字母和其他特殊字符包括在标签中。

x = linspace(-2*pi,2*pi);
y = sin(x);
plot(x,y)
xlabel('-2\pi \leq x \leq 2\pi')

在 x 轴标签中包括变量值

        添加带有文本和变量值的标签。使用 num2str 函数在标签中包含变量值。

plot((1:10).^2)  
year = 2014;
xlabel(['Population for Year ',num2str(year)])

在轴标签中包括上标和下标

        使用 '^' 和 '_' 字符在轴标签中包含上标和下标。使用花括号 {} 修改多个字符。

t = linspace(0,1);
y = exp(t);
plot(t,y)
xlabel('t_{seconds}')
ylabel('e^t')

更改 x 轴标签字体大小和颜色

        使用 Name,Value 对组参数设置 x 轴标签的字体大小、字体粗细和文本颜色属性。

plot((1:10).^2)
xlabel('Population','FontSize',12,'FontWeight','bold','Color','r')

为特定绘图的 x 轴添加标签

        从 R2019b 开始,可以使用 tiledlayout 和 nexttile 函数显示分块图。调用 tiledlayout 函数以创建一个 2×1 分块图布局。调用 nexttile 函数以创建坐标区对象 ax1 和 ax2。将数据绘制到每个坐标区中,并为顶部图创建 x 轴标签。

tiledlayout(2,1)
ax1 = nexttile;
plot((1:10).^2)
xlabel(ax1,'Population')

ax2 = nexttile;
plot((1:10).^3)

在创建后修改 x 轴标签

        为 x 轴添加标签并返回用作标签的文本对象。

plot((1:10).^2)
t = xlabel('Population');

        使用 t 可在创建标签后设置标签的文本属性。例如,将标签的颜色设置为红色。使用圆点表示法设置属性。

t.Color = 'red';

参数说明

txt — 轴标签

        轴标签,指定为字符串标量、字符向量、字符串数组、字符数组、元胞数组、分类数组或数值。

要将数值变量和文本包括在标签中,请使用 num2str 函数。例如:

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

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

创建多行标签:

  • 使用字符串数组,其中每个元素包含一行文本,例如 ["first line","second line"]。

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

  • 使用字符数组,其中每一行包含相同数量的字符,例如 ['abc'; 'ab ']。

  • ​使用 sprintf 创建包含换行符的文本,例如 sprintf('first line \n second line')。​

数值标签将通过 sprintf('%g',value) 转换为文本。例如,12345678 显示为 1.23457e+07。

注意

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

  • 词语 default、factory 和 remove 是保留字,作为标准字符引用时,标签中将不会出现。要在文本中单独显示这些单词中的任意单词,需在该单词之前放置反斜杠,例如 '\default' 或 '\remove'。

target — 标签的目标

标签的目标,指定为以下项之一:

  • Axes 对象。

  • TiledChartLayout 对象。

  • ​具有 XLabel 属性的独立可视化。例如,您可以指定一个 heatmap 图作为目标。

  • ​由上述列表中的图形对象组成的数组。这些对象必须属于同一类。要确定类,请使用 class 函数。​

如果不指定目标,则 xlabel 函数会 gca 命令返回的图形对象添加标签。

注意

        独立可视化不支持修改标签外观(例如颜色)或以输出参数形式返回文本对象。

FontSize — 字体大小

        字体大小,指定为大于 0 的标量值(以磅为单位)。一磅等于 1/72 英寸。要更改字体单位,请使用 FontUnits 属性。

        设置关联坐标区的字体大小属性还会影响标签字体大小。标签字体大小会更新为等于坐标区字体大小与标签缩放因子的积。坐标区的 FontSize 属性包含坐标区字体大小。坐标区的 LabelFontSizeMultiplier 属性包含标签缩放因子。默认情况下,坐标区字体大小为 10 磅,缩放因子为 1.1,因此 x 轴标签字体大小为 11 磅。

FontWeight — 字符粗细

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

FontName — 字体名称

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

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

Color — 文本颜色

文本颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或短名称。

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

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

  • 十六进制颜色代码是字符串标量或字符向量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0 到 F。这些值不区分大小写。因此,颜色代码 "#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

Rotation — 文本方向

        文本方向,指定为以度为单位的标量值。0 度的旋转值可使文本处于水平。对于垂直文本,请将此属性设置为 90 或 -90。设置为正值可逆时针旋转文本。设置为负值可顺时针旋转文本。

Interpreter — 文本解释器

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

  • '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'。对于行内模式,用单美元符号 ($) 将标记括起来。对于显示模式,用双美元符号 ($$) 将标记括起来。

LaTeX 模式示例结果
行内

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

Equation with LaTeX inline mode

显示

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

Equation with LaTeX display mode

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

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

t — 文本对象

        用作 x 轴标签的文本对象。使用 t 可在创建标签后访问和修改标签的属性。

提示

  • 默认情况下,Interactions 属性包含 editInteraction,因此可以通过点击文本来编辑文本。要禁用此交互,请将文本对象的 Interactions 属性设置为 []。

  • 26
    点赞
  • 185
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB绘制3D隐函数曲面的方法总结-MarchingCubes.zip 本帖最后由 winner245 于 2013-10-28 00:45 编辑 背景介绍 Matlab提供了一系列绘图函数,常见的包括绘制2D曲线的plot函数、绘制2D隐函数曲线的ezplot函数、绘制3D曲面的mesh和surf函数、绘制3D显函数曲面的ezmesh和ezsurf函数。值得注意的是,ez系列的绘图函数里只有ezplot是绘制隐函数曲线的,ezmesh和ezsurf都是画显函数曲面的(不要被ez的名字误解了)。遗憾的是,matlab里并没有提供直接绘制3D隐函数曲面的函数。本帖的目的就是归纳总结几种方便易用的绘制隐函数曲面的办法。 问题描述 如何绘制3元方程f = 0确立的隐函数曲面z = g?其,方程f = 0无法求解z关于x、y的表达式,即g的显式表达式无法获取。 准备工作——基础函数介绍 为了解决上述问题,我们需要先对几个重要的图形函数isosurface、patch、isonormals取得初步的了解,如果您已经对这三个函数很熟悉,可以直接跳过这一步。 l.  isosurface 等值面函数 调用格式:fv = isosurface作用:返回某个等值面(由isovalue指定)的表面(faces)和顶点(vertices)数据,存放在结构体fv(fv由vertices、faces两个域构成)。如果是画隐函数 v = f = 0 的三维图形,那么等值面的数值为isovalue = 0。 2.  patch函数 调用格式:patch 以平面坐标为顶点,构造平面多边形,C是RGB颜色向量                    patch以空间3-D坐标为顶点,构造空间3D曲面,C是RGB颜色向量                    patch 通过包含vertices、faces两个域的结构体fv来构造3D曲面,fv可以直接由等值面函数isosurface得到 例如:patch) 3.  isonormals等值面法线函数 调用格式:isonormals实现功能:计算等值面V的顶点法线,将patch曲面p的法线设置为计算得到的法线(p是patch返回得到的句柄)。如果不设置法线的话,得到曲面在过渡地带看起来可能不是很光滑 有了上述三个函数后,我们已经具备间接绘制3D隐函数曲面的能力了。下面以方程 f = x.*y.*z.*log-10 = 0为例,讲解如何画3D隐函数曲面。 解决办法一:isosurface patch isonormals实现原理:先定义3元显函数v =f, 则 v = 0 定义的等值面就是z = g的3D曲面。利用isosurface函数获取v= 0 的等值面,将得到的等值面直接输入给patch函数,得出patch句柄p,并画出patch曲面的平面视角图形。对p用isonormals函数设置曲面顶点数据的法线,最后设置颜色、亮度、3D视角,得到3D曲面。 代码如下: f = @ x.*y.*z.*log-10;      % 函数表达式 [x,y,z] = meshgrid;       % 画图范围 v = f; h = patch); isonormals               set; xlabel;ylabel;zlabel; alpha    grid on; view; axis equal; camlight; lighting gouraud 复制代码 代码说明: alpha函数用于设置patch曲面的透明度(可以是0~1任意数值),1 表示不透明,0 表示最大透明度。如果想设置透明度为0.7,可以修改alpha为alpha。 使用此代码解决特定问题时,只需将第1行的函数表达式替换为特定问题的函数表达式,将第2行数据(x、y、z)范围换成合适的范围,后续代码无需任何变动。 得到图形: 1.png 解决办法二:Mupad Mupad符号引擎里提供了现成的三维隐函数画图函数:Implicit3d 在matlab里开启Mupad的方法是:在commandwindow 里输入mupad 来启动一个notebook。在启动的notebook里再输入如下代码: plot-10, x = -10..10, y = -10..10, z = -10..10), Scaling = Constrained)复制代码 回车后得到如下图形: 1.png 解决办法三:第三方工具包ezimplot3 在matlab central 的 file exchange 上有一个非常优秀的绘制3维隐函数的绘图函数,叫ezimplot3。感兴趣的可以在如下链接下载:http://www.mathworks.com/matlabcentral/fileexchange/23623-ezimplot3-implicit-3d-functions-plotter也可以直接从本帖下载: ezimplot3.zip ezimplot3一共有三种参数调用方式: ezimplot3 画函数f= 0 在-2*pi< X < 2* pi, -2* pi < Y < 2* pi, -2* pi < Z < 2* pi上的图形ezimplot3画函数f= 0 在A< X < B, A < Y < B, A < Z < B上的图形ezimplot3画函数f= 0 在XMIN< X < XMAX, YMIN < Y < YMAX, ZMIN < Z < ZMAX上的图形 ezimplot3使用方法:解压ezimplot3.zip,将解压得到的ezimplot3.m 添加到matlab当前搜索路径后就可以使用了。然后,可以直接在command window 输入代码:f = @ x*y*z*log-10; ezimplot3;  % [-10, 10] 表示图形范围x、y、z都在区间[-10, 10] 复制代码 即得到如下图形: 1.png 若干说明: ezimplot3和方法一本质上完全相同。即ezimplot3实际上也是基于isosurface patch isonormals的实现ezimplot3与方法一的图形视觉效果相同,唯一的区别是,ezimplot3的使用了0.7的透明度:alphaezimplot3在方法一基础上增加了一些外包功能,如:允许函数句柄f是非向量化的函数(即函数定义无需.*  ./  .^),这在ezimplot3内部会自动调用vectorize实现函数向量化。另外,ezimplot3可以在调用的时候方便的设定坐标范围。 常见问题和解决办法: 常见问题:很多人在使用以上方法后,经常出现的问题是代码没有任何错误,程序可以运行,就是出来的图形只有一个空坐标轴,看不到图形。 问题分析:出现这种问题的原因是图形的显示区域没设对。比如,我们上述三种方法都是在x为-10到10的范围内,如果你设的范围内本身就没有图形,那当然就看不到图形了。解决办法:把图形显示范围重新设置对即可,如果不知道图形的大致范围,就手工多改几次,直到看到图形为止 方法一,图形范围是在第2句的meshgrid函数决定的,meshgrid里给出的x、y、z范围就是最终画图范围,修改meshgrid语句即可。方法二(Mupad),x =-10..10, y = -10..10, z = -10..10是表示显示范围,修改这里即可。方法三,用ezimplot3 ezimplot3两种方式控制图形显示范围。 后记:slice切片函数 matlab还提供一种画切片图形的函数slice,slice做出的图是在切片上用颜色表示v的值。有时,我们画切片图形也有助于我们理解一个4维图形。以  v= f = x*y*z*exp)  为例,假设我们希望看 v =f 在 x =0, y = 1, z = 1 这些平面切片的图形,我们可以用以下代码: [x,y,z] = meshgrid); v = x.*y.*z.*exp); xslice = 0; yslice = 1; zslice = 1; slice xlabel; ylabel; zlabel; colormap hsv 复制代码 得到图形为: 1.png 经常听有人说想画 “4D图形”,前3维数据[x,y,z]表示空间位置,第4维数据v表示颜色(温度等),这类图形可以方便地通过slice切片实现: slice,这里就是在指定的切片上在空间坐标[x,y,z]处,用v值指定颜色画图。关于这类 “4D图形”的画法的一个典型例子:https://www.ilovematlab.cn/thread-265517-1-1.html 另外,我在 23 楼提供了一个slice 函数应用的生动例子:slice 3D 动画图形。感兴趣的朋友可以看看 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 欢迎大家踊跃讨论,给出更多更好的办法

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值