Plotten von Windrichtungs-Daten

Wie erstelle ich Grafiken, was ist zu beachten?

Moderatoren: EDi, jogo

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

Plotten von Windrichtungs-Daten

Beitrag von Ilonia »

Hallo zusammen,

ich habe folgende Problem beim Plotten meiner Windrichtungsdaten. Die Einheit hierbei ist in Grad, wobei 0 und 360 Grad ein Wind aus Nord darstellt, 90 Grad aus Osten, 180 aus Süd etc.
Ich möchte ein Tagesgangplot (00 Uhr bis 23:53 Uhr) von Windrichtungsdaten plotten. Das ganze ist auch nicht das Problem (Ausschnitt im Anhang).

Allerdings sieht man um ca. 7 Uhr, dass der Wind von Nord auf Ost/Südost dreht. Dabei entsteht ein großer Sprung im Linienplot, was auch kein Fehler ist, dieser allerdings nicht schön ist und auch etwas verwirrend, da die Richtung immer noch die gleiche ist.

Mein Ziel hierbei ist es die Daten zu "gruppieren", also alles von von 345 bis 15 Grad ist, eine Richtung hat (in diesem Fall "Nord") und dann immer in 30 Grad schritten weiter gehend um diesen großen Sprung raus zubekommen. Die y-Achse soll dann so dargestellt sein, dass am unteren und oberen Ende jeweils "Nord" ist und in der Mitte "Süd" als Richtung angegeben ist.


Mein jetziger Code für die Graphik ist:

Code: Alles auswählen

Wind<- read.table("Wind_Test_Datei.txt",sep=",", header=T,stringsAsFactors = F,na.strings="NA")
Wind$V1 <- as.POSIXct(Wind$V1,format = "%H:%M:%S",tz="GMT")

Wind_Plot<-ggplot(data=Wind, aes(x=V1 ,y=wd,group=1)) +
		geom_line(colour="blue") +
		scale_x_datetime(breaks=date_breaks("1 hour"), labels=date_format("%H:%M"))+
		 xlab("") + ylab(expression("Winddirection [Degree]")) +theme(plot.margin=unit(c(1,1,1,1),"cm")) +
		coord_cartesian(ylim = c(0, 360))+ scale_y_continuous(breaks=c(0,50,100,150,200,250,300,350))
Wind_Plot
Teile des Datensatzes sind auch angefügt.

Über Hilfe wäre ich euch sehr dankbar!

Liebe Grüße
Dateianhänge
Wind_Test_Datei.txt
(5.52 KiB) 107-mal heruntergeladen
Test_Winddirection.png
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Plotten von Windrichtungs-Daten

Beitrag von jogo »

Hallo Ilonia,

willkommen im Forum!
Vielleicht sind Punkte (ggf. etwas dickere) besser geeignet - zumindest hast Du dann nicht so eine störende durchgezogene Verbindungslinie.

Gruß, Jörg
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Plotten von Windrichtungs-Daten

Beitrag von EDi »

Hmm, ein rundes Koordinatensystem (=Windrichtung), Punkte und einen farbverlauf für die Tageszeit?
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.
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Plotten von Windrichtungs-Daten

Beitrag von jogo »

Da ich die Idee, mit dem runden Diagramm (polare Koordinaten) auch recht nett fand, habe ich folgendes probiert:

Code: Alles auswählen

Wind <- read.table("http://forum.r-statistik.de/download/file.php?id=109", sep=",", header=TRUE, stringsAsFactors = FALSE, na.strings="NA")
Wind$V1 <- as.POSIXct(Wind$V1, format = "%H:%M:%S", tz="GMT")
library("ggplot2")
ggplot(Wind, aes(x=wd, y=V1)) + coord_polar() + geom_point()
Gruß, Jörg
dvf
Beiträge: 24
Registriert: Mo Feb 27, 2017 12:44 pm

Re: Plotten von Windrichtungs-Daten

Beitrag von dvf »

Die Sache etwas bunter:

Code: Alles auswählen

 ggplot(Wind, aes(x=wd, y=V1, color=V1)) + coord_polar() + geom_point()
Gruß, dvf
Ilonia
Beiträge: 30
Registriert: Mi Aug 09, 2017 3:50 pm

