exponenta event banner

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. axes_handle аргумент может предшествовать любой из комбинаций входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

График Данные о населении для XX века взяты из переписи 1990 года в США и метка х-оси клещи с 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 приемы отличаются от идентификаторов, используемых 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