2012-03-19 27 views
0

MATLABの2次元プロットにいくつかの1次元データをプロットしようとしています。MATLAB:1次元データを2次元プロットにプロットする

基本的には、波形出力があり、関連するデータポイントに垂直線を重ねることができます。現時点では、私は次のコードで私の既存の図の上にプロットしています:

plot(velocityPeaks(:,1), 0, 'r.'); 

これは「velocityPeaks」の値が含まれていることの位置のそれぞれについて、Y = 0で赤点を生成します。私はこれを、グラフ全体をカットする垂直の赤い線として持つことを望んでいます。ここに私の現在の出力です:

enter image description here

これらの赤い点は - 現時点で、私は彼らが関係を正確に知るために、コンピュータの画面に対して定規を使用する必要があります。理想的な解決策ではありません!

+1

あなたは 'stem'と考えましたか? –

+0

Secondly @ OliCharlesworthの提案: 'stem(velocityPeaks(:、1)、velocityPeaks(:、2))' – Jonas

答えて

2

これは動作するはず:

plot(velocityPeaks(:,[1 1]) , ylim,'r-') 

これは既にプロットに含まれるY限界でvelocityPeaks(:,1)の位置で垂直線の系列をプロットします。

plot(velocityPeaks(:,[1 1]) , [4 9],'r-') 
-2

多分図のdata cursor iconを使用し、赤い点をクリックしてその座標を取得することができます。

0

これは、あなたが望んで正確ではありませんが、私はこのような何かをするたびに私は、ピークの場所で、元の波形の上に円を描くのが好き:限界を自分で指定するには、例えば、使用しています。だからこのような何か(元の波形はvelocityと仮定します):

velocityPeakValues = velocity(velocityPeaks); 
plot(velocityPeaks(:,1), velocityPeakValues(:,1), 'ro'); 
関連する問題