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

时间:2017-06-15 04:07:53

标签: matlab matlab-figure contour fill

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

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 个答案:

答案 0 :(得分: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);