2015-01-09 184 views
1

我繪製了1小時的數據。我的時間軸現在是數形式將數字格式轉換爲matlab中的時間格式

1,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0 

我想將其更改爲時間格式像

8:00,8:15,8:30,8:45,9:00 

在那裏我可以定義開始時間,結束時間和間隔時間。

我試過使用datetickdatenum但它不適合我。我的時間數據是一個具有60000個元素(大小1 * 6000)的矢量,而我的其他測量矢量也具有相同的大小。

回答

3

爲了最大程度的控制,你可以自己動手完成它:

% Plot data 
hours = linspace(0, 2, 6000); % time base for plot 
data = randn(size(hours)); % data for plot 
plot(hours, data) 

% Compute tick positions 
tickPos = min(hours) : 0.25 : max(hours);     % every quarter hour from start to finish 
timeZero = datenum(2015, 01, 09, 08, 00, 00);    % measure from 8:00 this morning 
timeStamps = timeZero + tickPos/24;       % datenum returns a value in units of days, so divide tickPos by 24 to convert from hours to days 
timeStampStrings = cellstr(datestr(timeStamps, 'HH:MM')); % or whatever format seems best 
set(gca, 'xlim', hours([ 1 end ]), 'xtick', tickPos, 'xticklabel', timeStampStrings) 

...但使用datetick正確的方法是,以確保該地塊的x軸是datenum單位:

plot(timeZero + hours/24, data) 
datetick('x', 'HH:MM')