2016-08-03 90 views
1

我需要遮蔽垂直线条区域之间的一个MATLAB绘图垂直线区域。 我需要遮蔽由BLACK曲线,红色,蓝色& GREEN Lines所包围的部分。遮蔽一个垂直条带在一个MATLAB阴谋区域

enter image description here

我试图从Here

如果需要对图中的数据的例子,请让我知道我会上传。

+2

您尝试的例子。在这样做的时候你做了什么?输出结果如何?请显示你的尝试。是的,样本数据表示赞赏,请查看[mcve]。 –

+0

你想遮蔽黑色曲线上方或下方的图形部分吗? – BillBokeey

+0

此外,您在您的帖子中引用的示例中包含所需的全部内容。只要你没有显示你所尝试的以及确切的问题在哪里,这应该作为一个重复被关闭 – BillBokeey

回答

0

虽然不是你是什么后,(您需要为您的各条线的公式)这样的事情应该工作

x = -5:0.1:5; 
y = sqrt(abs(x)); 
figure 
hold on 
fill([2, 4, 4, 2], [0, 0, 2, 2], 'g') 
plot(x,y) 

enter image description here

fill文档

填充(X,Y,C)用由C指定的颜色填充由矢量X和Y定义的2-D多边形。多边形的顶点 由X和Y的成对成分指定。如有必要, 通过将最后一个顶点连接到第一个顶点来关闭多边形。

2

我认为这是你在找什么:

% some arbitrary data 
x = -10:0.1:10; 
y = abs(x).^0.5; 
xleft = 0.5; 
xright = 4; 
fillStart = find(x>=0.5,1); 
fillEnd = find(x>=4,1); 
top = 2.5; 
% plotting the lines 
plot(x,y,'k',... 
    x,ones(1,length(x))*top,'r',... 
    ones(1,length(y)).*xleft,y,'g',... 
    ones(1,length(y)).*xright,y,'b') 
hold on 
% filling the area 
area(x(fillStart:fillEnd),y(fillStart:fillEnd),top, ... 
    'EdgeColor', 'none', 'FaceColor', [0.5 0.5 0.5],'ShowBaseLine','off') 
hold off 

其中创建此:

fill area