Дата и время в Matlab на оси x - PullRequest
2 голосов
/ 01 сентября 2010

У меня есть текстовый файл как

20100318,1630,17.3600,17.3700,17.2900,17.3000,150408
20100318,1700,17.3000,17.3200,17.2700,17.3200,69629
20100318,1730,17.3100,17.3100,17.3100,17.3200,0
20100319,900,17.4000,17.5600,17.3500,17.5100,460691
20100319,930,17.5100,17.5400,17.4200,17.4200,143917

где первый и второй столбцы - это дата и время с запятыми в качестве разделителя столбцов.

Хотелось бы, чтобы дата и время были указаны на оси x без пробелов между 1730 (последняя запись каждого дня) и 900 (первая запись следующего дня).

1 Ответ

1 голос
/ 01 сентября 2010

Вот один из способов сделать это (при условии, что txt-файл называется test.txt):

data = csvread('test.txt');              %# read the txt file
plot(data(:,6));                         %# plot the data
date = num2str(data(:,1));               %# read date
time = num2str(data(:,2));               %# read time
dt = [date,repmat(' ',size(data,1),1),time]; %# combine date and time
set(gca,'xtick',1:size(data,1),'xticklabel',dt) %# set axes labels

Обратите внимание, что существуют более изящные способы создания строк даты и времени, и что вас может заинтересовать использование ROTATETICKLABELS из обмена файлами для лучшей видимости даты и времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...