目录
xtickformat函数的功能是指定x轴可读标签格式。
语法
xtickformat(fmt)
xtickformat(datefmt)
xtickformat(durationfmt)
xtickformat(ax,___)
xfmt = xtickformat
xfmt = 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 轴的刻度标签。
x = 0:20:100;
y = [88 67 98 43 45 65];
bar(x,y)
xtickformat('usd')
查询刻度标签格式。MATLAB® 返回的格式为包含格式化操作符的字符向量。
fmt = xtickformat
fmt =
'$%,.2f'
通过将数值格式调整为使用精度值 0 而不是 2,可显示不带小数值的刻度标签。
xtickformat('$%,.0f')
在每个刻度标签后显示文本
创建线图后,显示沿 x 轴的刻度标签,并在每个值后附加文本“GHz”。
x = 1:10;
y = [.17 .25 .27 .28 .3 .32 .33 .34 .345 .35];
plot(x,y,'-V')
xtickformat('%g GHz')
控制显示的小数位数
创建散点图后,显示带两位小数的 x 轴刻度标签。通过向 xtickformat 传递一个数值格式的字符向量来控制小数位数,该数值格式对转换字符使用定点记数法且精度值为 2。
x = linspace(0,1,100);
y = randn(1,100).*cos(x);
scatter(x,y)
xtickformat('%.2f')
日期刻度标签的格式
创建 x 轴为日期时间值的线图。然后,更改日期的格式。
t = datetime(2014,6,28) + caldays(1:10);
y = rand(1,10);
plot(t,y);
xtickformat('MM-dd')
持续时间刻度标签的格式
创建 x 轴为持续时间值的线图。然后,更改刻度标签的格式。
t = 0:seconds(30):minutes(3);
y = rand(1,7);
plot(t,y)
xtickformat('mm:ss')
查询当前刻度标签格式
创建散点图并显示以欧元为单位的 x 轴刻度标签。然后,查询刻度标签格式。MATLAB® 返回的格式为包含格式化操作符的字符向量。
x = rand(100,1);
y = rand(100,1);
scatter(x,y)
xtickformat('eur')
xfmt = xtickformat
xfmt =
'\x20AC%,.2f'
特定坐标区的刻度标签格式
从 R2019b 开始,可以使用 tiledlayout 和 nexttile 函数显示分块图。调用 tiledlayout 函数以创建一个 2×1 分块图布局。调用 nexttile 函数以创建坐标区对象 ax1 和 ax2。在每个坐标区中绘制。通过将 ax2 指定为 xtickformat 的第一个输入参数,指定下部图的 x 轴刻度标签格式。显示以美元为单位的刻度标签。
tiledlayout(2,1)
ax1 = nexttile;
plot(ax1,rand(6))
ax2 = nexttile;
plot(ax2,rand(6))
xtickformat(ax2,'usd')
参数说明
fmt — 数值刻度标签的格式
数值刻度标签的格式,指定为字符向量或字符串标量。可以指定下表中列出的格式之一,也可以指定自定义格式。
预定义格式 | 描述 |
---|---|
'usd' | 美元。此选项等同于使用 '$%,.2f'。如果标签使用科学记数法,则此选项将指数值设置为 0。 |
'eur' | 欧元。此选项等同于使用 '\x20AC%,.2f' 和指数值 0。 |
'gbp' | 英镑。此选项等同于使用 '\x00A3%,.2f' 和指数值 0。 |
'jpy' | 日元。此选项等同于使用 '\x00A5%,d' 和指数值 0。 |
'degrees' | 在值之后显示度符号。此选项等同于使用 '%g\x00B0' 和默认指数值。 |
'percentage' | 在值之后显示百分号。此选项等同于使用 '%g%%' 和默认指数值。 |
'auto' | '%g' 的默认格式和默认指数值。 |
自定义数值格式
可以通过创建包含标识符的字符向量或字符串来指定自定义数值格式。
标识符是可选的,百分比符号和转换字符除外。按以下顺序构造格式:
-
一个或多个标志 - 用来指示在正值之前添加加号之类的选项。要查看完整的选项列表,请参阅可选标志表。
-
字段宽度 - 刻度标签上要打印的最小字符数。请将字段宽度指定为整数值。如果刻度值中的有效位数小于字段宽度,则在标签上用空格填充。
-
精度 - 小数点右侧的位数或有效位数,具体取决于转换字符。将精度指定为一个整数值。
-
转换字符 - 值的类型。要查看完整的选项列表,请参阅转换字符表。如果指定的转换字符不适合数据,MATLAB® 将覆盖指定的转换字符并使用 %e。
还可以在格式的开头或末尾指定字面文本。要打印单引号,请使用 ''。要打印百分比字符,请使用 %%。
可选标志
标识符 | 描述 | 数值格式示例 |
---|---|---|
, | 每隔三位数显示一个逗号,例如 '1,000'。 | '%,4.4g' |
+ | 为正值打印符号字符 (+),例如 '+100'。 | '%+4.4g' |
0 | 用前导零而不是空格填充字段宽度,例如 '0100'。 | '%04.4g' |
– | 左对齐,在值的末尾而不是开头用空格填充。例如,如果字段宽度为 4,则此标志将标签格式化为 '100 ',而不是 ' 100'。 | '%-4.4g' |
# | 对于 %f、%e 和 %g 转换字符,即使精度为 0,也会打印小数点,例如 '100.'。对于 %g,不会删除尾随零。 | '%#4.4g' |
转换字符
标识符 | 描述 | 示例 |
---|---|---|
d 或 i | 底数为 10 的有符号整数。精度值指示有效位数。 | '%.4d' 将 π 显示为 0003。 |
f | 定点记数法。精度值指示小数位数。 | '%.4f' 将 π 显示为 3.1416。 |
e | 指数记数法。精度值指示小数位数。 | '%.4e' 将 π 显示为 3.1416x100。 |
g | 更精简版本的 e 或 f,不带尾随零。精度值指示最大小数位数。 | '%.4g' 将 π 显示为 3.1416。 |
datefmt — 日期时间的格式
日期时间的格式,指定为 'auto'、字符向量或字符串标量。默认格式基于数据。
日期时间格式
使用这些标识符指定日期时间字段的显示格式。
字母标识符 | 描述 | 显示 |
---|---|---|
G | 年代 | CE |
y | 年份,没有前导零。请参阅紧随此表后的“注释”。 | 2014 |
yy | 年份,使用最后两位数。请参阅紧随此表后的“注释”。 | 14 |
..yyy, yyyy . | 年份,至少使用 'y' 实例数指定的位数 | 对于年份 2014,'yyy' 显示 2014,而 'yyyyy' 则显示 02014。 |
u, uu, ... | ISO 年份。单个数字来指定年份。ISO 年份值将正数值分配给 CE 年份,将负数值分配给 BCE 年份,1 BCE 表示年份 0。 | 2014 |
Q | 季度,使用一位数 | 2 |
QQ | 季度,使用两位数 | 02 |
QQQ | 季度,缩写 | 2 季度 |
QQQQ | 季度,全名 | 第二季度 |
M | 月份,使用一位或两位数字 | 4 |
MM | 月份,使用两位数字 | 04 |
MMM | 月份,缩写名称 | 四月 |
MMMM | 月份,全名 | 四月 |
MMMMM | 月份,首字母大写 | A |
W | 一月中的第几周 | 1 |
d | 一月中的第几天,使用一位或两位数 | 5 |
dd | 一月中的第几天,使用两位数 | 05 |
D | 一年中的第几天,使用一位、两位或三位数 | 95 |
DD | 一年中的第几天,使用两位数 | 95 |
DDD | 一年中的第几天,使用三位数 | 095 |
e | 一周中的星期几,使用一位或两位数的数值。 | 7 ,星期日是一周中的第一天。 |
ee | 一周中的星期几,使用两位数字 | 07 |
eee | 星期几,缩写名称 | 周六 |
eeee | 星期几,全名 | 星期六 |
eeeee | 星期几,使用一位大写数字 | 六 |
a | 一天中的时段(上午或下午) | 下午 |
h | 小时,采用 12 小时制格式,使用一位或两位数 | 9 |
hh | 小时,采用 12 小时制格式,使用两位数 | 09 |
H | 小时,采用 24 小时制格式,使用一位或两位数 | 21 |
HH | 小时,采用 24 小时制格式,使用两位数 | 21 |
m | 分钟,使用一位或两位数 | 41 |
mm | 分钟,使用两位数 | 41 |
s | 秒,使用一位或两位数 | 6 |
ss | 秒,使用两位数 | 06 |
S, SS, ..., SSSSSSSSS | 小数秒,使用 'S' 个数所指定的位数(最多 9 位)。 | 'SSS' 将 6.12345 秒截断为 123。 |
一些提示和注意事项:
-
使用一个或多个
u
字符而非y
字符在使用接近零的年数时解释年份。 -
公元 144683 年之后或公元前 140743 年之前的日期时间值仅显示年份数字,而不管指定的格式值为何。
时区偏移量格式
使用这些标识符指定时区偏移量的显示格式。时区偏移量是指具体日期时间与 UTC 之间相差的时间量。时区偏移量不同于时区,因为它包含了决定一年特定时间的偏移量的规则。若要确保明确地显示时间,请加上时区偏移量标识符。
字母标识符 | 描述 | 显示 |
---|---|---|
z | 时区偏移量的缩写名称。如果此值不可用,则时区偏移量使用短 UTC 格式,例如 UTC-4 。 | EDT |
Z | ISO 8601 基本格式,带有小时、分钟和可选的秒字段。 | -0400 |
ZZZZ | 长 UTC 格式。 | UTC-04:00 |
ZZZZZ | ISO 8601 扩展格式,带有小时、分钟和可选的秒字段。以 ISO 8601 标准规定的 UTC 指示符 "Z" 的形式来显示与零时区的偏移量。 | -04:00 |
x 或 X | ISO 8601 基本格式,带有小时字段和可选的分钟字段。如果您指定 X ,则以 ISO 8601 标准规定的 UTC 指示符 "Z" 的形式来显示与零时区的偏移量。 | -04 |
xx 或 XX | ISO 8601 基本格式,带有小时和分钟字段。如果您指定 XX ,则以 ISO 8601 标准规定的 UTC 指示符 "Z" 的形式来显示与零时区的偏移量。 | -0400 |
xxx 或 XXX | ISO 8601 扩展格式,带有小时和分钟字段。如果您指定 XXX ,则以 ISO 8601 标准规定的 UTC 指示符 "Z" 的形式来显示与零时区的偏移量。 | -04:00 |
xxxx 或 XXXX | ISO 8601 基本格式,带有小时、分钟和可选的秒字段。如果您指定 XXXX ,则以 ISO 8601 标准规定的 UTC 指示符 "Z" 的形式来显示与零时区的偏移量。 | -0400 |
xxxxx 或 XXXXX | ISO 8601 扩展格式,带有小时、分钟和可选的秒字段。如果您指定 XXXXX ,则以 ISO 8601 标准规定的 UTC 指示符 "Z" 的形式来显示与零时区的偏移量。 | -04:00 |
durationfmt — 持续时间值的格式
持续时间值的格式,指定为字符向量或字符串标量。
要将持续时间显示为包含小数部分(例如 1.234 小时)的单个数字,请指定下列格式之一。
格式 | 描述 |
---|---|
'y' | 精确固定长度的年份的数目。固定长度的一年等于 365.2425 天。 |
'd' | 精确固定长度的天数的数目。固定长度的一天等于 24 小时。 |
'h' | 小时数 |
'm' | 分钟数 |
's' | 秒数 |
要以数字计时器的形式显示持续时间,请指定下列格式之一:
-
'dd:hh:mm:ss'
-
'hh:mm:ss'
-
'mm:ss'
-
'hh:mm'
此外,可以通过附加多达 9 个 S 字符显示多达 9 位小数的秒位。例如,'hh:mm:ss.SSS' 以三位数显示持续时间的毫秒数。
ax — 目标坐标区
目标坐标区,指定为 Axes 对象或 Axes 对象数组。
如果不指定此参数,则 xtickformat 会修改当前坐标区。
算法
xtickformat 函数设置并查询与 x 轴相关联的标尺对象的 TickLabelFormat 属性。