2014-01-18 44 views
0

我有一堆時間索引數據,我必須用MATLAB進行繪圖。在MATLAB中繪製格式爲「hh:mm:ss」的時間?

時的當前格式如下

23:55:42,-147928.686833054 
23:55:43,-147928.404621219 
23:55:44,-147928.219419702 
23:55:45,-147928.395802099 
23:55:46,-147928.492812417 
23:55:47,-147928.413440339 
23:55:48,-147928.386982979 

我只想繪製第二列中的值,對第一列,時間。

我當然可以把第一個時間點看作0,然後把下一個看作1,...,等等。但是,我希望堅持原來的時機。

我該如何處理這種類型的時間?

回答

0

繪圖後嘗試屬性「XTickLabel」。

您可以與您的數據串的電池使用它:

plot(second-column-values) 
Times={'23:55:42','23:55:43',...}  
set(gca,'XTickLabel',Times) 
+0

這將不保留的時間間隔。 –

+0

你說得對。不知道你的答案中的選項。更好,如果工作:) – Adiel

2

使用datenum轉換的時間值。以通常的方式創建一個X-Y圖。並與

datetick('x', 13) 

要求時間格式的標籤,例如:

plot(datenum(a(:,1)), a(:,2)); 
datetick('x', 13) 
+0

我不能對我的x值執行datenum,誰是1 * 34267單元格。我應該將它轉換爲數組然後datenum它嗎? –

+0

@FarticlePilter:嘗試'cellfun(@datenum,x)' –

+0

datenum('1:59:58','HH:MM:SS')和datenum('21:59:58','HH:MM:SS ')都返回我7.3560e + 05,這顯然是不正確的。 –

相關問題