Winddaten mit ggplot

Wie erstelle ich Grafiken, was ist zu beachten?

Moderatoren: EDi, jogo

Antworten
Ilonia
Beiträge: 30
Registriert: Mi Aug 09, 2017 3:50 pm

Winddaten mit ggplot

Beitrag von Ilonia »

Hallo zusammen!

Ich bräuchte mal wieder eure Hilfe.

Ich habe einen Datensatz mit Winddaten (2-Stundenwerte, Windrichtung und Windgeschwindigkeit), den ich gerne mit ggplot plotten will.

Ich habe die Daten sonst immer mit der Funktion "Wind-Barb" (https://stackoverflow.com/questions/327 ... -barb-in-r mir anzeigen lassen, aber bei vielen Daten wird das für mich irgendwann unübersichtlich.
Jetzt habe ich gesehen, es gibt in ggplot mit geom_segment die Möglichkeit sich Pfeile anzeigen zu lassen. Mein Ziel ist es, die Länge der Pfeile abhängig der Windgeschwindigkeit zumachen. Am besten in 5er Schritten, also alles unter 5 soll eine Länge haben, alles zwischen 5-10 eine weitere länge etc. Die Richtung vom Pfeil soll dabei abhängig der Windrichtung sein (mit Werten von 0-360°, analog zu einer Windrose).

Nur weiß ich leider nicht, wie ich das anstellen soll.
Über Vorschläge wäre ich sehr dankbar.

Hier noch ein paar Beispiel-Daten.

Code: Alles auswählen

dput(Winddaten)
structure(list(Date = structure(c(1526256000, 1526263200, 1526270400, 
1526277600, 1526284800, 1526292000, 1526299200, 1526306400, 1526313600, 
1526320800, 1526328000), class = c("POSIXct", "POSIXt"), tzone = ""), 
    direction = c(227.593506444789, 229.741654653234, 271.776255955002, 
    274.271422017384, 237.677050016171, 256.830137530058, 269.539926005839, 
    262.512611802856, 222.273689006094, 245.179458664511, 227.647629665292
    ), speed = c(7.11017053241341, 6.88603841116211, 10.4850381496683, 
    10.8752068945837, 5.92865920761179, 4.41101462251034, 9.34030111934299, 
    5.29514872312384, 0.743303437365925, 1.76283861995362, 2.44920395230777
    )), .Names = c("Date", "direction", "speed"), row.names = c(NA, 
-11L), class = "data.frame")
Vielen Dank und liebe Grüße!
Ilonia
Zuletzt geändert von Ilonia am Fr Okt 19, 2018 2:02 pm, insgesamt 1-mal geändert.
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Winddaten mit ggplot

Beitrag von EDi »

Was hast du denn schon probiert?
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Ilonia
Beiträge: 30
Registriert: Mi Aug 09, 2017 3:50 pm

Re: Winddaten mit ggplot

Beitrag von Ilonia »

Hi,

folgendes habe ich schon probiert:

Code: Alles auswählen

Wind<-ggplot(Winddaten, aes(x=Date)) +
  geom_line(y=0) +
  geom_segment(aes(y=0,xend=Date,yend=0+speed),arrow=arrow(length=unit(0.1,"cm")))
Also einen "ganz normalen" Plot erstellt. Das zeigt mir schonmal eine Unterschiedliche länge der Pfeile an, abhängig von der Geschwindigkeit.
Jetzt habe ich mir gedacht, dass ich "xend" auch ändern muss, dass ich somit ggf eine Drehung der Pfeile bekomme. Wenn ich es allerdings änder in:

Code: Alles auswählen

xend=Date+360-direction
bekomme ich nur eine minimale Änderung, was keines Falles der richtigen Windrichtung entspricht. Das denke ich liegt daran, dass die x-Achse als Datetime angezeigt werden soll.

Gibt es hierbei noch einen anderen Trick, den Pfeil wie gewünscht zu drehen?

Liebe Grüße
Ilonia
ruedi_br
Beiträge: 159
Registriert: Do Mär 01, 2018 3:53 pm

Re: Winddaten mit ggplot

Beitrag von ruedi_br »

Und vermutlich suchst noch nach der Einteilung in Gruppen von Windgeschwindigkeiten, da wäre es sinnhaft, sich mit "cut" zu beschäftigen, sinngemäß sollte

Code: Alles auswählen

speedclasses <- cut(Speed,breaks=5:50(or whatsoever):5)
einer Lösung nahekommen
Grüße
Ruedi
fortune(111)
Antworten