如何在R中绘制热图

时间:2019-10-06 14:51:35

标签: r

我有一个数据框,其中包含1980年至2018年世界各地的经度,纬度和降水。我需要在R的热图上显示平均降水。我的经度和纬度是-180至180 -50到50度,对于每个网格,它变化0.25度。我的问题是我不知道如何仅获得美国中西部的降水?

这是我的数据的头部:

   long    lat daily_precip_mean(mm)
1 -97.875 35.875      0.0009090909
2 -97.625 35.875      0.0000000000
3 -97.375 35.875      0.0099999994
4 -97.125 35.875      0.0090909085
5 -96.875 35.875      0.0245443763
6 -96.625 35.875      0.0353187964

这是我的代码:

# drawing a heatmap
library(ggplot2)
library(maps)
library(mapdata)

states <- map_data("state")
midwest <- subset(states, region %in% c("illinois", "iowa", "indiana", "minnesota", "missouri", "michigan", "wisconsin", "ohio"))
midwestmap = ggplot(data = midwest) +
  geom_polygon(aes(x = long, y = lat, group = group), fill = "white", color = "black") + 
  coord_fixed(1.3) 
midwestmap

midwestmap + geom_tile(aes(long, lat, fill=daily_precip_mean), data=data, alpha=0.8)+
   geom_polygon(data=midwest,aes(x = long, y = lat, group = group),color = "black", fill = NA)+
  scale_fill_gradientn(colours = rev(rainbow(7)))

我无法将地图放在这里,但我的地图是降水量的平方,但我只想中西部

enter image description here

0 个答案:

没有答案