2017-08-05 19 views
1

私はMATLABでEEG時系列をプロットしています。ベクトルは4097 * 1です。記録された信号の持続時間は23秒です。 MATLABプロット関数は、振幅をy軸に、サンプル数をx軸にプロットしています。しかし、私はx軸に5秒の倍数で時間が必要です。図はx軸に時間と共に示されている(論文から参照)。 私は 'xticks'を使って次のコードを試しましたが、x軸は同じままです。MATLAB時系列プロットxticks

hFig = figure; 
hAx = gca; 
ts = 0:length(d); % the data time series 
stairs(ts(2:end), d, 'LineWidth', 2); 
xticks ([0 5 10 15 20 25 30]) 
hAx.XLabel.String = 'Time (Seconds)'; 

enter image description here

私はあなたのサポートに感謝します。ありがとうございました。

+0

'xticks'関数を使うとどうしますか? –

+0

'set(gca、 'XTick'、0:5:30)はどうですか? –

+0

xチックを選択するだけではなく、軸のスケーリングが正しくありません。おそらく、@SardarUsamaがOPの望み通りに正確な目盛りを付けるために、私の解決策を実行した後に追加できると言いました。 – crazyGamer

答えて

1

あなたのX軸を正しく調整してください。次のように試してみてください:

hFig = figure; 
hAx = gca; 
ts = 0:length(d)-1; % the X axis of data time series 
% Scale the X-axis to 23 seconds 
ts = ts * (23/length(d)); 
stairs(ts, d, 'LineWidth', 2); 
hAx.XLabel.String = 'Time (Seconds)'; 

今、X軸はサンプル数に等しい整数の単純なリストです。上記のように正しくスケーリングすると、現実的なX軸が得られます。

関連する問題