【问题标题】:Make multiple plots from 3D matrix, of data inside given polygon从给定多边形内的数据的 3D 矩阵制作多个图
【发布时间】:2019-02-20 18:45:23
【问题描述】:

我有一个 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

【问题讨论】:

    标签: matlab plot matlab-figure


    【解决方案1】:

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

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

    【讨论】:

    • 主要查询是根据它们的值(0-100)绘制点,我无法弄清楚。对问题进行了细微的修改并替换了所需的数字以使问题更清晰。在蒙太奇/子图和其他功能之后,将多个图网格化。
    • 所以我们可以使用一张图片的示例数据来玩
    • 我想是的,我们可以先得到单幅图像所需的结果后尝试制作网格图。
    猜你喜欢
    • 1970-01-01
    • 2014-05-17
    • 2020-01-06
    • 2018-02-16
    • 2013-02-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 2013-02-02
    相关资源
    最近更新 更多