数学建模社区-数学中国
标题:
R语言 作业 leaflet leafletCN REmap 的使用 迁徙图
[打印本页]
作者:
1047521767
时间:
2021-10-29 11:41
标题:
R语言 作业 leaflet leafletCN REmap 的使用 迁徙图
R语言 作业 leaflet leafletCN REmap 的使用 迁徙图
R语言 作业 leaflet包的使用
1、添加弹出窗口
# 安装包
3 Q7 t; E( `: u3 o( r) z
install.packages("leaflet")
% i* q+ g9 ~: v
# 加载包
8 q% ~4 E& a3 O5 w; W) v# m
library(leaflet)
- Y( t: H/ {2 v d
# 设置地图控件
* M3 p% b0 Z# p! F
m<-leaflet()
* n g+ ]: I1 |. s% f) K# g6 J
at<-addTiles(m)
' d! q8 g3 ?0 g
# 在弹出窗口中写一个html格式网页 根据要求来写
+ p- ^1 K5 q" }, J( {/ U, F
shifan<-paste('<p style="color: black;font-family: simsun";>',"杭州师范大学下沙校区","</p>")
$ [0 s2 I& `- d0 d! M+ j
# 添加marker 自己选择需要的经纬度 popup:弹出窗口
- ^# }% O, S: ~0 o. a7 p: R
addMarkers(at,lng = 120.390223,lat = 30.319753,popup = shifan)
9 b& y" a* L/ Q7 f3 M( o
9 E/ n5 e/ v. ^% h% d
: E/ I z% L( a. ]' \
jiliang<-paste('<p style="color: red;font-family: simhei";>',"中国计量大学","</p>")
1 @/ k4 C6 l" ~" l- [, H+ k
# 添加marker
1 l4 l" L8 Y3 R4 C( y; g# y
addMarkers(at,lng = 120.357254,lat = 30.323813,popup = jiliang)
c8 r& \4 z, p6 |/ _
/ c- m; b; ^7 A8 o7 [! }
% X0 }8 z, v+ P$ [$ a4 _0 w
# 这里是添加一个弹出窗口, 设置closebutton=false 不显示关闭按钮
/ v- s- b; \! Z: X- e& O( A
addPopups(at,lng = 120.357254,lat = 30.323813,popup = jiliang,options = popupOptions(closeButton = FALSE))
# i+ u2 m: g. A8 T+ f2 {% l
l G; m! B0 @6 ~( q% w
- V/ F: Y4 N( g1 c" D, X7 a
2、使用leafletCN包,demomap命令绘制上海市的地图;
单点标注上海交通大学:地图+标点
2 o9 ~5 P5 P$ v* p
install.packages("leafletCN")
8 i h, o4 t' M; p
library(leafletCN)
$ D" y# P9 W6 K1 l
# 使用这个命令可以直接绘制上海市地图
1 ?( }; u/ t' X* O5 x _
demomap("上海")
1 \& P7 u6 i- U+ ^# V3 F2 K
. Z) T" H, [. x: O
6 x. t2 i' K& u: v$ k+ e
# 管道流 单点标记上海交通大学
: u. M8 r, b) `# f/ D( `
leaflet() %>%
% X3 |6 W q3 C
+ amap() %>%
2 I' w5 c J: z; G& c( f
+ addMarkers(lng=121.42509, lat=31.02201 ,popup="上海交通大学")
4 y) ], e2 {1 n( @- ?0 P/ Z. c
0 y' A- E) s* E- ~$ _& E9 h; J
2 n# ~( J9 [( c J3 Y
3、使用destination.csv数据文件绘制2016年的广州春运迁徙图,把动态页面保存好上传。
! N( g) ]* ]0 m$ X9 m* {2 E" a' c6 k- V
install.packages("REmap")
Y9 E' Q) P0 M- c7 v2 R
library(REmap)
) {, _# \* T! P" q
destin <- read.csv(file="D:/360MoveData/Users/14326/Desktop/课程/R软件/destination.csv",encoding="gb2312",header=F)
7 z8 c. i+ {; t0 x8 e2 c0 [
head(destin)
& R B8 H; L3 `/ C
names(destin)<-c("names","values")
- S; ~' L8 v" E( T
markLine_data <- data.frame(origin=rep("广东",10),
& S4 f3 V0 G* K6 y2 v
+ destination=destin[1:10,1],
% m. I3 S" N! t* r
+ color=rep("#fff",10)
1 m9 v9 Q v5 h% g% C8 b3 O
+ )
l5 t6 q' Z6 g# v, H ]& l; [
markPoint_data <- markLine_data[markLine_data!=""]
3 x. {, Q" X h5 [& Z
markPoint_data1 <- markPoint_data[which(markPoint_data!="广东"&markPoint_data!="#fff")]
$ N' ?6 g, m8 F: u, W$ C$ k- s2 M
# 要自己注册一个AK api key 不然无法get到经纬度
. o3 H" ~5 t2 P. N- _. k9 A
options(remap.ak = "xxx")
+ K: M y2 j0 I7 c$ U2 N
remapC(destin,
/ y+ V, \ ]' Y9 [3 {) V/ C
+ title="2016年2月6日 广州人口迁出图",
- F* k5 h2 P& {: Z
+ subtitle="前10目标省份",
- r; K5 ^# L7 @5 k
+ theme=get_theme(
9 ]; I5 w$ _* S: ]7 q F
+ #设置相应的背景色调
+ L" v1 T# i! z; E
+ theme="Dark",
- ~' m$ @% r2 l- ]+ { _$ V, r
+ lineColor = "#FFFFFF",
$ F: G# s! m# K% ]4 Y, T
+ titleColor = "#fff",
% m/ E0 S. f R" x7 s$ Y
+ borderColor = "#FFFFFF", #边界颜色
! t, k _$ q# L6 r7 [! v
+ regionColor = "#000000", #区域颜色
' i/ |8 E6 p( C- X. C) P. W5 E5 X
+ pointShow = F,
5 J1 B, G* V8 U! J) l$ G
+ pointColor = "gold"
0 [9 z! Q5 V9 N4 d, E( S
+ ),
! C9 w# H& }- c2 c% C J* {
+ color=c('#CD0000','#FFEC8B'), #颜色渐变方案,对应每个地区不同的value
4 U7 ~% `1 n+ M4 Q
+ markLineData=markLine_data,
5 ?% g- d8 ~$ C4 m' s3 F6 [. G
+ markLineTheme=markLineControl(
$ U' q' G/ y1 M; f9 D. T( u
+ color="white",
& p. c8 R3 A+ z# m% l8 u
+ lineWidth=2,
M, c1 W4 |1 V7 m5 h) R9 }7 ?
+ lineType="dashed"
1 H! ] E5 Y. N8 i+ P K3 m; k
+ ),
- {2 u7 t O) [
+ markPointData=markPoint_data1,
# q v, d! i6 u6 O S7 P
+ markPointTheme=markPointControl(
' ~' \6 d% e: N6 n* } `
+ symbolSize=13,
1 a( H# X& s5 u6 e/ |- {$ K5 ^( z
+ effect=T,
! K% Z- A' j; B. F) G7 W$ a
+ effectType="scale",
1 |+ p5 u3 b: ?. l/ Q
+ color="white"
: y7 o! w/ m* O5 R2 w
+ )
/ M8 ^6 A3 z) f+ P& H& b* y2 Z L
+ )
- x/ C/ f" L. B8 R
8 p' ~/ w4 k- C- E# X0 B
: }$ N: _% g6 v ?
) O8 r5 ?6 h, p G
作者:
试试吧
时间:
2021-10-30 17:55
好,谢谢楼主的热情分享的资料
7 z. |+ `; g. h) c. T/ Z- r* |- x {
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5