Ich versuche, ein Diagramm mit mehreren Zeilen mit ggplot in R zu plotten. Dies sollte ziemlich einfach sein, aber ich kann nicht scheinen, erfolgreich zu sein.Plotten mehrerer Linien in ggplot, x-Achse wiederholt
Mein Datenrahmen ist wie folgt:
> head(PPP)
date P pp HP
1 28.07.2011 38.88 38.88000 40.824
2 29.07.2011 39.14 39.14000 40.824
3 01.08.2011 38.29 38.83005 40.824
4 02.08.2011 39.07 39.07480 40.824
5 03.08.2011 40.75 39.71282 40.824
6 04.08.2011 38.40 38.94552 40.824
ich diese Daten dann schmilzt die Schmelze() Funktion des Paket „reshape2“ mit:
> meltPPP<-melt(PPP,id="date")
Die Ergebnisse sehen wie folgt aus (zu bemerkt, enthält die Spalte „Datum“ Wiederholungen nun der Werte):
> head(meltPPP)
date variable value
1 28.07.2011 P 38.88
2 29.07.2011 P 39.14
3 01.08.2011 P 38.29
4 02.08.2011 P 39.07
5 03.08.2011 P 40.75
6 04.08.2011 P 38.40
Mein Ziel auf der x zu haben ist -Achse die Werte für "Datum" und auf der Y-Achse des Diagramms 3 Zeilen: "P", "pp" und "HP". Ich habe dann den folgenden Code zu versuchen, das Diagramm zu zeichnen:
> h<-ggplot(meltPPP,aes(date,value,group=variable,colour=variable))
> h+geom_line()
Es scheint jedoch, dass R nicht versteht, dass die Werte in „Datum“ werden nicht wiederholt werden. Das Ergebnis ist:
Es scheint mir, dass die gleiche Grafik wiederholt und immer und immer wieder gequetscht. Dies liegt wahrscheinlich an der Tatsache, dass R nicht versteht, dass die "Datum" -Werte einzigartig sind.
Wie kann ich das beheben?
Vielen Dank im Voraus!
Sie können das 'lubridate' Paket die Daten oder die in der Basis R konvertieren, können Sie' as.POSIXct' auf einen Typ zu konvertieren, die funktionieren sollte. Zum Beispiel könnten Sie ein Datum wie 'as.POSIXct (' 2016-04-04 12:34:56 ') 'oder'' lubridate' wie dieses 'library (lubridate)' und 'ymd_hms ('2016-04 -04 12:34:56 ') '. – steveb
Beachten Sie, dass Ihre Daten in einem anderen Format vorliegen, wenn Sie 'lubridate' verwenden, müssen Sie möglicherweise die Funktion' dmy' verwenden. – steveb