datetick

Дата отформатировала метки в виде галочки

Для 2D графиков более удобно построить значения datetime с помощью функции plot. Можно затем отформатировать метки в виде галочки с помощью функций ytickformat и xtickformat. 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 может предшествовать любой из комбинаций входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

Данные о населении графика в течение 20-го Века, потраченного из 1 990 переписей США и оси 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)

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

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

Отобразите данные о количестве трафика на графике против меток деления даты в течение многих часов дня, показав 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)

Маркируйте строки метки деления оси Y графика с часами дня.

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-разрядными годами, сохранив пределы оси X при помощи опции 'keeplimits'.

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 = '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