在MATLAB中从整数值矩阵绘制区域

时间:2015-05-21 20:35:35

标签: arrays matlab graph area

假设我有一些名为L的NxM数组,其中每个条目包含四个整数中的一个,让我们说0,1,2,3。每个数字都在数组中分组,即L的右上角将完全为1,左下方将为2,中间将为0等等。

有没有办法使用MATLAB绘制面积图,使得图形的轴在一个轴上的范围为0到N,另一个轴上的轴为0到M,其中对应于矩阵中特定整数的区域将被填充在图表上的相同位置使用不同的颜色?

结果应如下所示:Link to Image

我一直在寻找这个问题的解决方案,但我似乎无法在任何地方找到某种简单的答案。

如果我要澄清其他任何内容,请告诉我。

1 个答案:

答案 0 :(得分:2)

一个简单的imagesc怎么样?

L = [0 0 0 1 1 1
     0 0 1 1 1 1
     0 0 0 1 1 2
     0 0 1 1 2 2
     0 0 0 2 2 2
     3 3 3 3 2 2
     3 3 3 3 3 3]; %// example data
cmap = [1 .5 .5    %// light red
        .5 1 .5    %// light green
        .5 .5 1    %// light blue
        .5 .5 .5]  %// grey
imagesc(L);        %// show image
colormap(cmap)     %// use colormap
axis image         %// set same scale on both axes

enter image description here