Matlab中xtickformat函数
⽬录
xtickformat函数是指定x轴可读标签格式。
语法
1xtickformat(fmt)
2xtickformat(datefmt)
3xtickformat(durationfmt)
4xtickformat(ax,___)
5xfmt = xtickformat
6xfmt = xtickformat(ax)
说明
xtickformat(fmt) 设置数值x轴刻度标签的格式。例如,将fmt指定为 'usd' 将以美元符号显⽰标签。
xtickformat(datefmt) 设置显⽰⽇期或时间的标签的格式。例如,将datefmt指定为 'MM-dd-yy' 可显⽰ 04-19-16 之类的⽇期。此选项仅适⽤于具有⽇期时间值的 x 轴。
xtickformat(durationfmt) 设置显⽰持续时间的标签的格式。例如,将 durationfmt 指定为 'm' 可显⽰以分钟为单位的持续时间。此选项仅适⽤于具有持续时间值的 x 轴。
xtickformat(ax,___) 使⽤ax指定的坐标区,⽽不是使⽤当前坐标区。指定ax作为第⼀个输⼊参数。
xfmt = xtickformat返回当前坐标区的x轴刻度标签所使⽤的格式样式。xfmt可以为数值格式、⽇期格式或持续时间格式的字符向量,具体取决于x轴的标签的类型。
xfmt = xtickformat(ax) 返回ax指定的坐标区所使⽤的格式样式,⽽不是返回当前坐标区使⽤的格式样式。
⽰例
显⽰以美元为单位的刻度标签
显⽰以美元为单位的带和不带⼩数值的 x 轴刻度标签。创建⼀个条形图。显⽰以美元为单位的沿 x 轴的刻度标签。
1x = 0:20:100;
2y = [88 67 98 43 45 65];
3bar(x,y)
4xtickformat('usd')
查询刻度标签格式。MATLAB® 返回的格式为包含格式化操作符的字符向量。
1fmt = xtickformat
2
3
4fmt =
5'$%,.2f'
通过将数值格式调整为使⽤精度值 0 ⽽不是 2,可显⽰不带⼩数值的刻度标签。
xtickformat('$%,.0f')
在每个刻度标签后显⽰⽂本
创建线图后,显⽰沿 x 轴的刻度标签,并在每个值后附加⽂本“GHz”。
1x = 1:10;
2y = [.17 .25 .27 .28 .3 .32 .33 .34 .345 .35];
3plot(x,y,'-V')
4xtickformat('%g GHz')
控制显⽰的⼩数位数
创建散点图后,显⽰带两位⼩数的 x 轴刻度标签。通过向 xtickformat 传递⼀个数值格式的字符向量来控制⼩数位数,该数值格式对转换字符使⽤定点记数法且精度值为 2。
1x = linspace(0,1,100);
2y = randn(1,100).*cos(x);
3scatter(x,y)
4xtickformat('%.2f')
⽇期刻度标签的格式
创建 x 轴为⽇期时间值的线图。然后,更改⽇期的格式。
1t = datetime(2014,6,28) + caldays(1:10);
2y = rand(1,10);
3plot(t,y);
4xtickformat('MM-dd')
持续时间刻度标签的格式
创建 x 轴为持续时间值的线图。然后,更改刻度标签的格式。
1t = 0:seconds(30):minutes(3);
2y = rand(1,7);
3plot(t,y)
4xtickformat('mm:ss')
查询当前刻度标签格式
创建散点图并显⽰以欧元为单位的 x 轴刻度标签。然后,查询刻度标签格式。MATLAB® 返回的格式为包含格式化操作符的字符向量。
1x = rand(100,1);
2y = rand(100,1);
3scatter(x,y)
4xtickformat('eur')
1xfmt = xtickformat
2
3
linspace函数调用的格式为4xfmt =
5'\x20AC%,.2f'
特定坐标区的刻度标签格式
从 R2019b 开始,可以使⽤ tiledlayout 和 nexttile 函数显⽰分块图。调⽤ tiledlayout 函数以创建⼀个 2×1 分块图布局。调⽤nexttile 函数以创建坐标区对象 ax1 和 ax2。在每个坐标区中绘制。通过将 ax2 指定为 xtickformat 的第⼀个输⼊参数,指定下部图的 x 轴刻度标签格式。显⽰以美元为单位的刻度标签。
1tiledlayout(2,1)
2ax1 = nexttile;
3plot(ax1,rand(6))
4
5ax2 = nexttile;
6plot(ax2,rand(6))
7xtickformat(ax2,'usd')

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。