2017-09-01 8 views
0

Tout d'abord, ceci est mon jeu de données.Ajouter un contour sur ggmap

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 

Et ceci est mon ggmap au point de données de PUE:

ggmap

Je me demande si je peux ajouter le contour de la température sur ce ggmap.

Répondre

0

est ici une approche, en référence à partir this answer comme il y a des points de données insuffisantes dans la trame de données pour générer des données de contour:

# 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

données:

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") 

Contexte des données cartographiques:

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