目录
ruler2num函数是将数据从特定的标尺转换为数值数据。
语法
num = ruler2num(data,ruler)
data
- 输入数组
输入数组,指定为标量、向量或矩阵。如果 data
已经是数值,则输出 num
等于输入 data
。
ruler
- 标尺
与输入数据相关联的标尺,指定为 DatetimeRuler、DurationRuler、NumericRuler 或 GeographicRuler 对象。使用 Axes 对象的 XAxis、YAxis 或 ZAxis 属性指定标尺对象。例如:
ax = gca;
num = ruler2num(data,ax.XAxis)
如果指定 NumericRuler
对象,而输入 data
不是数值,则输出 num
由以下公式决定:
num = full(double(data))
如果指定 GeographicRuler
对象,则输出 num
等于输入 data
。
说明
num = ruler2num(data,ruler)将 data 中的值转换为数值。ruler 输入表示与 data 关联的标尺,它决定如何将值映射到对应的数值。输出 num 的大小与输入 data 相同。
示例
将日期值转换为等效的数值
将日期值转换为等效的数值,以便设置文本对象的 Position
属性。创建 x 轴为日期值的绘图。为第四个数据点添加文本说明,并返回文本对象。
t = datetime(2015,1,1:10);
y = [.2 .3 .5 .2 .8 .2 .3 .1 .3 .4];
plot(t,y,'-o')
txt = text(t(4),y(4),'My text');
通过设置文本对象的 Position
属性,将文本的位置更改到第六个数据点。由于 Position
属性只接受数值,因此需要将第六个数据点的日期时间值转换为等效的数值。
t = datetime(2015,1,1:10);
y = [.2 .3 .5 .2 .8 .2 .3 .1 .3 .4];
plot(t,y,'-o')
txt = text(t(4),y(4),'My text');
ax = gca;
x6 = ruler2num(t(6),ax.XAxis);
txt.Position = [x6 y(6)];