【发布时间】:2012-11-23 22:04:06
【问题描述】:
我有一个如下所示的 matlab 图:
每个子图的 Y 值存储在一维数组中。我想做的是找到一个顶部图形高于某个高度的区域,例如 0.5。我还想在其他图表中突出显示相同的区域。
这是我所说的一个例子:
到目前为止,我能找到的最好的是函数area,它将填充 matlab 网格上的一个区域。但是,如果有人可以告诉我如何使其透明以及如何填充多个区域而无需执行大量区域命令,那就太好了。
否则我可以识别结构中的一组区域并使用 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
我会为每个子图这样做。显然这是相当复杂的,所以最好有一个衬里。谁能想到一个?
【问题讨论】:
-
你试过函数'patch()'吗?
-
谢谢@jerad 我没有,但我现在想通了。