我有一个Matlab图,看起来像这样:
每个子图的Y值存储在单维数组中。我想找到一个区域,使得顶部图形高于某个高度,比如0.5。我还想在其他图表中突出显示相同的区域。
这是我所说的一个例子:
到目前为止,我找到的最好的方法是使用
否则,我可以标识一个结构中的一组区域并使用for循环将它们绘制出来。以下是我可能会使用的伪代码:
那么要绘制区域,我会这样做:
![enter image description here](https://istack.dev59.com/EmeTP.webp)
这是我所说的一个例子:
![enter image description here](https://istack.dev59.com/k9s4i.webp)
area
函数填充Matlab网格上的区域。但是,如果有人告诉我如何使它透明,并且如何填充多个区域而不必使用大量的area
命令就好了。否则,我可以标识一个结构中的一组区域并使用for循环将它们绘制出来。以下是我可能会使用的伪代码:
countstruct = 1;
for i = 1:length(yValue)
if (yValue(i) > 1)
outside = [outside, i]
else
areas(countstruct).outside = outside;
countstruct = countstruct + 1;
clear outside;
end
end
那么要绘制区域,我会这样做:
for i = 1:length(areas)
area(areas(i).outside, ones(length(area), 1)*14, "SomeThingToMakeItTransperant')
end
我需要对每个子图都做这件事情。显然,这很复杂,最好有一个简单的方法。有人能想到吗?