首页 > 解决方案 > 如何将热图叠加到 R 中的空间图上?

问题描述

我正在寻求帮助来创建可以覆盖空间图的各种热图。我有多个数据点,例如温度,沿着河流中的坐标,并且希望能够可视化沿河流的温度变化(例如:较高的温度将显示为红色,较低的温度将显示为蓝色)。这可能吗?我已经完成了不同的热图问题,但似乎无法将它们拼凑在一起。

这段代码给出了我认为最接近的表示,但我不知道如何使它适应我的需要:

sample <- data.frame(Longitude=c(-1+rnorm(50,0,.5),-2+rnorm(50,0,0.5),-4.5+rnorm(50,0,.5)),
                     Latitude =c(52+rnorm(50,0,.5),54+rnorm(50,0,0.5),56+rnorm(50,0,.5)))
CanMap  <- readOGR(dsn="gadm-CAN-shapefile",layer="gadm36_CAN_2")
map.df <- fortify(CanMap)

ggplot(sample, aes(x=Longitude, y=Latitude)) + 
  stat_density2d(aes(fill = ..level..), alpha=0.5, geom="polygon")+
  geom_point(colour="red")+
  geom_path(data=map.df,aes(x=long, y=lat,group=group), colour="grey50")+
  scale_fill_gradientn(colours=rev(brewer.pal(7,"Spectral")))+
  xlim(-10,+2.5) +
  coord_fixed()

标签: rheatmap

解决方案


推荐阅读