2015-11-08 66 views
0

我想繪製一個timeseries,它使用一個字符串的單元數組來代表每隔10秒用一個樣本進行一小時的測量。下面是我用它來繪製此數據的代碼:繪製時間序列時出現意外的日期MATLAB

Voltages=[230.1,235.1,.......237]; 
Time={'13:00:10','13:00:20', '13:00:30'........'14:00:00'}; 

t=timeseries(Voltages, Time); % Using timeseries function in MATLAB 

plot(t); 

我還加出上下電壓極限兩條直線,這裏是圖表,我得到:

What I currently have

正如你可最終的結果看到一個意想不到的日期顯示在x軸上...

我想要做下列之一:

  1. 從x軸完全刪除日期。
  2. 使用日期字符串06.05.2015我有一個變量,添加這個日期而不是2015年1月1日的意外日期。
  3. 從x軸刪除意外的日期,然後在文本框中添加06.05.2015。

回答

0

timeseries class文檔:

ts = timeseries(data,time)函數使用指定的數據和時間的時間序列的對象。

其中上述time是所定義further down on the same documentation page「時間載體」:

時間向量
一個時間序列對象的時間向量可以是數值(雙)值或有效MATLAB日期字符串。

當時間序列TimeInfo.StartDate屬性爲空時,數值時間值是以指定單位相對於0(或另一個數值)測量的。在這種情況下,時間向量被描述爲相對的(即它包含與特定開始日期無關的時間值)。

繪製timeseries之前,嘗試設置TimeInfo.StartDate什麼,你需要它,如下面的例子:

Time = ['13:00:10';'13:00:20';'13:00:30']; 
Data = [1 2.5 3]; 
start_date = '06.05.2015'; %// What you specified 

ts = timeseries(Data,Time); 
%// Since a date format separated with dots isn't supported in MATLAB, we replace . =>/
ts.TimeInfo.StartDate = strrep(start_date,'.','/'); 

plot(ts) 

導致:

result of the above plot