首页 > 解决方案 > 从给定多边形内的数据的 3D 矩阵制作多个图

问题描述

我有一个 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),输出是这样的:

一个情节

但是我必须将多个数据绘制在一起,比如说一年中的 12 个月,那么我怎样才能根据值(0-100)一起绘制 12 个图,如下图所示?

月图

在此处输入图像描述

标签: matlabplotmatlab-figure

解决方案


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

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

推荐阅读