Main Content

datetick

日付を書式化した目盛りラベルを付ける

説明

メモ

目的のプロット関数を使用して datetime 値をプロットした方が便利な場合がよくあります。その後、関数 xtickformatytickformat を使用して目盛りラベルを書式設定できます。datetick は、シリアル日付値である数値をプロットする場合に役立ちます。

datetick(tickaxis) は、既定の数値ラベルの代わりに、日付を使って tickaxis で指定された軸の目盛りにラベルを付けます。datetick は、指定された軸の最小範囲と最大範囲を基にラベルの書式を選択します。軸データ値は、関数 datenum によって返される戻り値と同様にシリアル日付値にする必要があります。

datetick(tickaxis,dateFormat) は、dateFormat に従ってラベルを書式設定します。

datetick(___,'keeplimits') は、軸の範囲を保持しながら、目盛りラベルを日付ベース ラベルに変更します。前述の構文のいずれかに 'keeplimits' を追加します。

datetick(___,'keepticks') は、ラベルの位置を保持しながら、目盛りラベルを日付ベース ラベルに変更します。前述の構文のいずれかに 'keepticks' を追加します。

datetick(axes_handle,___) は、axes_handle で指定された軸の目盛りにラベルを付けます。axes_handle 引数は、前述の構文のすべての入力引数の組み合わせの前で指定できます。

すべて折りたたむ

1990 年のアメリカ合衆国の国勢調査を基に、20 世紀の人口データをグラフ化し、x 軸の目盛りに 2 桁の年のラベルを付けます。

10 年単位の時間データを作成します。

t = (1900:10:1990)';

米国の総人口を入力します。

p = [75.995 91.972 105.711 123.203 131.669 ...
	150.697 179.323 203.212 226.505 249.633]';

関数 datenum を使用して年をシリアル日付値に変換してから、データの棒グラフを作成します。

figure
bar(datenum(t,1,1),p)

Figure contains an axes object. The axes object contains an object of type bar.

x 軸の目盛りを 2 桁の年に置き換えます。数値識別子 11 は、事前定義された MATLAB® 日付形式 'yy' に対応します。

dateFormat = 11;
datetick('x',dateFormat)

Figure contains an axes object. The axes object contains an object of type bar.

AM/PM 表示した 1 日の時間での、日付目盛りに対する交通量の調査データをプロットします。

交通量のデータを取得します。

load count.dat

任意の日付 (1995 年 4 月 18 日など) の配列を作成します。

n = length(count);
year = repmat(1995,1,n);
month = repmat(4,1,n);
day = repmat(18,1,n);

24 時間の各時間の配列を作成します。

hour = 1:n;
minutes = zeros(1,n);

日付配列のシリアル日付値を取得します。

sdate = datenum(year,month,day,hour,minutes,minutes);

シリアル日付値に対する交通量データの 3 次元棒グラフをプロットします。

bar3(sdate,count)

Figure contains an axes object. The axes object contains 3 objects of type surface.

グラフの y 軸の目盛りに 1 日の時刻のラベルを付けます。

datetick('y','HHPM')

Figure contains an axes object. The axes object contains 3 objects of type surface.

開始日を選択します。

startDate = datenum('02-01-1962');

終了日を選択します。

endDate = datenum('11-15-2012');

開始日と終了日の間の年数に対応する変数 xdata を作成します。

xData = linspace(startDate,endDate,50);

乱数データをプロットします。

figure
stem(xData,rand(1,50))

Figure contains an axes object. The axes object contains an object of type stem.

x 軸に 4 桁の年のラベルを付け、'keeplimits' オプションを使用して x 軸の範囲を保持します。

datetick('x','yyyy','keeplimits')

Figure contains an axes object. The axes object contains an object of type stem.

開始日を選択します。

startDate = datenum('01-01-2009');

終了日を選択します。

endDate = datenum('12-31-2009');

開始日と終了日の間の月数に対応する変数 xdata を作成します。

xData = linspace(startDate,endDate,12);

乱数データをプロットします。

figure
stairs(xData,rand(1,12))

Figure contains an axes object. The axes object contains an object of type stair.

XTicks の数を xData 内の点の数に設定します。

ax = gca;
ax.XTick = xData;

Figure contains an axes object. The axes object contains an object of type stair.

x 軸に月名のラベルを付け、'keepticks' オプションを使用して目盛りの合計数を保持します。

datetick('x','mmm','keepticks')

Figure contains an axes object. The axes object contains an object of type stair.

