• 登录
Skip to content

一起大数据-技术文章心得

一起大数据网由数据爱好者发起并维护,专注数据分析、挖掘、大数据相关领域的技术分享、交流。不定期组织爱好者聚会,期待通过跨行业的交流和碰撞,更好的推进各领域数据的价值落地。

Menu
  • 首页
  • 大数据案例
  • 数据&电子书
  • 视频
    • Excel视频
    • VBA视频
    • Mysql视频
    • 统计学视频
    • SPSS视频
    • R视频
    • SAS视频
    • Python视频
    • 数据挖掘视频
    • 龙星计划-数据挖掘
    • 大数据视频
    • Machine Learning with Python
  • 理论
    • 统计学
    • 数据分析
    • 机器学习
    • 大数据
  • 软件
    • Excel
    • Modeler
    • Python
    • R
    • SAS
    • SPSS
    • SQL
    • PostgreSQL
    • KNIME
  • 技术教程
    • SQL教程
    • SPSS简明教程
    • SAS教程
    • The Little SAS Book
    • SAS EG教程
    • R语言教程
    • Python3教程
    • IT 技术速查手册
    • Data Mining With Python and R
    • SAS Enterprise Miner
  • 问答社区
  • 我要提问
Menu

数据帮:地图可视化REmap包-remapH函数及实例

Posted on 2016年11月3日

原创:金小贝  QQ交流:675229288

remapH( )函数主要功能是制作热力效果图,与remapC( )只能根据已经分好的行政区域显示不同热力不一样,remapH( )函数可以实现以任意点为中心,通过颜色渐变、泛化达到热力效果,理论上使用和展现相对更加灵活。但是通过实际使用发现很多不理解的地方,可能是个人理解不到位导致,也希望此包的开发者郎大为Chiffon老师有机会能给予指导、指教。

library(REmap)
?remapH
remapH(data,
             maptype = ‘china’,
             theme = get_theme(“Dark”),
             blurSize = 30,
             color = c(‘blue’, ‘cyan’, ‘lime’, ‘yellow’, ‘red’),
             minAlpha = 0.05,
             opacity = 1,
             …)
主要参数说明:
参数一:data为需要的原始数据框格式数据,共3列,经度、纬度、密度,密度值大小将决定热力图颜色深浅
参数二:maptype为地图类型设置,与其他函数一样,可选world、china或者中国省份名称
参数三:theme为主题设置,见之前文章介绍
参数四:bulrSize为从中心到边缘的范围,默认为30
参数五: color为热力图渐变颜色设置
参数六:minAlpha密度值的最小阈值设定,小于这个值的都将以此值对应的热力颜色显示,保证所有项目均有体现
参数七:opacity热力区域透明度,默认为1
掌握好以上参数即可,其他参数比较常规或者之前已经介绍过在此不再赘述。

实例:重庆热力图

#生成重庆经纬度数据

