0

matlab では、accumarray() を使用して、3 列の整数を持つ新しいベクトルを作成しました。列 1: 日付 (日付のみ); 列 2: 時間。列 3: サンプル値。

19.0000    9.0000   25.6937
19.0000   10.0000   30.2616
19.0000   11.0000   32.2840
19.0000   12.0000   28.4867
19.0000   14.0000   35.4055
19.0000   16.0000   48.3377

現在、グラフをプロットするための私のコードには次のものが含まれます。

xdate = datenum(year,month,day,hourVector,minutes,seconds);

plot(xdate,sampleValue,'-x','MarkerSize',10)

datetick('x','ddd HHPM')

x 軸に 1 時間 (または 2 時間) ごとにラベルを付ける方法を見つけるのに苦労しています。ありがとう

4

1 に答える 1

1

データ間隔とは関係なく、x ティックを 1 時間間隔で配置したいだけだと思いますか? あなたの例から、必ずしも1時間に1回データポイントがあるとは思いません。

私の理解が正しければ、置き換えてみてください

datetick('x','ddd HHPM')

次のように:

hr_step = 0.0417; % increasing datenum by this amount will advance date by 1 hour
tick_xdate = min(xdate):hr_step:max(xdate);
set(gca,'XTick',tick_xdate)
datetick('x','ddd HHPM','keepticks') % 'keepticks' option forces the use of tick_xdate
于 2015-01-09T06:46:55.920 に答える