datetick

Форматированные метки такта даты

Описание

Примечание

Часто удобнее строить графики datetime значения с использованием желаемой функции построения графика. Затем вы можете форматировать метки такта с помощью xtickformat и ytickformat функций. datetick полезно при построении графика числовых значений, которые являются серийными номерами дат.

datetick(tickaxis) помечает делительные линии оси, заданные как tickaxis использование дат, замена числовых меток по умолчанию. datetick выбирает формат метки на основе минимальных и максимальных пределов заданной оси. Значениями данных о оси должны быть серийные номера дат, возвращенные datenum функция.

пример

datetick(tickaxis,dateFormat) форматирует метки согласно dateFormat.

пример

datetick(___,'keeplimits') изменяет метки такта на метки на основе дат при сохранении пределов по осям. Добавление 'keeplimits' любому из предыдущих синтаксисов.

пример

datetick(___,'keepticks') изменяет метки такта на метки на основе дат при сохранении их местоположений. Добавление 'keepticks' любому из предыдущих синтаксисов.

datetick(axes_handle,___) помечает делительные линии оси на осях, заданных как axes_handle. The axes_handle аргумент может предшествовать любой комбинации входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

Данные о населении графика для XX века взяты из переписи 1990 года и маркируют ось X тактов 2-значными годами.

Создавайте данные о времени по десятилетиям.

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. The axes contains an object of type bar.

Замените такты оси X на 2-значные годы. Числовой идентификатор 11 соответствует предопределенному формату даты MATLAB ® 'yy'.

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

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

Постройте график счетчика трафика с данных по дате тактов для часов дня, показывая AM и PM.

Получите данные счетчика трафика.

load count.dat

Создайте массивы для произвольной даты, например, 18 апреля 1995 года.

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-D гистограммы данных трафика относительно серийных номеров дат.

bar3(sdate,count)

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

Пометьте делительные линии оси Y графика часами дня.

datetick('y','HHPM')

Figure contains an axes. The axes 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. The axes contains an object of type stem.

Пометьте ось X 4-значными годами, сохраняя пределы оси X при помощи 'keeplimits' опция.

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

Figure contains an axes. The axes 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. The axes contains an object of type stair.

Установите количество XTicks к числу точек в xData.

ax = gca;
ax.XTick = xData;

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

Пометьте ось X именами месяцев, сохранив общее количество тактов при помощи 'keepticks' опция.

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

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

Входные параметры

свернуть все

Ось для маркировки датами, заданная как 'x', 'y', или 'z'.

Формат меток такта линии, заданный как вектор символов символьных идентификаторов или целое число, соответствующее предопределенному формату.

В следующей таблице показаны символические идентификаторы, которые можно использовать для создания формата. Можно включать такие символы, как дефис, пространство или двоеточие, чтобы разделить поля. Например, чтобы отобразить день месяца, за которым следует трехбуквенное сокращение дня недели в круглых скобках, используйте dateFormat = 'dd (ddd)'.

Примечание

Идентификаторы букв, которые datetick accepts отличаются от идентификаторов, используемых в datetime функция.

Символьный идентификатор

Описание

Пример

yyyy

Год в полном объеме

1990, 2002

yy

Год в двух цифрах

90, 02

QQ

Квартальный год с использованием буквенных Q и одну цифру

Q1

mmmm

Месяц с использованием полного имени

March, December

mmm

Месяц с использованием первых трех букв

Mar, Dec

mm

Месяц в двух цифрах

03, 12

m

Месяц с использованием заглавной первой буквы

M, D

dddd

День с использованием полного имени

Monday, Tuesday

ddd

День с использованием первых трех букв

Mon, Tue

dd

День в двух цифрах

05, 20

d

День с использованием заглавной первой буквы

M, T

HH

Час в двух цифрах
(отсутствие начальных нулей при символьном идентификаторе AM или PM используется)

05, 5 AM

MM

Минута двумя цифрами

12, 02

SS

Вторая в двух цифрах

07, 59

FFF

Миллисекунда в трех цифрах

057

AM or PM

AM или PM вставляется в текст, представляющий время

3:45:02 PM

В следующей таблице перечислены предопределенные MATLAB® форматы дат.

Числовой идентификатор

Формат даты и времени

Пример

-1 (по умолчанию)

'dd-mmm-yyyy HH:MM:SS' или 'dd-mmm-yyyy' если 'HH:MM:SS'= 00:00:00

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

Совет

  • Чтобы изменить интервалы и местоположения тактов, установите соответствующее свойство осей (то есть XTick, YTick, или ZTick) перед вызовом datetick.

  • Вызов datetick устанавливает TickMode заданной оси, для 'manual'. Это означает, что после масштабирования, панорамирования или другого изменения пределов по осям, вы должны вызвать datetick еще раз, чтобы обновить метки и такты.

  • Лучший способ работать с датами и временами в MATLAB - использовать datetime значения, которые предлагают больше функций, чем серийные номера дат. График datetime значений с использованием plot функция. Используйте DatetimeTickFormat аргумент пары "имя-значение" для изменения формата меток деления на оси.

Алгоритмы

datetick вызывает datestr функция для преобразования номеров дат в текст.

Представлено до R2006a