2016-08-03 109 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