入力引数

すべて折りたたむ

日付のラベルを付ける軸。'x''y' または 'z' として指定します。

目盛りラベルの形式。シンボリック識別子の文字ベクトル、または事前定義された形式に対応する整数として指定します。

次の表では、形式を構成するために使用できるシンボリック識別子を説明します。フィールドを区切るためのハイフン、スペース、コロンなどを含めることができます。たとえば、月間通算日と、その後にかっこで囲んだ曜日の 3 文字の省略形を表示するには、dateFormat = 'dd (ddd)' を使用します。

メモ

datetick が受け入れる文字識別子は、関数 datetime が使用する識別子とは異なります。

シンボリック識別子

説明

yyyy

4 桁表記の年

1990, 2002

yy

2 桁表記の年

90, 02

QQ

文字 Q と 1 桁で表記する四半期

Q1

mmmm

フル ネームで表記する月

March, December

mmm

最初の 3 文字で表記する月

Mar, Dec

mm

2 桁表記の月

03, 12

m

大文字の頭文字で表記する月

M, D

dddd

フル ネームで表記する曜日

Monday, Tuesday

ddd

最初の 3 文字で表記する曜日

Mon, Tue

dd

2 桁表記の日

05, 20

d

大文字の頭文字で表記する曜日

M, T

HH

2 桁表記の時間
(シンボリック識別子 AM または PM が使用される場合は先頭の 0 なし)

05, 5 AM

MM

2 桁表記の分

12, 02

SS

2 桁表記の秒

07, 59

FFF

3 桁表記のミリ秒

057

AM or PM

時刻を表すテキストに挿入される AM または PM

3:45:02 PM

次の表は、事前定義された MATLAB® 日付形式を示します。

数値識別子

日付と時刻の形式

-1 (既定)

'HH:MM:SS'= 00:00:00 の場合は 'dd-mmm-yyyy HH:MM:SS' または 'dd-mmm-yyyy'

01-Mar-2000 15:45:17 または 01-Mar-2000

0

'dd-mmm-yyyy HH:MM:SS'

01-Mar-2000 15:45:17

1

'dd-mmm-yyyy'

01-Mar-2000

2

'mm/dd/yy'

03/01/00

3

'mmm'

Mar

4

'm'

M

5

'mm'

03

6

'mm/dd'

03/01

7

'dd'

01

8

'ddd'

Wed

9

'd'

W

10

'yyyy'

2000

11

'yy'

00

12

'mmmyy'

Mar00

13

'HH:MM:SS'

15:45:17

14

'HH:MM:SS PM'

3:45:17 PM

15

'HH:MM'

15:45

16

'HH:MM PM'

3:45 PM

17

'QQ-YY'

Q1-01

18

'QQ'

Q1

19

'dd/mm'

01/03

20

'dd/mm/yy'

01/03/00

21

'mmm.dd,yyyy HH:MM:SS'

Mar.01,2000 15:45:17

22

'mmm.dd,yyyy'

Mar.01,2000

23

'mm/dd/yyyy'

03/01/2000

24

'dd/mm/yyyy'

01/03/2000

25

'yy/mm/dd'

00/03/01

26

'yyyy/mm/dd'

2000/03/01

27

'QQ-YYYY'

Q1-2001

28

'mmmyyyy'

Mar2000

29

'yyyy-mm-dd'
(ISO 8601)

2000-03-01

30

'yyyymmddTHHMMSS'
(ISO 8601)

20000301T154517

31

'yyyy-mm-dd HH:MM:SS'

2000-03-01 15:45:17

ヒント

  • 目盛りの間隔および位置を変更するには、関数 datetick を呼び出す前に、該当する座標軸のプロパティ (すなわち、XTickYTick または ZTick) を設定します。

  • 関数 datetick を呼び出すと、指定した軸の TickMode'manual' に設定されます。つまり、ズーム、パン、または軸の範囲を変更した後に、関数 datetick を再度呼び出し、目盛りとラベルを更新する必要があります。

  • MATLAB で日付および時刻を操作する最良の方法は、シリアル日付値よりも多くの機能をもつ datetime 値を使用することです。datetime 値をプロットするには、関数 plot を使用します。座標軸の目盛りラベルの形式を変更するには、名前と値のペアの引数 DatetimeTickFormat を使用します。

アルゴリズム

datetick は、日付値をテキストに変換するために、関数 datestr を呼び出します。

バージョン履歴

R2006a より前に導入