【问题标题】:MATLAB Fill area between two contour plotsMATLAB 填充两个等高线图之间的区域
【发布时间】:2017-11-17 09:50:12
【问题描述】:

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

在图中,您可以看到每种颜色的两条线 - 这些是我想要填充的线,与线的颜色相同(尽管最好是半透明的)。这些代码如下

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);

我确实认为也许我可以创建另一个图像,在每个 bin 处具有所需的高度并执行某种contourf,但如果将来这些线交叉,这可能会成为问题,他们可能会这样做。在这种情况下,我希望它们交叉的区域是交叉颜色的组合。

【问题讨论】:

标签: matlab matlab-figure contour fill


【解决方案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);

【讨论】: