数学建模社区-数学中国

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

作者: 1047521767    时间: 2021-10-29 11:41
标题: R语言 作业 leaflet leafletCN REmap 的使用 迁徙图
R语言 作业 leaflet leafletCN REmap 的使用 迁徙图R语言 作业 leaflet包的使用1、添加弹出窗口# 安装包$ ]2 F6 m3 e* d$ `- V
install.packages("leaflet")
0 K& g4 b: F' ], _# 加载包1 B: e+ o, c$ Q' O; h
library(leaflet)' ^2 {0 c( i& `" E$ G* @
# 设置地图控件( T- L" [# x: i  `& M
m<-leaflet()
- B) Y! G$ h1 t1 m  s7 t* |* \& S" Jat<-addTiles(m)
$ l& y1 U' G, F! x7 n#  在弹出窗口中写一个html格式网页 根据要求来写) D4 }) K' L6 t0 w! Y
shifan<-paste('<p style="color: black;font-family: simsun";>',"杭州师范大学下沙校区","</p>")
) q5 D8 q5 e- t3 G; {# 添加marker 自己选择需要的经纬度 popup:弹出窗口5 i! |/ [* y! n/ ~, ^
addMarkers(at,lng = 120.390223,lat = 30.319753,popup = shifan)
1 c- V( t0 y: H/ h9 b$ T) P+ Y. \" f5 p3 H

1 r, y/ N1 M% i) Y, {  C jiliang<-paste('<p style="color: red;font-family: simhei";>',"中国计量大学","</p>")2 G0 p# ?& o3 b/ h/ ]
# 添加marker
. I; X- V4 ]) J5 j$ _' ^! x addMarkers(at,lng = 120.357254,lat = 30.323813,popup = jiliang)# H; r5 P! L4 B4 a0 X) ?' ~; S

6 W& J* \% W9 `- X; N5 m0 R6 I5 ~% C
# 这里是添加一个弹出窗口, 设置closebutton=false 不显示关闭按钮
$ }& v  u, [; o( T( V' G% |! maddPopups(at,lng = 120.357254,lat = 30.323813,popup = jiliang,options = popupOptions(closeButton = FALSE)): p% s* S! X, i
. R: b0 s6 ?7 }$ v6 U/ z' [1 {. S

6 D$ u! d! i' q: @5 a- y# m2、使用leafletCN包,demomap命令绘制上海市的地图;单点标注上海交通大学:地图+标点
; q2 d4 U1 r' D" k: i; C, j2 Ninstall.packages("leafletCN")3 w# a4 w: G8 w1 M. b+ D& G% [
library(leafletCN)$ f  T7 Y9 h3 g/ R! [8 r0 x3 i& I
# 使用这个命令可以直接绘制上海市地图
4 D/ p, K0 I3 m- n) ^demomap("上海")
% Y/ X; ~: x7 Q; u2 a
) i4 N" x( I3 u' G; K
- L* j9 r7 G: n3 p, }( V6 g1 Q. f# 管道流 单点标记上海交通大学. j8 H) J: P4 \4 {! _, t7 J
leaflet() %>%+ @& R3 y+ t1 P# v5 |+ b! a' p
+     amap() %>%  / J9 f6 b7 v: o" I9 P0 N1 u
+     addMarkers(lng=121.42509, lat=31.02201 ,popup="上海交通大学")
" c2 o1 H5 `/ K$ d* v; y& L0 X& d$ N4 c" W& t9 N

  I+ f/ |  j8 s3、使用destination.csv数据文件绘制2016年的广州春运迁徙图,把动态页面保存好上传。* w" d! I* [/ U
install.packages("REmap")
  {9 }% T8 u2 T  s: slibrary(REmap)* S& B& Q" r; q. }: \6 M
destin <- read.csv(file="D:/360MoveData/Users/14326/Desktop/课程/R软件/destination.csv",encoding="gb2312",header=F)
- j1 g& m. V! K; J* }+ fhead(destin)
7 ^% b: c+ q/ _, [4 `, Anames(destin)<-c("names","values")* I6 M3 V; d: [/ _, H. K
markLine_data <- data.frame(origin=rep("广东",10),
7 w: _+ _; K' e/ f7 e+                             destination=destin[1:10,1],6 ^" r3 x% t- f1 _' w3 U
+                             color=rep("#fff",10)# f3 \5 T% c. I
+ )
/ _. q  d6 u% z8 j1 E$ B. Y5 K& Q4 {markPoint_data <- markLine_data[markLine_data!=""]+ B% L$ Q1 Z" B7 [# G+ E9 l
markPoint_data1 <- markPoint_data[which(markPoint_data!="广东"&markPoint_data!="#fff")]
/ m( b( R# _* D3 Z. h" |8 q. O# 要自己注册一个AK api key 不然无法get到经纬度
8 }# i# N* K. }; ~  uoptions(remap.ak = "xxx")
! J# E5 J8 [, N/ B* oremapC(destin,
# i8 U0 Q0 ]* \. ]+        title="2016年2月6日 广州人口迁出图",9 A! @$ \) l2 w: H; w3 \# I! j
+        subtitle="前10目标省份",  m8 r% B* e9 O
+        theme=get_theme(                                         
  j! H5 E' }. O" O! B8 \7 B9 x2 e% L+            #设置相应的背景色调
. e0 K* T9 h) S# q! Z+            theme="Dark",
% |' w4 L) {' D' h! ?2 A) z0 C1 @+            lineColor = "#FFFFFF",  : D! D( w8 v2 }  }+ p& D$ z
+            titleColor = "#fff",( `$ @2 Q1 J1 C# w& x9 ?- J
+            borderColor = "#FFFFFF",  #边界颜色8 k3 B1 p1 S, b  s
+            regionColor = "#000000",  #区域颜色
, m6 x9 G3 v+ v% o+            pointShow = F, $ ?; h. o( b$ A' i& V2 a
+            pointColor = "gold"
9 G. h9 a+ o& ~' {6 O, Z+        ),6 l/ l! Q0 y8 Z# L8 A/ F' h
+        color=c('#CD0000','#FFEC8B'),   #颜色渐变方案,对应每个地区不同的value3 A; [4 h. j2 z2 U
+        markLineData=markLine_data,   2 t" K7 Y% b- _' F. k' o
+        markLineTheme=markLineControl(4 ~: ]$ Y9 r# t/ b0 S8 y: j
+            color="white",
& a( \3 Q& l( O0 W8 _+            lineWidth=2,
! _% Q# L6 W: S1 e  A" m$ p$ w, m8 j+            lineType="dashed"  8 m2 @5 d1 @, J+ `4 k
+        ),- s' F+ }& R9 X
+        markPointData=markPoint_data1,% g8 _) [" C$ l7 p: T7 b
+        markPointTheme=markPointControl(( r. ^% l* ]! U" W% y( k
+            symbolSize=13,  
& g& E0 y+ ?. L, Z8 _0 i7 y" F+            effect=T,           
% ~4 l- A1 o+ q5 @+            effectType="scale",   
; Q* J/ {5 j, \& c5 E7 i: ]0 d7 G- x+            color="white"( t2 Q$ B$ Z6 l( u" v
+        )
" i0 ^& I4 f8 M. w5 I0 q! T+ )' b* X4 z& }4 a
7 O' t8 G3 V- O& ]
) L( Z8 F( h; {2 K6 s5 ~6 `

: S+ k+ w) B. q9 F% m6 s. O
作者: 试试吧    时间: 2021-10-30 17:55
好,谢谢楼主的热情分享的资料
! o" p; N9 D0 c% x+ e+ s8 k2 \




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