2017-09-01 26 views
0

まず、これが私のデータセットです。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 

そして、これはCPUEデータポイントと私のggmapです:

ggmap

私はこのggmapに温度輪郭を追加することができる場合、私は疑問に思います。ここ

答えて

0

は、十分なデータポイントが輪郭データを生成するデータフレームにありますようにthis answerから参照を取って、一つのアプローチは次のとおり

# 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

データ:

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

背景地図データ:

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