在 R 中使用该image
函数时,它对输入矩阵的维度长度进行了归一化,因此 X 和 Y 轴从 0 变为 1。
有没有办法告诉image
函数不要标准化这些数字?
我需要这样做才能覆盖不同类型的数据并将所有这些坐标归一化到 [0,1] 空间中是非常乏味的。
编辑:格雷格提供的答案解释了这种情况。
一个可重现的例子在这里会很有帮助。通常,如果您只给出image
一个z
矩阵,那么该函数会选择有效的默认 x 和 y 值,我认为这就是您所看到的。另一方面,如果您给出image
一个 x 向量和 ay 向量,那么它会使用该信息来构建图形。如果 x/y 向量的长度等于 z 的相应维度,则这些值表示矩形的中心,如果 x/y 比 z 的相应维度长 1,则它们表示矩形的角。这使您可以很好地控制您提到的事情。
如果这不能回答问题,那么给我们一个自包含的可重复的例子来处理。
我将根据 Greg Snow 提供的答案来回答我的问题,以遵循本网站的最佳实践,因为任何提供信息的东西都应该是答案。
如果您不向函数提供x
nory
参数image()
,则轴的范围是从 0 到 1,如下例所示。
> image(volcano)
然后,如果您想在使用的矩阵中定位一个兴趣点,对于 [x,y] 坐标为 [10,40] 的矩阵元素,您需要执行以下操作:
> points(x=10/length(volcano[,1]),y=40/length(volcano[1,]))
如果指定了x
andy
参数,并且(正如 Greg 提到的)它们适合矩阵的维度,那么轴将在指定的x
和y
向量范围内。
> dim(volcano)
[1] 87 61
> image(x=1:87, y=1:61, z=volcano)
> points(10,40)