Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 在ggmap中使用geom_光栅绘制热图_R_Ggplot2_Gis_Ggmap_Geom Raster - Fatal编程技术网

R 在ggmap中使用geom_光栅绘制热图

R 在ggmap中使用geom_光栅绘制热图,r,ggplot2,gis,ggmap,geom-raster,R,Ggplot2,Gis,Ggmap,Geom Raster,我有一个包含经度、纬度和强度变量var1.pred的数据框 我想在ggmap上绘制平滑填充的等高线图。我用geom_瓷砖绘制了它,但它看起来并不平滑。我已经减小了瓷砖的尺寸,但绘图占用了很多存储空间。我想做的是使用geom_光栅在地图对象上绘制一个干净的等高线图。 使用下面的代码,我已经使用ggplot完成了: raster <- ggplot(idw.output, aes(x = lon, y = lat, z = var1.pred))+ geom_raster(aes(fill =

我有一个包含经度、纬度和强度变量var1.pred的数据框

我想在ggmap上绘制平滑填充的等高线图。我用geom_瓷砖绘制了它,但它看起来并不平滑。我已经减小了瓷砖的尺寸,但绘图占用了很多存储空间。我想做的是使用geom_光栅在地图对象上绘制一个干净的等高线图。 使用下面的代码,我已经使用ggplot完成了:

raster <- ggplot(idw.output, aes(x = lon, y = lat, z = var1.pred))+
geom_raster(aes(fill = var1.pred), alpha = 0.5) +
scale_fill_gradient(low = "white", high = "blue")+
geom_contour(colour = "white", binwidth = 1) +
labs(fill = "Frequency", title = "Frequency per area", x = 'Longitude', y = 'Latitude') 
raster  
但我得到了一个错误:

错误:不知道如何将o添加到绘图

我知道这个问题与组合ggplot和ggmap对象有关,但我不知道如何让它工作。任何帮助都将不胜感激

谢谢


Robin

如果没有可复制的示例,就不可能测试代码,但很可能您可以将ggplot调用移动到base_layer参数,以便继续添加geom

ggmap(fr, base_layer = ggplot(idw.output, aes(x = lon, y = lat, z = var1.pred))) + 
    geom_raster(aes(fill = var1.pred), alpha = 0.5) +
    scale_fill_gradient(low = "white", high = "blue")+
    geom_contour(colour = "white", binwidth = 1) +
    labs(fill = "Frequency", title = "Frequency per area", x = 'Longitude', y = 'Latitude')

如果没有可复制的示例,就不可能测试代码,但很可能可以将ggplot调用移动到base_layer参数,以便继续添加几何体

ggmap(fr, base_layer = ggplot(idw.output, aes(x = lon, y = lat, z = var1.pred))) + 
    geom_raster(aes(fill = var1.pred), alpha = 0.5) +
    scale_fill_gradient(low = "white", high = "blue")+
    geom_contour(colour = "white", binwidth = 1) +
    labs(fill = "Frequency", title = "Frequency per area", x = 'Longitude', y = 'Latitude')

谢谢,这正是我想要的。我唯一需要做的就是在geom_光栅之后添加coord_cartesian,这正是我所希望的。我要做的唯一一件事就是按照这篇文章的解决方案在geom_光栅之后添加coord_笛卡尔坐标