【发布时间】:2013-06-05 10:19:32
【问题描述】:
我是 R 新手,之前使用过 MATLAB。我正在转换一个 MATLAB 脚本以在 R 下运行。到目前为止一切顺利,除了现在绘制输出图。
MATLAB
这是绘制图形的matlab代码,使用imagesc:
imagesc(velocity,time,myplot,[-35, 0]);
地点:
velocity: 1 x 50 矩阵
time: 1 x 10 矩阵
myplot: 10 x 50 矩阵
图像说明
imagesc(x,y,C) 将 C 显示为图像,并使用向量 x 和 y 指定 x 轴和 y 轴的边界。如果 x(1) > x(2) 或 y(1) > y(2),则图像分别左右翻转或上下翻转。如果 x 和 y 是标量,则将图像平移到指定位置 (x,y),使图像的左上角从 (x,y) 开始。
R
R 版本的imagesc which can be found here
问题:
如何在 Matlab clims 部分中将数据值重现为颜色图值,可在此处找到:http://i.imgur.com/eVy6V8N.png,这是 Matlab 示例的 [-35, 0] 部分。
它将特定范围之外的数据值映射到相同的颜色限制,有效地充当图像上的噪声过滤器。
这是 Matlab 和 R imagesc 函数的结果,没有 [-35, 0] clims 部分:http://i.imgur.com/DzDjrzu.png
如您所见,它们是相同的。
这是所需的结果,包括 Matlab [-35, 0] 部分:http://i.imgur.com/Qbx6jNI.png
Matlab 的左边和右边的 R。左边的 Matlab 图像是我想要生成的,这一切都归功于脚本的 Matlab 版本上的一个进程clims[-35, 0]。
【问题讨论】:
-
有少数 R 人可以使用 MATLAB,但不是很多。为什么不描述 imagesc 函数的实际作用呢?以及如何解释这些参数?
-
@Dwin 我已经用 imagesc 的解释编辑了我的原始问题
-
这是“您要解决的问题是什么?”的一个很好的例子。你想要的是一个特定的图表,所以不要问如何让一个特定的工具产生那个图表:问如何从你的数据中得到想要的输出。
-
@CarlWitthoft 不,我真的只是希望该工具能够生成与 Matlab 使用的工具相同的工具。如果是这样,我们就不会在这里了 :) 我想如果你更具体,
[-35, 0]部分是我无法在 R 中重现的地方 - 从提供的链接中命名为clims。 -
这里是i.imgur.com/eVy6V8N.png 部分,它将数据值映射到范围之外的颜色值。