如何在R中绘制热力地图

一、首先绘画出地图map 地图(map) 按一定的比例运用符号、颜色、文字注记等描绘显示地球表面的自然地理、 行政区域、社会经济状况的图形。 地图绘制思路: ① 绘制需要展示的地图,获取地图对象,获取每个区域的名字以及顺序; ② 在每个区域的名字和顺序后面,加上我们需要展示的数据以及经纬度; ③ 根据数据的大小,设置每个区域展示的颜色的深浅,以区分每个区域; √ 对数据进行标准化处理,使用[0,1]值,代表颜色的透明度,以控制颜色深浅; ④ 根据颜色进行填色 ⑤ 根据经纬度进行标注地图的名字

那么如何绘制地图呢? 首先绘制地图需要的包: install.packages(“maps”) install.packages(“mapdata”) 地图函数: map(database,fill=FALSE,col) databae 地图的数据库 fill 是否填充,默认为不填充地图区域 col 填充的颜色,为RGB颜色

地图标注函数: text(x,y,text,cex) x x轴的坐标,经度 y y轴的坐标,纬度 text 要展示的文字 cex 字体的缩放大小

代码实现:

install.packages("maps")
install.packages("mapdata")

library(maps)
library(mapdata)

#第一步,绘制需要展示的地图,获取地图对象,获取每个区域的名字以及顺序;
m <- map("state");
m$names

#第二步,在每个区域的名字和顺序后面,加上我们需要展示的数据以及经纬度;
data <- read.csv('data.csv', stringsAsFactors=FALSE)

#第三步、根据数据的大小,设置每个区域展示的颜色的深浅,以区分每个区域;
numbers <- data$sales;
#将销售额进行标准化
scale <- (numbers-min(numbers))/(max(numbers)-min(numbers))
#使用标准化后的额数据,进行透明度的设置
colors <- rgb(0, 0.3, 1, scale);

#第四步,根据颜色进行填色
map("state", fill=TRUE, col=colors);

#第五步、根据经纬度进行标注地图的名字。
text(data$x, data$y, data$name, cex = 0.6) 

绘制好的地图:

二、在地图上增加热力地图 热力地图: 以特殊高亮的形式,显示数据地理分布情况的图形。 热力地图绘制函数: symbols(x,y,circles,inches=TRUE,add=FALSE,bg) x x轴的坐标,经度 y y轴的坐标,纬度 circles 圆形的半径,设置为显示数值的大小 inches 缩放比例,将圆形的大小缩放到合适程度 add 是否追加到图形中,在地图上增加图形,需要设置为TRUE bg 图形的背景色

代码实现:

library(maps)
library(mapdata)

#根据得到的名称,按顺序把我们的数据填入其中,
#这里需要进行数据处理,一般需要手工处理数据。
data <- read.csv('data.csv', stringsAsFactors=FALSE)

#根据数量,我们填充颜色
numbers <- data$sales;
#将销售额进行标准化
scale <- (numbers-min(numbers))/(max(numbers)-min(numbers))
#使用标准化后的额数据,进行透明度的设置
#数据越小,颜色越透明
colors <- rgb(0, 0.5, 1, scale);

#绘制地图,并且,填充颜色
map("state", fill=TRUE, col=colors);
#给地图加上地名标记
text(data$x, data$y, data$name, cex = 0.6) 

symbols(
  data$x, 
  data$y, 
  circles=data$sales, 
  add=TRUE,
  inches=0.08,
  bg="#FF000055"
);


symbols(
  data$x, 
  data$y, 
  circles=data$sales, 
  add=TRUE,
  inches=0.16,
  bg="#FF000055"
);

热力地图即绘制成功:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Material Design组件

Human Interface Guidelines —— Image Views & Maps & Pages

32670
来自专栏小古哥的博客园

CSS3边框图片-像素虚边的问题

虽然CSS3新增了这个功能,但是在W3school里面并没有给出具体详细的解释,还好网上不乏大神给你我们很全面的解释其中的原理-css3:border-imag...

27240
来自专栏数据小魔方

think-cell chart系列18——复合图表与次坐标轴

今天跟大家分享的是think-cell chart系列的第18篇——复合图表与次坐标轴。 今天要跟大家讲解如何在think-cell chart中开启次坐标轴,...

1.3K70
来自专栏IMWeb前端团队

利用canvas实现一个抠图小工具

利用canvas实现一个抠图小工具 0 前言 作为新一代的前端开发工程师,PS抠图切图已经不是必备技能了,我们有UI/交互/视觉等更专业的设计同学帮我们做这个事...

47050
来自专栏练小习的专栏

web图像的常见应用策略与技巧

本文介绍一些关于响应式图像的适配应用策略,回退原理,SVG的换色技巧,雪碧图的百分比定位计算公式等相关的一些小知识点,目的在于帮助一部分同学快速的理清图像应用思...

21090
来自专栏儿童编程

儿童编程Scratch之“画笔”基础功能学习总结

Scratch中“画笔”功能能够让使用者模拟画笔在舞台上创作,合理运用能够给作品带来极大的趣味性。

48020
来自专栏进步博客

[译]响应式图像

自从2010年Ethan Marcotte开始讨论响应式网页设计,开发者和设计师们竞相寻求处理响应式图片的方法。这的确是一个棘手的问题 ,因为我们对同一个网站在...

10020
来自专栏瞎说开发那些事

使用RPA绘制素描图

21960
来自专栏PPV课数据科学社区

《用地图说话》之:十字绣中国热力数据地图

作图思路: 准备一块300*300小单元格组成的区域,对照地图图形,在每个省图形范围内的单元格填入该省的数据,然后对这些单元格应用条件格式->色阶,就形成了一幅...

31730
来自专栏懒人开发

(1.4)James Stewart Calculus 5th Edition: Graphing Calculators and Computers

在电脑的展现窗口或者屏幕中,矩形部分,我们叫 矩形视图。(不知道这样翻译好不好,反正理解成一个矩形区域就行)

9540

扫码关注云+社区

领取腾讯云代金券