0

嗨,我正在尝试绘制图像。

我有三个矩阵:

矩阵 A:X 坐标

矩阵 B:Y 坐标

矩阵 C:图像灰度

X、Y 坐标可以是整数、小数点或 NaN。如果任何矩阵点是 NaN,我不会画那个点。

例如:

A = [1, 1;     B = [1, 2;       C = [1, 2;
     2, 2;          1, 2;            3, 4;
    NaN,3 ]         4, 4 ]           5, NaN]

我将绘制一个值为C(1)atX(1)的点Y(1)。值 1 绘制在(1,1)值 2 绘制在(1,2)值 3 绘制在(2,1)值 4 绘制在(2,2)

但是,B(3,1)C(3,1)没有使用,因为A(3,1)是 NaN。另外,A(3,2)andB(3,2)没有被使用,因为C(3,2)is NaN

任何建议或帮助来实现此功能?.. 我感谢任何意见或建议。谢谢你。

4

1 回答 1

3
% filter out the data with NaN's
idx_filter = ~(isnan(A)|isnan(B)|isnan(C));

% create a color map
cmap = gray(256);

% plot using scatter (36 is default size)
scatter(A(idx_filter),B(idx_filter),36,cmap(C(idx_filter),:))

现在的颜色仍然看起来有点黑色,因为您只使用了整个 1-256 范围的一小部分。

于 2013-07-27T18:15:42.223 回答