[R] overlay geom_contour to ggmap
massimo bressan
m@@@|mo@bre@@@n @end|ng |rom @rp@@veneto@|t
Sat Apr 3 11:13:46 CEST 2021
consider this reproducible example
# set the origin of the grid # in cartesian coordinates (epsg 32632)
xmin<-742966
ymin<-5037923
# set x and y axis
x<-seq(xmin, xmin+25*39, by=25)
y<-seq(ymin, ymin+25*39, by =25)
# define a 40 x 40 grid
mygrid<-expand.grid(x = x, y = y)
# set the z value to be interpolated by the contour
set.seed(123)
mygrid$z<- rnorm(nrow(mygrid))
library(tidyverse)
# plot of contour is fine
ggplot(data=mygrid, aes(x=x,y=y,z=z))+
geom_contour()
library(ggspatial)
# transform coordinates to wgs84 4326# (one of the possible many other
ways to do it)
mygrid_4326<-xy_transform(mygrid$x, mygrid$y, from = 32632, to = 4326)
# create new grid with lon and lat # (geographical coordinates espg 4326)
mygrid_4326<-mygrid_4326%>%
mutate(z=mygrid$z)
# define the bounding box
my_bb<-c(min(mygrid_4326$x), min(mygrid_4326$y),
max(mygrid_4326$x),
max(mygrid_4326$y))names(my_bb)<-c('left', 'bottom', 'right', 'top')
library(ggmap)
# get the background map (by a free provider)
mymap<-get_stamenmap(bbox = c(left = my_bb[['left']],
bottom = my_bb[['bottom']],
right = my_bb[['right']],
top = my_bb[['top']]),
zoom = 15,
maptype = 'toner-lite')
# plot of the map is fine
mymap%>%
ggmap()
# overlay the contour of z is failing
mymap%>%
ggmap()+
#geom_contour(data=mygrid_4326, mapping=aes(x = x, y = y, z = z))
stat_contour(data=mygrid_4326, mapping=aes(x = x, y = y, z = z))
Warning messages:1: stat_contour(): Zero contours were generated 2: In
min(x) : no non-missing arguments to min; returning Inf3: In max(x) :
no non-missing arguments to max; returning -Inf
the problem here is the overlay of the contour plot made with ggplot to a
base map made with ggmap
any help?
thanks
[[alternative HTML version deleted]]
More information about the R-help
mailing list