nicht definierten Bereich in weiß plotten
Verfasst: Do Feb 08, 2018 7:39 am
Hallo liebe Forum-Menschen,
ich steh mal wieder vor einem Problem. Ich habe Wassertemperaturdaten vorliegen und möchte diese jetzt graphisch darstellen. Mein data.frame sieht folgenderweise aus
Wobei date das Datum ist, phi und lambda die Koordinaten und T_h2o die Wassertemperatur. Als nächstes habe ich über die Koordinaten gemittelt.
Soweit so gut. Jetzt liegen die Werte allerdings nur an den Koordinaten vor, wo auch Meere/Ozeane sind. wenn ich mir jetzt einen Ausschnitt über Land definiere, bekomme ich folgendes Ergebnis:
Diese Landbereiche werden aber in der Graphik ebenfalls farblich angezeigt und zwar mit der Farbe T_h2o = 0.
Hier meine Frage: gibt es eine Möglichkeit, alle "Land"-Bereiche die keine Werte aufweisen in der Graphik weiß erscheinen zu lassen, ohne das der Farbe ein Wert zugeordnet wird?
Der Wert 0 kommt in den Daten auch vor und zwar dann, wenn eine Eisoberfläche vorhanden ist, also kann ich nicht alle Nullwerte gleich verwerfen.
Vielen Dank für euren Tipps.
Grüße
Jessi
ich steh mal wieder vor einem Problem. Ich habe Wassertemperaturdaten vorliegen und möchte diese jetzt graphisch darstellen. Mein data.frame sieht folgenderweise aus
Code: Alles auswählen
str(d_h2o)
'data.frame': 12531058 obs. of 5 variables:
$ date: chr "20150525" "20150525" "20150525" ...
$ phi : num 18.9 18.9 18.9 18.9 18.9 ...
$ lambda : num 10.750 10.760 10.770 10.780 10.780 ...
$ T_h2o : num 21.1 22.0 21.4 21.9 22.5 ...
$ T_h2o_10m: num 19.4 19.0 18.3 17.9 19.1 ...
Code: Alles auswählen
mittel_t <- aggregate(T_h2o ~ lambda + phi, d_h2o, FUN = mean)
str(mittel_t)
'data.frame': 54326 obs. of 3 variables:
$ lambda : num 10.750 10.760 10.770 10.780 10.780 ...
$ phi: num 18.9 18.9 18.9 18.9 18.9 ...
$ T_h2o : num 14 13.5 16.5 10.5 10.5 20 10.5 10 11 15 ...
##Matrix erstellen
M_Th2o <- xtabs(T_h2o ~ lambda + phi, data = mittel_t)
### plotten
xax <- as.numeric(dimnames(M_Th2o)$lambda)
yax <- as.numeric(dimnames(M_Th2o)$phi)
image.plot(xax, yax, M_Th2o, col=topo.colors(64))
Soweit so gut. Jetzt liegen die Werte allerdings nur an den Koordinaten vor, wo auch Meere/Ozeane sind. wenn ich mir jetzt einen Ausschnitt über Land definiere, bekomme ich folgendes Ergebnis:
Code: Alles auswählen
d_land <- subset(d_h2o, lambda >= 25.000 & lambda <= 28.000 & phi >= 40 & phi <= 48)
str(d_land)
'data.frame': 0 obs. of 5 variables:
$ date: chr
$ phi : num
$ lambda : num
$ T_h2o : num
$ T_h2o_10m: num
Hier meine Frage: gibt es eine Möglichkeit, alle "Land"-Bereiche die keine Werte aufweisen in der Graphik weiß erscheinen zu lassen, ohne das der Farbe ein Wert zugeordnet wird?
Der Wert 0 kommt in den Daten auch vor und zwar dann, wenn eine Eisoberfläche vorhanden ist, also kann ich nicht alle Nullwerte gleich verwerfen.
Vielen Dank für euren Tipps.
Grüße
Jessi