在 MATLAB 中绘制整数值矩阵的面积

Plotting Areas from an Integer Valued Matrix in MATLAB

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

有什么方法可以使用 MATLAB 绘制面积图,使得该图的轴在一个轴上的范围从 0 到 N,在另一个轴上的范围从 0 到 M,其中对应于矩阵中特定整数的区域将在图表上的同一位置用不同的颜色填充?

结果应如下所示:Link to Image

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

如果我还需要澄清任何其他问题,请告诉我。

简单的 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