cq <- mapNames(‘chongqing’);cq
baidu_lon <- c()
baidu_lat <- c()
ak <- ‘HuwUWP*******’   #百度地图api的秘钥,需自己申请
library(RCurl)
library(rjson)
for (location in cq) {
  url <- paste(‘http://api.map.baidu.com/geocoder/v2/?ak=’,ak,’&callback=renderOption&output=json&address=’,location,sep=”)
  url_string <- URLencode(url)
  json<- readLines(url_string, warn=F)
  geo <- fromJSON(substr(json,regexpr(‘\\(‘,json)+1,nchar(json)-1))
  lon<-geo$result$location$lng
  lat<-geo$result$location$lat
  baidu_lon <- c(baidu_lon,lon)
  baidu_lat <- c(baidu_lat,lat)
}
data <- data.frame(address=cq,longitude=baidu_lon,latitude=baidu_lat)
head(data)

               address longitude latitude
1 酉阳土家族苗族自治县  108.8068 28.90528
2               奉节县  109.3557 30.95855
3               巫溪县  109.3605 31.50916
4                 开县  108.3893 31.27710
5 彭水苗族土家族自治县  108.2729 29.35963
6               云阳县  108.8632 31.04241
#随机生成密度数据
prob <- sample(1:100,nrow(data))
prob <- prob/(min(prob)+max(prob))
f_data <- cbind(data[-1],prob)
head(f_data)
  longitude latitude       prob
1  108.8068 28.90528 0.61224490
2  109.3557 30.95855 0.27551020
3  109.3605 31.50916 0.46938776
4  108.3893 31.27710 0.04081633
5  108.2729 29.35963 0.52040816
6  108.8632 31.04241 0.09183673
#生成最终热力图
remapH(data = f_data,  
               maptype = ‘重庆’,
               theme = get_theme(theme = ‘none’,
                                                 backgroundColor = ‘gray’,   #整体背景颜色
                                                 borderColor = ‘black’,   #区域边缘颜色
                                                 labelShow = F,   #区域名称是否显示
                                                 regionColor = ‘gray’,   #区域颜色
                                                 pointShow = F),
               blurSize = 40,  #越大范围越大,越虚化
               minAlpha = 0.5,
               opacity = 3  #不透明度越大越明显
               )

结果展示如下:
remaph
解读: 有几点发现,一是点多才能有热力效果,记录条数太少显示效果较差。二是初始输入数据的第三列密度值大小对结果展现无影响(使用此函数的初始目的是根据不同点的密度不一样,反映不同的热力密度,但是实际变化数值后展示的结果图没有变化)。三是除了密度数据大小变化无影响外,get_theme( )函数里的参数regionColor设置也失效。此函数的热力图的展示与参数设置关系紧密,blurSize和opacity改变对结果展示影响特别大,需自行调整适应。

至此郎大为Chiffon老师开发的REmap包主要内容都实践完毕,再次向大神致敬以及致谢。

4 thoughts on “数据帮:地图可视化REmap包-remapH函数及实例”

  1. 金蝉说道:
    2016年12月5日 下午10:18

    生成重庆经纬度那一段是不是太繁琐了?不是有get_geo_position 函数吗?
    一行代码搞定:get_geo_position (cq)

    登录以回复
  2. 追梦魂说道:
    2016年12月6日 下午9:05

    remapH( )函数可以实现以任意点为中心,这句话不对,因为地图只能显示到省级,以某个城市内的多个点为中心好像就不行!

    登录以回复
    1. 金小贝说道:
      2016年12月12日 上午10:48

      是的,我在后面也有表达,实际使用过程中与理论上不一致,有很多限制。

      登录以回复
  3. OnlyFLY说道:
    2017年4月14日 下午5:08

    remapH函数无法绘制市区级别的热力图,有没有其他途径可以实现的?

    登录以回复

发表评论 取消回复

要发表评论,您必须先登录。

推荐访问


数据分析交流:数据分析交流
Excel学习: Excel学习交流
Python交流:一起学习Python(数据分
SQL交流:一起学习SQL(数据分析
微博:一起大数据

最新提问

  • SQL Chat
  • sql server 不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的表进行了更改或者启用了”阻止保存要求重新创建表的更改”选项。
  • 偏相关分析
  • 复相关系数
  • 【R语言】熵权法确定权重
  • 如何破解Excel VBA密码
  • 解决 vba 报错:要在64位系统上使用,请检查并更新Declare 语句
  • 基于 HuggingFace Transformer 的统一综合自然语言处理库
  • sqlserver分区表索引
  • Navicat连接数据库后不显示库、表、数据

文章标签

ARIMA CBC Excel GBDT KNN Modeler Mysql pandas PostgreSQL python python数据可视化 R SAS sklearn SPSS SQL SVM Tableau TensorFlow VBA 主成分分析 关联规则 决策树 协同过滤 可视化 因子分析 大数据 大数据分析 推荐系统 数据分析 数据可视化 数据挖掘 数据透视表 文本挖掘 时间序列 机器学习 深度学习 神经网络 结构方程 统计学 联合分析 聚类 聚类分析 逻辑回归 随机森林
©2023 一起大数据-技术文章心得 | Design: Newspaperly WordPress Theme