在 ggmap 中使用 geom_raster 绘制热图
Plotting Heatmap with geom_raster in ggmap
我有一个包含经度、纬度和强度变量 (var1.pred) 的数据框。
我想在 ggmap 地图上绘制一个平滑的填充等高线图。我已经使用 geom_tile 图完成了它,但它看起来并不流畅。我已经减小了图块的大小,但是图占用了很多存储空间。我想要做的是使用 geom_raster 在地图对象上绘制一个漂亮的干净等高线图。
使用下面的代码我已经使用 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
这个returns剧情:
但是我不知道如何将它与 ggmap 对象结合起来。我尝试了各种方法,例如:
ggmap(fr) + #fr is a map from get_map
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')
但是我得到错误:
错误:不知道如何将 o 添加到绘图中
我知道这个问题与组合 ggplot 和 ggmap 对象有关,但我不知道如何让它工作。任何帮助将不胜感激。
谢谢,
罗宾
如果没有可重现的示例,就无法测试您的代码,但您可以将 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')
我有一个包含经度、纬度和强度变量 (var1.pred) 的数据框。
我想在 ggmap 地图上绘制一个平滑的填充等高线图。我已经使用 geom_tile 图完成了它,但它看起来并不流畅。我已经减小了图块的大小,但是图占用了很多存储空间。我想要做的是使用 geom_raster 在地图对象上绘制一个漂亮的干净等高线图。 使用下面的代码我已经使用 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
这个returns剧情:
但是我不知道如何将它与 ggmap 对象结合起来。我尝试了各种方法,例如:
ggmap(fr) + #fr is a map from get_map
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')
但是我得到错误:
错误:不知道如何将 o 添加到绘图中
我知道这个问题与组合 ggplot 和 ggmap 对象有关,但我不知道如何让它工作。任何帮助将不胜感激。
谢谢,
罗宾
如果没有可重现的示例,就无法测试您的代码,但您可以将 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')