matlab - 从给定多边形内的数据的 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 个图,如下图所示?
解决方案
一种可能的解决方案是使用蒙太奇,请参见此处:
img = imread('peppers.png');
img = repmat(img,1,1,1,6);
montage(img)
推荐阅读
- matlab - 根据来自其他向量的值识别向量中的元素
- javascript - 为什么 jQuery 删除父级-通过插入新元素- 带有 jQuery 的元素?
- python - 在 python 子进程中使用 tail 需要很长时间
- algolia - POST前Algolia自动完成修改查询
- c++ - 结合多个类模板特化
- javascript - 未处理的拒绝(TypeError):api.getUser 不是函数
- sql - SQL-如何获得多列的最大值但我只有 1 行
- python - 将 Python C 扩展链接到另一个库的问题
- android - 在 IntentService 中创建 AlertDialog 时无法添加窗口
- apache-spark-sql - com.amazonaws.services.glue.writeDynamicFrame 的 SparkQL 选项是什么?