从给定多边形内的数据的 3D 矩阵制作多个图
Make multiple plots from 3D matrix, of data inside given polygon
我有一个 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 个图绘制在一起,如下图所示?
enter image description here
一种可能的解决方案是使用蒙太奇,请参见此处:
img = imread('peppers.png');
img = repmat(img,1,1,1,6);
montage(img)
我有一个 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 个图绘制在一起,如下图所示?
enter image description here
一种可能的解决方案是使用蒙太奇,请参见此处:
img = imread('peppers.png');
img = repmat(img,1,1,1,6);
montage(img)