数学建模社区-数学中国

标题: R语言 作业 leaflet leafletCN REmap 的使用 迁徙图 [打印本页]

作者: 1047521767    时间: 2021-10-29 11:41
标题: R语言 作业 leaflet leafletCN REmap 的使用 迁徙图
R语言 作业 leaflet leafletCN REmap 的使用 迁徙图R语言 作业 leaflet包的使用1、添加弹出窗口# 安装包: _6 v2 e: o5 a& i* z3 ^9 B
install.packages("leaflet")
3 M! N, q" z; C* f4 R# 加载包
2 V! f8 ?* `- d2 Klibrary(leaflet)
/ [5 K; y% @  Q9 v( |4 |# 设置地图控件9 b" `& _% B/ n/ s. M  J
m<-leaflet()
1 C. r5 ~# L5 E3 s# yat<-addTiles(m)
6 m) G9 \; [+ D1 ?5 W+ L; F#  在弹出窗口中写一个html格式网页 根据要求来写5 s+ h: A. S/ a0 n, O* ?
shifan<-paste('<p style="color: black;font-family: simsun";>',"杭州师范大学下沙校区","</p>")
% m. k* `( `  f5 ~6 R# 添加marker 自己选择需要的经纬度 popup:弹出窗口$ U2 G% X2 J: c) |  Z( Z# n% i1 G; h
addMarkers(at,lng = 120.390223,lat = 30.319753,popup = shifan)
, @* N" d+ y4 [0 ^6 y# l$ r* a# p3 F/ G* [; D
; e1 C4 `  Y& q  b% g( }
jiliang<-paste('<p style="color: red;font-family: simhei";>',"中国计量大学","</p>")
7 o' g1 l3 s8 ` # 添加marker 0 k  l9 e8 R! s
addMarkers(at,lng = 120.357254,lat = 30.323813,popup = jiliang)3 A! p" _5 A+ F( X- Q) ~8 m$ X
4 b+ J# g% k% n. ?

: G+ @# e2 I; k; b4 h, k1 M' U" p9 r# 这里是添加一个弹出窗口, 设置closebutton=false 不显示关闭按钮9 Q+ s/ Y3 r) t8 ]# r# k" |; m/ p
addPopups(at,lng = 120.357254,lat = 30.323813,popup = jiliang,options = popupOptions(closeButton = FALSE))5 U' l6 ]: v- ?, E. p7 x

' v2 K9 ^$ D. n' t7 l  K. O0 `- W# K9 c5 x
2、使用leafletCN包,demomap命令绘制上海市的地图;单点标注上海交通大学:地图+标点
" E9 }$ k; x3 v$ dinstall.packages("leafletCN")# i- d" w+ q. M; s
library(leafletCN)4 W& ]5 Q6 Q4 g( J! z2 N/ q2 d
# 使用这个命令可以直接绘制上海市地图' ~0 I* a) I+ O8 z
demomap("上海")
6 m# |& ?3 y9 L; x1 N
9 G# N* y" i* S$ ~. [. U" E3 H* ?+ E1 Q- h6 A0 [( m* u7 J
# 管道流 单点标记上海交通大学" v3 C$ M' q; B
leaflet() %>%; m1 ~6 J2 Z) U8 ]1 u8 \  K& k
+     amap() %>%  
  q3 }2 U% ?; {4 E7 h4 m% A+     addMarkers(lng=121.42509, lat=31.02201 ,popup="上海交通大学")
: M( {* X$ N& c- a
& i; D% q9 w! U
: C, Q4 [9 V  X$ q/ D; S3、使用destination.csv数据文件绘制2016年的广州春运迁徙图,把动态页面保存好上传。$ E6 I' G( }6 n
install.packages("REmap")6 K3 L- x  F: g  W
library(REmap)
0 L  A+ o# B0 p) zdestin <- read.csv(file="D:/360MoveData/Users/14326/Desktop/课程/R软件/destination.csv",encoding="gb2312",header=F)1 \" }- q  g: r0 f+ t
head(destin)1 w/ m3 d8 D! T1 q2 U
names(destin)<-c("names","values")% m! G3 Y: g, \! |
markLine_data <- data.frame(origin=rep("广东",10),* X4 L5 k  w3 b4 c
+                             destination=destin[1:10,1],
% n" n4 ^1 M: ?4 i; T+                             color=rep("#fff",10)6 |- v) i& F8 w2 K' y
+ )
8 |/ O- ^3 m& V2 f8 JmarkPoint_data <- markLine_data[markLine_data!=""]4 @6 n" K  ^' r+ `, F
markPoint_data1 <- markPoint_data[which(markPoint_data!="广东"&markPoint_data!="#fff")]1 \7 T; g- g+ B  q! i
# 要自己注册一个AK api key 不然无法get到经纬度
  g3 X  u8 ]9 ooptions(remap.ak = "xxx")
+ P" [/ b2 A8 u/ }4 E5 `% JremapC(destin,6 N. p; m2 h% Z* W8 @. y
+        title="2016年2月6日 广州人口迁出图",* Q9 e8 y" S" l: F! t! Y, l) a
+        subtitle="前10目标省份",. b; e; c& E; @- i1 G7 `
+        theme=get_theme(                                         , P/ ~  c& G& ]* \# W, W
+            #设置相应的背景色调
1 H* f- M( e- B3 h' \  I0 \+            theme="Dark",
% G# r! O: G, |5 h+            lineColor = "#FFFFFF",  1 H) l2 \4 ?7 \* J9 ~
+            titleColor = "#fff",
/ |5 A/ ~- j: k8 v+            borderColor = "#FFFFFF",  #边界颜色: a. A, J( c2 D) `2 C
+            regionColor = "#000000",  #区域颜色
* Q3 g+ F1 V- ^7 _$ M- j) ~+            pointShow = F,
' i  K( H. Y0 V3 `+            pointColor = "gold"2 k$ y  C& d5 O, Q, M# V% N0 L
+        ),& O7 Y( m" J! B# _
+        color=c('#CD0000','#FFEC8B'),   #颜色渐变方案,对应每个地区不同的value
' f: Y1 Y3 d4 t! O% C+        markLineData=markLine_data,   
/ U6 \) F/ E( ]; W7 z6 r+        markLineTheme=markLineControl(
( F$ N' d$ K- I2 @+            color="white", $ I. K" z/ k* B# u1 \
+            lineWidth=2, 8 T1 u9 {; B: e1 c) Q- q  ?/ ?
+            lineType="dashed"  0 t5 T- P6 i% }0 }9 g$ H
+        ),
0 G( R+ Z% n' c6 A1 X) v5 j9 B+        markPointData=markPoint_data1,
' |. S! W, I0 w, Z+        markPointTheme=markPointControl(; S% c5 O( {  C9 M
+            symbolSize=13,  
1 }; w, U5 M2 D$ C+ c! l+            effect=T,           8 ~0 l- M2 p- j, Z* V  |0 j
+            effectType="scale",   
! p- ?5 {, [7 i  ], }4 Q% o+            color="white"2 w6 q1 B. j/ {: ~$ R  z
+        )1 x7 G$ R3 x( {# f7 w
+ )
4 m# T9 X8 {, A/ S; c0 q4 [! G' F2 z% d: l- P1 }# L( E
# K- b3 T  H" i8 d) N  V

  G  U6 `% g. s9 y( v. c
作者: 试试吧    时间: 2021-10-30 17:55
好,谢谢楼主的热情分享的资料5 m1 f: g, D% c- _- p$ M6 e1 u9 h





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5