首先,加载recharts
:
library(recharts)
热力图只有一种类型:heatmap。
关键是:
x
y
,数值型纬度lat
和经度lng
echartr(data, y, lng, lat, <series>, <t>, <type>)
参数 | 要求 |
---|---|
data |
数据框格式的源数据 |
y |
数值型应变量。如提供多个变量,只传入第一个。 |
series |
数据系列变量,转为因子后计算。如提供多个变量,只传入第一个。 |
lng |
经度或x坐标 |
lat |
纬度或y坐标 |
t |
时间轴变量,转为因子后计算。如提供多个变量,只传入第一个。 |
type |
‘heatmap’ |
下面是一个虚构数据集。
data = rbind(
data.frame(
lng=100+rnorm(100,0, 1)*600, lat=150+rnorm(100,0, 1)*50,
y=abs(rnorm(100,0,1))),
data.frame(
lng=rnorm(200,0, 1)*1000, lat=rnorm(200,0, 1)*800,
y=abs(rnorm(200,0,1))),
data.frame(lng=400+rnorm(20,0, 1)*300, lat=5+rnorm(20,0, 1)*10,
y=abs(rnorm(100,0,1))))
str(data)
## 'data.frame': 400 obs. of 3 variables:
## $ lng: num 638 320 282 121 239 ...
## $ lat: num 48.3 90.9 103.6 221.6 152.8 ...
## $ y : num 0.713 1.047 1.74 0.401 0.916 ...
echartr(data,lng=lng,lat=lat,y=y,type='heatmap') %>%
setTitle("Heatmap", "Fictious Data")
热力图在地图中更为实用。请参考addHeatmap
函数。
接下来可以配置控件、添加标注点/标注线,以及美化成图。
参考相关函数,尽情探索吧。