1

在 R 中使用该image函数时,它对输入矩阵的维度长度进行了归一化,因此 X 和 Y 轴从 0 变为 1。

有没有办法告诉image函数不要标准化这些数字?

我需要这样做才能覆盖不同类型的数据并将所有这些坐标归一化到 [0,1] 空间中是非常乏味的。

编辑:格雷格提供的答案解释了这种情况。

4

2 回答 2

2

一个可重现的例子在这里会很有帮助。通常,如果您只给出image一个z矩阵,那么该函数会选择有效的默认 x 和 y 值,我认为这就是您所看到的。另一方面,如果您给出image一个 x 向量和 ay 向量,那么它会使用该信息来构建图形。如果 x/y 向量的长度等于 z 的相应维度,则这些值表示矩形的中心,如果 x/y 比 z 的相应维度长 1,则它们表示矩形的角。这使您可以很好地控制您提到的事情。

如果这不能回答问题,那么给我们一个自包含的可重复的例子来处理。

于 2012-11-19T19:45:20.183 回答
0

我将根据 Greg Snow 提供的答案来回答我的问题,以遵循本网站的最佳实践,因为任何提供信息的东西都应该是答案。

如果您不向函数提供xnory参数image(),则轴的范围是从 0 到 1,如下例所示。

> image(volcano)

绘制没有 x 和 y 参数的图像

然后,如果您想在使用的矩阵中定位一个兴趣点,对于 [x,y] 坐标为 [10,40] 的矩阵元素,您需要执行以下操作:

> points(x=10/length(volcano[,1]),y=40/length(volcano[1,]))

在此处输入图像描述

如果指定了xandy参数,并且(正如 Greg 提到的)它们适合矩阵的维度,那么轴将在指定的xy向量范围内。

> dim(volcano)
[1] 87 61
> image(x=1:87, y=1:61, z=volcano)

在此处输入图像描述

 > points(10,40)

在此处输入图像描述

于 2014-05-27T05:28:28.410 回答