2016-09-16 5 views
-1

enter image description here Ich versuche, eine räumliche Karte von pH-Wert in dem Ozean, um ein Datum-Set verwenden, das lat hat, lang, pH-Wert wie folgt:Plotten pH-Wert mit ggplot

head(sample) 
    Station  lat  long  pH 
1  B17 -23.49174 152.0718 8.222411 
2  B23 -23.49179 152.0718 8.199310 
3  B26 -23.49182 152.0717 8.140428 
4  B28 -23.49183 152.0717 8.100752 
5  B30 -23.49185 152.0717 8.068141 
6  B31 -23.49187 152.0717 8.048852 
7  B32 -23.49187 152.0717 8.043878 
8  B33 -23.49188 152.0717 8.052589 
9  B34 -23.49189 152.0717 8.085398 
10 B35 -23.49191 152.0717 8.092179 
11 B36 -23.49191 152.0717 8.103831 
12 B38 -23.49194 152.0717 8.195493 
13 B40 -23.49194 152.0717 8.289563 
14 B43 -23.49197 152.0717 8.305461 
15 B49 -23.49202 152.0717 8.319335 
16 F17 -23.49180 152.0720 8.019838 
17 F29 -23.49194 152.0719 7.827754 
18 F31 -23.49194 152.0719 7.906839 
19 F31.5 -23.49195 152.0720 7.935676 
20 F32.5 -23.49196 152.0720 7.120869 
21 F33 -23.49197 152.0720 7.282649 
22 F33.5 -23.49198 152.0720 7.209787 
23 F34 -23.49198 152.0720 7.185605 
24 F34.5 -23.49199 152.0719 7.237628 
25 F37 -23.49200 152.0719 7.657356 
26 F49 -23.49206 152.0719 8.223883 
27 M17 -23.49178 152.0719 8.161814 
28 M25 -23.49185 152.0718 7.981371 
29 M29 -23.49187 152.0718 7.882754 
30 M31 -23.49188 152.0718 7.904225 
31 M32 -23.49188 152.0718 7.940181 
32 M33 -23.49188 152.0718 8.050878 
33 M34 -23.49190 152.0718 8.129610 
34 M35 -23.49191 152.0718 8.168780 
35 M37 -23.49193 152.0718 8.182910 
36 M41 -23.49197 152.0718 8.208416 
37 M49 -23.49204 152.0718 8.197651 

ich ggplot bin mit und kann eine erzeugen Abbildung, die die einzelnen Standorte darstellt, aber ich kann nicht herausfinden, warum es nicht zwischen Orten interpoliert, um den Gradienten zu zeigen. Ich habe geom_raster(interpolate=TRUE) und geom_tile versucht, aber keiner arbeitet, um zwischen Punkten zu interpolieren. Liegt das daran, dass die Punkte zu spärlich sind? Oder fehlt mir etwas? Vielen Dank!

setwd("~/OTI/OTI 2016/R") 
library(maps) 
library(ggplot2) 
library(RColorBrewer) # for brewer.pal(...) 

sample<-read.csv(file="Station locations 2016.csv", header=TRUE, sep=",", strip.white=T) 

ggplot(data = sample, aes(x = long, y = lat, fill = pH)) + 
    geom_raster(interpolate = TRUE) + 
    scale_fill_gradientn(colours = rev(rainbow(7)), na.value = NA) + 
    theme_bw() + 
    coord_fixed() + 
    geom_point(colour = "red") 
+0

es würde helfen, wenn Sie ein reproduzierbares Beispiel für Ihre Daten zur Verfügung stellen könnte ... –

+0

Auch wäre es schön, uns die aktuelle Karte zu zeigen, die Sie produziert haben. –

+0

Ich habe die obigen Daten eingefügt und die aktuelle Karte hochgeladen. Vielen Dank! – Rebecca

Antwort

1

versuchen stat_density2d(geom="raster", aes(fill = ..density..), contour = FALSE)

+0

Dies erzeugt eine interpolierte Map, aber zeigt stat_density2d nicht die Dichte der Sample-Punkte und nicht den Wert, der diesen Punkten zugeordnet ist? (in diesem Fall pH-Wert) – Rebecca

+0

@Rebecca vielleicht https://StackOverflow.com/questions/35593967/contour-levels-respondence-to-variable-leves-in-gplot2 –

Verwandte Themen