2016-05-25 11 views
1

私は12の時点のデータを持っていますy1=[.61 .52 .45 .75 .76 .79 .82 .6 .66 .54 .43 .21];私はこれを線図としてプロットし、時点7と8で2本の垂直線を引いてこれらの2つの線の間の領域をシェードします。この陰影の付いた領域は、まだ線を表示できるほど透明でなければなりません。私はまた、陰影のある領域=重要な期間を示すための伝説、またはその行の下の領域内に書かれた「重要な期間」を有することを望むだろう。このanswerから、私は試してみた:2つの垂直線の間の陰影領域

y1=[.61 .52 .45 .75 .76 .79 .82 .6 .66 .54 .43 .21]; 
N=size(y1,2); 
sky_blue = [0, 0, 1] ; 
x=1:N;   
plot([1:N]', y1, 'linewidth', 2.8, 'linestyle', '-', 'color', sky_blue); 
hold on 
x1=7; 
x2=8; 
y2=get(gca,'ylim');  
plot([x1 x1],y2) 
plot([x2 x2],y2)  
h1 = fill(x1,x2,'b','EdgeColor','none'); 

問題は、物事は私は2つのライン間の陰影を得ることができないとの最後の行まで大丈夫であるということです。誰も助けることができますか?

+1

実際のコードを追加して、試したことを示すことができますか? –

+0

'fill()'関数は、厳密に時計回りまたは反時計回りの方法で曲線または線の間に影を付ける領域のポリゴンを形成するすべての頂点を必要とするという明示的な表現ではないことに同意します。 –

答えて

0

あなたはそれを持っていますほぼ右!単に次のコードの最後の行を変更:

h1 = fill([x1 x1 x2 x2], [y2 fliplr(y2)], 'b','EdgeColor','none'); 

fill()機能のいずれか時計回りまたは中に色を埋めるために入力として領域(ポリゴン)の角部(頂点)のx座標とy座標を取り反時計回りのファッション(ポリゴンを閉じる必要はありません(fillはあなたのために閉じることができます))。

ここでは、左下の頂点から時計回りに2つの線で囲まれたポリゴンの4つの頂点のベクトル配列を渡しました。注:fliplr()関数は、1x2列ベクトルy2を左から右に反転します。

+0

ありがとう、太平洋Stickler! –

関連する問題