• R语言绘制空间热力图


    R语言绘制空间热力图

     

    先上图

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

    开始

    首先安装相关包

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

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

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

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

    id1120lon116.413554121.480237lat39.91101331.236305citybeijingidlonlatcity1116.41355439.911013beijing120121.48023731.236305上海

    拿到数据该怎么办

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

    cityvalue9536191412cityvalue上海95大同36北京19合肥14泰安12

    面对以上整理好的数据,我们做出如下处理:
    df<-data.frame(get_geo_position(as.vector(QuesData$city)))
    df2<-data.frame(df[1:2],QuesData$value)

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

    lon116.413554121.480237lat39.91101331.236305value1995lonlatvalue116.41355439.91101319121.48023731.23630595

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

    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是调整颜色区块大小和深浅的,大家自己调整之后看看效果就知道啦!
      最终得到一开始那幅图,需要数据的请发送邮件至 595403043@qq.com~

    其他空间作图

    当然,如果你觉得这种方式不够美观,又想将空间数据以较美观的方式呈现,你也可以尝试空间分位图,推荐软件GeoDa和Stata,当然R也可以画,但是会非常难看。这里上一张stata的直出图:

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

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

  • 相关阅读:
    数组——基础
    程序流程控制——循环结构
    程序流程控制——分支结构
    运算符
    进制
    变 量
    Java中的名称命名规范
    标识符(Identifier)
    保留字(reserved word)
    关键字
  • 原文地址:https://www.cnblogs.com/awishfullyway/p/6509262.html
Copyright © 2020-2023  润新知