Re: Plotten von Windrichtungs-Daten

Beitrag von Ilonia »

Hallo zusammen,

vielen Dank für eure Vorschläge!

Die runde Möglichkeit finde ich wirklich gelungen, und wäre nie darauf gekommen!
Vielen herzlichen Dank dafür!

LG
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Plotten von Windrichtungs-Daten

Beitrag von jogo »

Mich hat das noch gewurmt, dass für den Anfangszeitpunkt die Richtung kaum feststellbar ist (im Mittelpunkt ist der Winkel nicht erkennbar). Es gibt ja noch einige Parameter, an denen man rumdrehen kann. Das Ergebnis für mich sieht jetzt so aus:

Code: Alles auswählen

Wind <- read.table("http://forum.r-statistik.de/download/file.php?id=109", sep=",", header=TRUE, stringsAsFactors = FALSE, na.strings="NA")
Wind$V1 <- as.POSIXct(Wind$V1, format = "%H:%M:%S", tz="GMT")
library("ggplot2")
ggplot(Wind, aes(x=wd, y=V1)) + coord_polar() + geom_point() 
ggplot(Wind, aes(x=wd, y=V1, color=ws)) + coord_polar() + geom_point() +
  ylim(min(Wind$V1 - 3600), max(Wind$V1)) +
  scale_x_continuous(breaks=c(0,90,180,360))
Dabei ist jetzt auch noch die Spalte $ws abgebildet.

Gruß, Jörg
Ilonia
Beiträge: 30
Registriert: Mi Aug 09, 2017 3:50 pm

Re: Plotten von Windrichtungs-Daten

Beitrag von Ilonia »

Also ich habe euren Vorschlag noch etwas verfeinert, und so sieht mein Ergebnis jetzt aus!
Nochmals vielen Dank!

Code: Alles auswählen

Wind <- read.table("http://forum.r-statistik.de/download/file.php?id=109", sep=",", header=TRUE, stringsAsFactors = FALSE, na.strings="NA")
Wind$V1 <- as.POSIXct(Wind$V1, format = "%H:%M:%S", tz="GMT")
library("ggplot2")
ggplot(Wind, aes(x=wd, y=V1, color=ws)) + 
		coord_polar(start = 0) + geom_point()+
		scale_x_continuous(limits=c(0,360),breaks=c(0,45,90,135,180,225,270,315),
                     labels = c("N","NE", "E", "SE", "S", "SW", "W","NW"))+
		scale_y_datetime(breaks=date_breaks("1 hour"), labels=date_format("%H:%M"))+
		ylab("") + xlab("")+
		labs(color="Windspeed [m/s]")
Liebe Grüße
Ilonia
Beiträge: 30
Registriert: Mi Aug 09, 2017 3:50 pm

Re: Plotten von Windrichtungs-Daten

Beitrag von Ilonia »

Hallo zusammen,

ich habe eine Frage, die etwas mit dem Output des Beispiels hier zu tun hat (so muss ich kein neuen Thread öffnen ;) )

Ich möchte die Graphik mit dem Code von oben als SVG-Datei speichern und habe das folgendermaßen gemacht:

Code: Alles auswählen

ggsave("Wind",device=svg)
Wenn ich die Datei nun mit Inkscape öffne ist mir sofort aufgefallen, dass beispielsweise die Legende (also der blaue Farbverlauf) einen dunkleren Streifen in der Mitte hat.

Meine Frage hierzu: Gibt es auch noch andere Möglichkeiten eine ggplot-Graphik als SVG zu speichern?

Mit den Lösungsvorschlägen von Dr.Google bin ich nicht weiter gekommen, da ich sowohl "svglite" als auch "RSvgDevice" als Paket nicht installieren kann...

Vielen Dank schonmal für eure Hilfe und Vorschläge!

Liebe Grüße
Isabel
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Plotten von Windrichtungs-Daten

Beitrag von EDi »

Ilonia hat geschrieben: Di Okt 10, 2017 2:31 pm Mit den Lösungsvorschlägen von Dr.Google bin ich nicht weiter gekommen, da ich sowohl "svglite" als auch "RSvgDevice" als Paket nicht installieren kann...
Wieso das nicht?
svglite wäre jetzt mein erster Tipp gewesen... :(
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.
Antworten