温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

R语言如何绘制空间热力图

发布时间:2021-03-17 09:20:11 来源:亿速云 阅读:427 作者:小新 栏目:开发技术

小编给大家分享一下R语言如何绘制空间热力图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

先上图


R语言如何绘制空间热力图

R语言的REmap包拥有非常强大的空间热力图以及空间迁移图功能,里面内置了国内外诸多城市坐标数据,使用起来方便快捷。

开始首先安装相关包

install_packages("devtools")
install_packages("REmap")
library(devtools)
library(REmap)

我们来试试其强大的城市坐标获取功能

city<- c("beijing","上海")
get_geo_position(a)

我们可以得到如下表结果,即上海和北京两所城市的经纬度坐标,这样写可以看出,无论输入汉语拼音“beijing”或是汉语“上海”,都是可以被识别的。


R语言如何绘制空间热力图

拿到数据该怎么办

那么,但你拿到一份“城市-指标”数据,如何画出该指标的空间热力图呢?我这边给大家示范一份自己的问卷数据QuesData,部分数据见下表:


R语言如何绘制空间热力图

得到我们想要的数据如下:


R语言如何绘制空间热力图

数据处理完后便可以直接绘图了

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的直出图:


R语言如何绘制空间热力图

stata命令非常简单,画这一张图只用了一行命令,但是你需要.shp文件,即地理坐标数据文件,该数据在世界地理信息网站上可以免费下载到。

GeoDa是一款专门做界面空间计量的软件,能够以界面的方式绘制各种空间图形,非常好用,但是也有其分析的局限性。

当然不能忘了还有ArcGis地理信息系统,这个太强大了。

以上是“R语言如何绘制空间热力图”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI