2017-08-30 4 views
0

Ich versuche, eine Zeitreihendaten mit "Linie" -Typ zu plotten. aber es kommt nicht richtig raus. Ich habe dreizehn Variablen in einem einzigen Diagramm mit verschiedenen y-Achsenbereiche und datetime in x-Achse zu plotten.Mehrere Y-Achsen in einem R-Plot

> head(eg) 
       datetime  x1  x2  x3  x4  x5  x6 
24 2017-06-14 12:00:00 8446.755 7648.031 1111.6707 0.9045327 414.2691 11.778449 
25 2017-06-14 13:00:00 6295.053 5660.273 882.6834 0.7028812 415.9553 8.754347 
26 2017-06-14 14:00:00 6086.147 5498.443 833.2998 0.6438458 416.5267 8.459638 
27 2017-06-14 15:00:00 1850.083 1644.708 254.0441 0.2337391 416.7503 2.569269 
28 2017-06-14 16:00:00 5267.201 4773.258 768.3997 0.5249667 416.4483 7.320368 
29 2017-06-14 17:00:00 5907.030 5302.488 752.4784 0.6931478 409.5094 8.348385 
     x7  x8  x9  x10  x11  x12  x13 
24 50.00656 57990800 51.76610 1169.014 0.4784138 0.5478276 1.193828 
25 50.01681 57994800 51.92203 1199.004 0.4809830 0.6833898 1.174119 
26 49.99918 57999183 53.23167 1194.763 0.4223333 0.6339667 1.166983 
27 50.01026 58003118 53.97018 1068.251 0.3476316 0.2754211 1.260561 
28 50.00910 58007020 49.94800 1188.888 0.4477200 0.5084000 1.171740 
29 50.15805 58011111 46.86375 1144.759 0.3844375 0.5530125 1.131637 

, wenn ich einzelne Variable gegen x-Achse plotten, kommt es wie dieses

plot(eg$x1, x = eg$datetime, type = "l") 

pic1

Ich weiß, warum es Linienkurve zeigt, nicht wahr?

Danke.

Antwort

0

Was ist der Typ der Spalte datetime? Ich würde annehmen, dass es ein Faktor oder eine Zeichenfolge ist. R wird keine Linien mit kategorischen X-Achsen zeichnen. Sie können lubridate verwenden, um die datetime Werte in etwas zu verwandeln, die mehr schön Plots:

df <- data.frame(datetime= c("2017-06-14 12:00:00", "2017-06-14 13:00:00", 
"2017-06-14 14:00:00", "2017-06-14 15:00:00", "2017-06-14 16:00:00", 
"2017-06-14 17:00:00"), x1 = c(8446.755, 6295.053, 6086.147, 1850.083, 
5267.201, 5907.030)) 

library(lubridate) 

plot (df$datetime, df$x1, type="l") # does not work 
df$date <- ymd_hms(df$datetime) 
plot (df$date, df$x1, type="l") # works 
+0

danken you.I nicht den Klassentyp von Variablen haben überprüfen. –

+0

Wenn Sie nur 'base-R' verwenden möchten, können Sie' as.POSIXct' verwenden, um 'datetime' in ein Zeitformat zu formatieren und dann die Graphen zu" plotten " – smoff