ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

datetick

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

関数 datetick は、既定のラベルの代わりに、日付を使用したラベルを座標軸の目盛りに付けます。datetick は、プロットする数値がシリアル日付値である場合に便利です。

2 次元のライン プロットや散布図の場合、関数 plot を使用して datetime 値をプロットするとさらに便利です。名前と値のペアの引数 DatetimeTickFormat を使用して、目盛りラベルの形式を指定します。このような datetime 値のプロットにラベルを付けるために、datetick を使用する必要はありません。

構文

  • datetick(tickaxis)
  • datetick(tickaxis,dateFormat)
  • datetick(___,'keeplimits')
  • datetick(___,'keepticks')
  • datetick(axes_handle,___)

説明

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)

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

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

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)

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

datetick('y','HHPM')

開始日を選択します。

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

終了日を選択します。

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

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

xData = linspace(startDate,endDate,50);

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

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

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

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

開始日を選択します。

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

終了日を選択します。

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

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

xData = linspace(startDate,endDate,12);

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

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

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

ax = gca;
ax.XTick = xData;

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

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

開始日と終了日を選択します。

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

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

xData = linspace(startDate,endDate,12);

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

ax1 = subplot(2,1,1);
bar(xData,rand(1,12))
ax2 = subplot(2,1,2);
bar(xData,rand(1,12))

XTicks の数を xData 内の点の数に設定します。サブプロットの軸ハンドルを使用して各サブプロットを参照し、各サブプロットの x 軸に月名のラベルを付けます。'keepticks' オプションを使用して目盛りの合計数を保持します。R2014b から、プロパティの設定にドット表記を使用できるようになりました。それより前のリリースを使用している場合は、代わりに関数setを使用してください。

ax1.XTick = xData;
datetick(ax1,'x','mm','keepticks')

ax2.XTick = xData;
datetick(ax2,'x','mmm','keepticks')

入力引数

すべて折りたたむ

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

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

次の表では、文字列 dateFormat を構成するために使用できるシンボリック識別子を説明します。フィールドを区切るためのハイフン、スペース、コロンなどを含めることができます。たとえば、月間通算日とその後ろに 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 (既定)

'dd-mmm-yyyy HH:MM:SS' または 'HH:MM:SS'= 00:00:00 の場合は '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 より前に導入

この情報は役に立ちましたか?