2016-04-08 4 views
1

Ich habe einen Vektor von Zeitwerten im Format hh:mm sowie einen Vektor mit Werten, die Aktivitätsgrade darstellen.So zeichnen Sie einen Graph in MATLAB mit einem Vektor von Zeitwerten im Format hh: mm

Zum Beispiel:

x=[06:18, 07:58, 08:38, 09:18, 10:58]; 
y=[14, 28, 33, 68, 24]; 

Ist es möglich, eine grafische Darstellung der y vs. x in Matlab zum Plotten?

Wenn nicht, gibt es eine Möglichkeit, einen Vektor der EPOCH-Zeitwerte als Zeit im Format hh:mm in der Grafik anzuzeigen?

Zum Beispiel:

x= [1383260400, 1383261000, 1383261600, 1383262200, 1383262800]; 
y=[14, 28, 33, 68, 24]; 

Vielen Dank im Voraus für Ihre Hilfe

Antwort

2

Sie auch die TickLabels ändern könnte. Dies erfordert keine Zeitreihen

time={'06:18', '07:58', '08:38', '09:18', '10:58'}; 
data=[14, 28, 33, 68, 24]; 
plot(data) 
set(gca,'XTickLabel', time) 

enter image description here

+0

Danke! Das ist eigentlich besser geeignet für das, was ich mache – Ezekiel

3

Dieser den Trick tun soll:

time={'06:18', '07:58', '08:38', '09:18', '10:58'}; 
data=[14, 28, 33, 68, 24]; 
ts = timeseries(data,time); 
ts.TimeInfo.Format = 'HH:MM'; 
ts.TimeInfo.StartDate = '00:00'; 
plot(ts) 

Die Zeitstempel müssen in einem Zellenfeld sein und abgesehen davon, dass es sollte ziemlich selbsterklärend sein.

Wenn Sie mehr Zeilen in der gleichen Parzelle zum Plotten und die gleichen Zeitstempel verwenden nur eine Matrix anstelle eines Vektors für die Daten würden:

data=[14, 28, 33, 68, 24; 7, 14, 35, 34, 12]; 
+0

Es funktioniert Objekt! Vielen Dank ... Ich schätze es wirklich. – Ezekiel

+0

@Ezekiel Gern geschehen! –

+0

Hey, wenn ich mehr als eine Linie auf der gleichen Achse zeichnen wollte, wie würde ich das tun? – Ezekiel

Verwandte Themen