先上图
R语言的REmap包拥有非常强大的空间热力图以及空间迁移图功能,里面内置了国内外诸多城市坐标数据,使用起来方便快捷。
开始首先安装相关包
install_packages("devtools") install_packages("REmap") library(devtools) library(REmap)
我们来试试其强大的城市坐标获取功能
city<- c("beijing","上海") get_geo_position(a)
我们可以得到如下表结果,即上海和北京两所城市的经纬度坐标,这样写可以看出,无论输入汉语拼音“beijing”或是汉语“上海”,都是可以被识别的。
得到我们想要的数据如下:
数据处理完后便可以直接绘图了
options(remap.js.web = T) theme1 <- get_theme(theme = "dark",lineColor = "White",backgroundColor = "black",titleColor = "#fff",borderColor = "blue",regionColor = "white",labelShow = T,pointShow = F,pointColor = "gold") remapH(df2,maptype = 'china',theme=theme1,blurSize = 35,color = "blue",minAlpha = 20,opacity = 1)
- 第一句options是为了将web设置为激活状态,由于REmap是基于D3.js绘图引擎的,需要使用网页js产生动态效果。
- 第二个是为了生成一个主题,这个就像ggplot2的一个图层一样(个人理解),其中,theme为主题,有Dark,Bright,Sky,None四种,选前三种时后续设置失效,因为你都定主题了,怎么还想做其他调整呢?如果要设置线条颜色,背景色,边界颜色这些,主题就要选择为None,其余的颜色设置自己摸索吧,不会就参看get_theme命令。
- 第三行即画图命令,theme=theme1来指定主题,blursize和minalpha是调整颜色区块大小和深浅的,大家自己调整之后看看效果就知道啦!
其他空间作图
当然,如果你觉得这种方式不够美观,又想将空间数据以较美观的方式呈现,你也可以尝试空间分位图,推荐软件GeoDa和Stata,当然R也可以画,但是会非常难看。这里上一张stata的直出图:
stata命令非常简单,画这一张图只用了一行命令,但是你需要.shp文件,即地理坐标数据文件,该数据在世界地理信息网站上可以免费下载到。
GeoDa是一款专门做界面空间计量的软件,能够以界面的方式绘制各种空间图形,非常好用,但是也有其分析的局限性。
当然不能忘了还有ArcGis地理信息系统,这个太强大了。
到此这篇关于R语言绘制空间热力图实例讲解的文章就介绍到这了,更多相关R语言绘制空间热力图内容请搜索好代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好代码网!