我正在尝试绘制一个国家的热图,其中一些点是事件发生的概率。我到目前为止所做的是下一步:
library(raster)
library(ggplot2)
Uruguay <- getData("GADM",country="Uruguay",level=0)
ggplot(Uruguay,aes(x=long,y=lat,group=group)) +
ggplot2::lims(x = c(-60, -50), y = c(-35, -30))+
geom_polygon(aes(x = long, y = lat, group = group, fill=id),color="grey30")+
coord_map(xlim=c(-1,1)+bbox(Uruguay)["x",],ylim=c(-1,1)+bbox(Uruguay)["y",])+
scale_fill_discrete(guide="none")+
theme_bw()+theme(panel.grid=element_blank())
我生成热图的数据是
prob <- c(10,20,90,40)
lat <- c(-30.52,-32.04,-33.16,-34.28)
long <- c(-57.40,-55.45,-56.35,-56.40)
data <- data.frame(prob, lat, long)
我认为使用ggplot2::stat_density2d
andggplot2::scale_fill_gradientn
是要走的路,但我不知道如何实现它。我想制作这样的热图
欢迎任何帮助。提前致谢。