如何为矩阵着色?

时间:2014-03-21 14:51:25

标签: matlab matrix colors

我在matlab中有一个以下形式的矩阵:

A=[1 1 1 -1 -1
   0 1 0  1  0
   0 1 1  1  1 
   2 2 0  1  2
   2 2 2  2 -1]

此矩阵表示平面中的地图。每个A(i,j)都是此地图中的一个单元格。我想根据它的数量为每个细胞赋予颜色。所以:

If(A(i, j)<=0)
   color(A(i, j)) with black    
Elseif(A(i, j)==k)
   color(A(i, j)) with color k other than black
end

如何在matlab中执行此操作?有什么建议吗?

1 个答案:

答案 0 :(得分:3)

您可以使用 hsv 或手动定义多种颜色。

 hsv(3)

ans =

     1     0     0
     0     1     0
     0     0     1

然后使用色彩映射指定色彩映射。

colormap(hsv(3))

然后使用 imagesc

imagesc(A)

enter image description here

如果您想指定颜色也很容易:

a = hsv(3)
a(1,:) = 1;   % make the first color white
a(3,:) = 0;   % make the last color black

a =

     1     1     1
     0     1     0
     0     0     0

colormap(a)
imagesc(A)

enter image description here