日付や時刻に対応した​時系列データを、軸目​盛りに日付や時刻を表​示したグラフにするに​はどうすればよいです​か?

조회 수: 39 (최근 30일)
MathWorks Support Team
MathWorks Support Team 2013년 10월 25일
편집: MathWorks Support Team 2024년 5월 30일
日付や時刻に対応した時系列データがあります。これを、軸目盛りに日付や時刻を表示したグラフにする方法を教えてください。

채택된 답변

MathWorks Support Team
MathWorks Support Team 2024년 5월 30일
편집: MathWorks Support Team 2024년 5월 30일
例えば、次の 1-3 の手順により、日付や時刻に対応した時系列データをグラフ表示することができます。
1. 時刻や日付をシリアル日付番号に変換
datenum関数を用いて、日付や時刻のデータをシリアル日付番号に変換します。
※ datenum関数で指定できる書式スタイルは、datestr関数のヘルプに記載されています。
※ MATLABにおけるシリアル日付番号とは、西暦0年1月1日を1とした経過日数です。小数を使用して時刻も表します。
2. グラフを表示
上記 1. で変換したシリアル日付番号を使用してplot関数などでグラフ表示を行います。
3. 軸ラベルの書式スタイルを変換
datetick関数を用いて、日付(時刻)に対応する軸の軸ラベルの書式スタイルを変更します。なお、datetick関数は、デフォルトでは軸の表示範囲や軸目盛りの位置も、自動で調整を行います。もし、軸範囲や軸目盛りの位置を変更したくない場合には、'keeplimits'(軸の表示範囲を保持)や'keepticks'(軸目盛りの位置を保持)のオプションをつけてdatetick関数を実行します。
※ datetick関数で指定可能な書式スタイルは、datetick関数のヘルプをご参照ください。
- 例1:日付に対応するデータのグラフ表示
% サンプルデータの定義
dates={'2006/04/01';'2006/05/01';'2006/06/01';'2006/07/01';
'2006/08/01';'2006/09/01';'2006/10/01';'2006/11/01';
'2006/12/01';'2007/01/01';'2007/02/01';'2007/03/01';};
x=rand(12,1);
% 日付文字列をシリアル日付番号に変換
dates_num = datenum(dates,'yyyy/mm/dd');
% グラフ表示
plot(dates_num,x)
xlim([dates_num(1),dates_num(end)]) % X軸範囲の指定
set(gca,'Xtick',dates_num(1:2:end)) % X軸の目盛り位置を指定
% X軸の目盛りラベルを日付書式に変更
datetick('x','yy/mm/dd','keeplimits','keepticks')
- 例2:時刻に対応するデータのグラフ表示
% サンプルデータの定義
times={'9:00';'10:00';'11:00';'12:00';
'13:00';'14:00';'15:00';'16:00';'17:00'};
x=rand(9,1);
% 日付文字列をシリアル日付番号に変換
times_num = datenum(times,'HH:MM');
% グラフ表示
area(times_num,x)
xlim([times_num(1),times_num(end)]) % X軸範囲の指定
set(gca,'Xtick',times_num) % X軸の目盛り位置を指定
% X軸の目盛りラベルを日付書式に変更
datetick('x','HH:MM','keeplimits','keepticks')
以下の URL にて関連情報をご覧いただけます。
・MATLAB ヘルプドキュメント:日付および時刻

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Axis Labels에 대해 자세히 알아보기

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!