从3D矩阵对给定多边形内的数据进行多次绘制

时间:2019-02-19 10:45:13

标签: matlab plot matlab-figure

我有一个420 * 940 * 12的矩阵(每个网格的值的范围是0-100),我想仅用S在多边形lat内绘制数据(420 * 1)和lon(940 * 1)作为网格引用。

我们可以创建一个仅包含其值(0-100)的点的图:

S = shaperead(polygon);
N = length(S);
[X,Y] = meshgrid(lon,lat);
data= test;
for k = 1:N
    idx =  insidepoly(X(:),Y(:),S(k).X,S(k).Y);
    hold on
    plot(X(idx), Y(idx), 'r*')
end

但是此图仅显示点而不显示其值(0-100) 输出是这样的:

one plot

但是我必须一起绘制多个数据,比如一年12个月,如何根据下图的值(0-100)一起绘制12个图?

month plots

enter image description here

1 个答案:

答案 0 :(得分:0)

一种可能的解决方案是使用蒙太奇,请参见此处:

img = imread('peppers.png');
img = repmat(img,1,1,1,6);
montage(img)