数学建模社区-数学中国
标题:
R语言 作业 leaflet leafletCN REmap 的使用 迁徙图
[打印本页]
作者:
1047521767
时间:
2021-10-29 11:41
标题:
R语言 作业 leaflet leafletCN REmap 的使用 迁徙图
R语言 作业 leaflet leafletCN REmap 的使用 迁徙图
R语言 作业 leaflet包的使用
1、添加弹出窗口
# 安装包
# l* [3 [- Z0 A
install.packages("leaflet")
6 B5 K8 s) t- g$ }$ [* [; q' ]
# 加载包
9 z* Q8 n) Q+ Z3 B$ Z3 C
library(leaflet)
5 ^" e) s+ h$ i$ O% ~6 T5 Y
# 设置地图控件
' [* ]' ], j, i
m<-leaflet()
5 r! v6 l6 |# C( w* z( W ]2 e
at<-addTiles(m)
) C# h# y* @# x( J: {$ L7 V5 Q% c
# 在弹出窗口中写一个html格式网页 根据要求来写
- k0 ^3 o+ g# J% a3 l# ?
shifan<-paste('<p style="color: black;font-family: simsun";>',"杭州师范大学下沙校区","</p>")
5 Z+ `5 n4 O' d: ]* e/ H+ F
# 添加marker 自己选择需要的经纬度 popup:弹出窗口
' U9 i! C) _. Z6 a# F5 g% N& O' n. j
addMarkers(at,lng = 120.390223,lat = 30.319753,popup = shifan)
3 H5 F7 v0 Q; S* V
% J" K* d# R! C. T. k
- v. x8 Q* v Q
jiliang<-paste('<p style="color: red;font-family: simhei";>',"中国计量大学","</p>")
0 d! O) M) t6 e* z5 u
# 添加marker
* f9 S) |7 W9 D# l J
addMarkers(at,lng = 120.357254,lat = 30.323813,popup = jiliang)
$ s1 q. d0 u! p- Y2 b
' J% w( ^2 r P" }" h
9 a m, |0 {( J6 v6 B) h
# 这里是添加一个弹出窗口, 设置closebutton=false 不显示关闭按钮
9 G$ N! Y. o; P. w2 a
addPopups(at,lng = 120.357254,lat = 30.323813,popup = jiliang,options = popupOptions(closeButton = FALSE))
, j( p8 k, z% ]: h! J _7 x' ]7 t9 q
1 H% F0 g% I. @& N7 Q
+ u9 W/ x# s8 h# o3 A0 Q2 J
2、使用leafletCN包,demomap命令绘制上海市的地图;
单点标注上海交通大学:地图+标点
/ ~& L0 W6 _, o( r( L. o1 n. B
install.packages("leafletCN")
: `! G0 M* y* M0 o
library(leafletCN)
n( h1 P/ f2 l {. I
# 使用这个命令可以直接绘制上海市地图
8 ^) H+ q* l9 B# V- X* x
demomap("上海")
6 v: [! I. n b6 x
9 ^, e I# _: H& T# J( v" y
: c, l% |8 J& s, A J. H8 ]7 C
# 管道流 单点标记上海交通大学
* v1 ?+ e2 X& j+ F( Z
leaflet() %>%
n1 x. b2 X1 R5 V. P, C2 w
+ amap() %>%
; Q. v0 O- b1 C
+ addMarkers(lng=121.42509, lat=31.02201 ,popup="上海交通大学")
9 s+ I8 `, y3 N- c, k O& p- I4 l
& P. [& }# a/ g" S7 G8 [) }
% Q( Y+ v4 P X9 D! i/ H
3、使用destination.csv数据文件绘制2016年的广州春运迁徙图,把动态页面保存好上传。
& ~7 Z. `* y* |3 Q
install.packages("REmap")
* Y t! E7 q: ^0 E9 f6 `) \
library(REmap)
1 X* ^4 ^; u3 C
destin <- read.csv(file="D:/360MoveData/Users/14326/Desktop/课程/R软件/destination.csv",encoding="gb2312",header=F)
4 x4 m5 J: X8 L) y+ P; a# X+ W- B& a* I: |
head(destin)
7 L( j. R( M' J6 P
names(destin)<-c("names","values")
/ |6 G& H5 L- K- H H! O4 A) u# x
markLine_data <- data.frame(origin=rep("广东",10),
* `! j) E2 o# h& D* d4 F
+ destination=destin[1:10,1],
b: P- B _+ t$ w; `8 L0 {
+ color=rep("#fff",10)
. h# ?7 q$ ~) N
+ )
& C" f6 G+ U% F; a
markPoint_data <- markLine_data[markLine_data!=""]
9 H1 N: u1 |2 x" v1 z. |7 [0 b
markPoint_data1 <- markPoint_data[which(markPoint_data!="广东"&markPoint_data!="#fff")]
) P$ U4 L! {) q3 h
# 要自己注册一个AK api key 不然无法get到经纬度
7 t% n+ w( v3 X* c
options(remap.ak = "xxx")
; s% l2 X& L" G0 ]0 m
remapC(destin,
- W" f8 x2 \6 m X3 S
+ title="2016年2月6日 广州人口迁出图",
7 v5 c1 t/ {# U4 N9 u8 o
+ subtitle="前10目标省份",
, K: U2 p. f0 ^% I8 K
+ theme=get_theme(
0 P' [! h$ M4 V2 Z# d) B* m) J8 |
+ #设置相应的背景色调
3 Q2 I4 ^) ~% {6 _: q
+ theme="Dark",
, V1 O$ c8 r. q6 J. k5 P& b7 J
+ lineColor = "#FFFFFF",
4 J% T& y3 d0 H- ^
+ titleColor = "#fff",
; a" r0 v+ w; C6 W; E
+ borderColor = "#FFFFFF", #边界颜色
" P; B( r/ s$ @7 V
+ regionColor = "#000000", #区域颜色
% X2 L% E! [8 h
+ pointShow = F,
5 I9 V9 ]8 }2 R+ \& e5 r
+ pointColor = "gold"
2 o, g& c* j C) m' x3 P9 T; ?
+ ),
( W& [& y [: O {$ n5 l- n
+ color=c('#CD0000','#FFEC8B'), #颜色渐变方案,对应每个地区不同的value
5 T1 u5 O# E2 F( J
+ markLineData=markLine_data,
9 m, a( o4 b9 L! m
+ markLineTheme=markLineControl(
1 k4 o0 ~/ k9 ~* F! K8 w+ r# V# e
+ color="white",
. z7 K! K" r/ @* Z U
+ lineWidth=2,
' o5 L: P: z7 z+ m! G
+ lineType="dashed"
) m: K; d( U: j0 ~/ G1 }
+ ),
9 T! e1 L) E1 N1 R, G# Z! b
+ markPointData=markPoint_data1,
" y. t0 C8 E1 g" H
+ markPointTheme=markPointControl(
8 T3 X! P, n1 A7 \( A6 w
+ symbolSize=13,
- H4 S1 Q& U' s/ _+ h
+ effect=T,
2 V) T( m% Y2 l; T
+ effectType="scale",
/ ?" h% n5 r, U9 s( w/ }
+ color="white"
7 p- V# e# {9 p% l) d: ^
+ )
+ e$ ]8 i) L8 |- O
+ )
) H& ~7 [- @. E. W1 c% l* H
L, M' \5 n+ j1 P. ]
2 Q4 |9 Z' ^: P2 X- K1 m8 i) d
6 y7 }0 Z6 T( O$ a
作者:
试试吧
时间:
2021-10-30 17:55
好,谢谢楼主的热情分享的资料
+ u) {! f7 B2 ]. ?2 J
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5