2017-09-01 2 views
0

Zuerst ist dies mein Datensatz.Kontur auf ggmap hinzufügen

Lon  Lat CPUE Temperature 
120.93 27 0.00 24.3 
121.18 27 0.62 24.2 
121.43 27 3.76 24.9 
121.6 27.25 0.87 25 
121.35 27.25 1.63 24.2 
121.1 27.25 2.66 24.8 
121.25 27.5 7.37 24.9 
121.5 27.5 6.26 25.2 
121.75 27.5 12.02 19.4 
121.95 27.75 30.40 18.5 
121.7 27.75 93.81 23.1 
121.65 28 282.83 27.1 
121.9 28 10.43 22.3 
122.15 28 36.11 18.2 
122.4 28.25 170.05 17.9 
122.15 28.25 1170.97 18.8 
122.3 28.5 0.00 18.4 
122.55 28.5 149.99 17.6 
122.8 28.75 118.27 18.5 
122.55 28.75 1838.31 17.6 
122.25 29 1218.93 21.2 
122.5 29 1245.63 18.7 
122.75 29 235.07 17.9 123 29 33.01 19.1 

Und das ist mein ggmap mit CPUE Datenpunkt:

ggmap

Ich frage mich, ob ich Temperatur Kontur auf diesem ggmap hinzufügen kann.

Antwort

0

Hier ist ein Ansatz, Referenz genommen von this answer da es in dem Datenrahmen nicht genügend Datenpunkte ist Konturdaten zu generieren:

# generate regular grid since geom_contour doesn't work on this dataset 
temp <- akima::interp(df$Lon, df$Lat, df$Temperature) 
df.expanded <- expand.grid(x = temp$x, y = temp$y) 
df.expanded$z <- as.vector(temp$z) 
df.expanded <- na.omit(df.expanded) 
rm(temp) 

library(ggplot2) 

# plot contour using stat_contour() on expanded data frame 
ggmap(background) + 
    stat_contour(data = df.expanded, binwidth = 1, 
       aes(x=x,y=y,z=z)) + 
    geom_point(data = df, alpha = 0.5, 
      aes(x = Lon, y = Lat, size = CPUE)) 

ggmap plot

Daten:

df <- read.table(header = T, text = "Lon  Lat CPUE Temperature 
120.93 27 0.00 24.3 
       121.18 27 0.62 24.2 
       121.43 27 3.76 24.9 
       121.6 27.25 0.87 25 
       121.35 27.25 1.63 24.2 
       121.1 27.25 2.66 24.8 
       121.25 27.5 7.37 24.9 
       121.5 27.5 6.26 25.2 
       121.75 27.5 12.02 19.4 
       121.95 27.75 30.40 18.5 
       121.7 27.75 93.81 23.1 
       121.65 28 282.83 27.1 
       121.9 28 10.43 22.3 
       122.15 28 36.11 18.2 
       122.4 28.25 170.05 17.9 
       122.15 28.25 1170.97 18.8 
       122.3 28.5 0.00 18.4 
       122.55 28.5 149.99 17.6 
       122.8 28.75 118.27 18.5 
       122.55 28.75 1838.31 17.6 
       122.25 29 1218.93 21.2 
       122.5 29 1245.63 18.7 
       122.75 29 235.07 17.9 123 29 33.01 19.1") 

Hintergrund Kartendaten:

library(ggmap) 
background <- get_map(location = c(min(df$Lon), 
            min(df$Lat), 
            max(df$Lon), 
            max(df$Lat)), 
         zoom = 8)