MATLAB两个等高线图之间填充区域

5

我有两个轮廓图,希望能够从一个图像中的一个轮廓线填充到另一个图像中相同高度的轮廓线。

enter image description here

在这个图表中,你可以看到每种颜色有两条线 - 我想要填充这些线之间的区域,并使用与线相同的颜色(最好是半透明)。这些的代码如下。
test = repmat(repelem(0:6,2),10,1);
test1 = test(:,2:end-1);
test2 = test(:,1:end-2);
contour(test1,1:5);
hold on;
contour(test2,1:5);

我曾考虑过创建另一张图片,使每个箱子的高度达到所需高度,并进行某种contourf处理,但如果将来线条相交,这可能会成为一个问题,而它们很可能会相交。在这种情况下,我希望它们相交的区域是交叉的颜色的组合。


1
我已将其编辑为通用示例,任何人都应该能够复制 :) - user1153070
3
这里有几个类似的问题,例如这里这里这里这里(这是我在评论中能放下的全部)。这些方法都无法适用于你的情况吗? - beaker
1个回答

1
你尝试使用 ```fill``` 了吗?
% test values
col = 'g';
x1=[6 6 6];y1=[1 5 10]; x2= [7 7 7];

x2 = [x1, fliplr(x2)];
inBetween = [y1, fliplr(y1)];
fill(x2, inBetween, col);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接