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

Примеры

свернуть все

Данные о населении графика в течение 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')

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

свернуть все

Ось, чтобы пометить датами в виде '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

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

MD

dddd

День с помощью полного имени

Monday, Tuesday

ddd

День с помощью сначала три буквы

Mon, Tue

dd

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

05, 20

d

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

MT

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