数学建模社区-数学中国

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

作者: 1047521767    时间: 2021-10-29 11:41
标题: R语言 作业 leaflet leafletCN REmap 的使用 迁徙图
R语言 作业 leaflet leafletCN REmap 的使用 迁徙图R语言 作业 leaflet包的使用1、添加弹出窗口# 安装包
1 o; G5 e# q9 ?+ P3 f3 c$ qinstall.packages("leaflet")6 }9 k3 L0 ~8 B
# 加载包1 M3 O. e4 D; A( Z3 L  F9 {9 O/ ]( A
library(leaflet), Z( F- Y, q; V
# 设置地图控件
8 h$ u% p% y( wm<-leaflet()
+ ?5 m# \2 A+ q6 Hat<-addTiles(m)
2 w+ D6 n6 P% g# Q4 |0 C, j#  在弹出窗口中写一个html格式网页 根据要求来写" O, n6 E4 C: a. F& V
shifan<-paste('<p style="color: black;font-family: simsun";>',"杭州师范大学下沙校区","</p>")2 q3 a5 m- Z3 @/ j) [' T% H/ n' V
# 添加marker 自己选择需要的经纬度 popup:弹出窗口
5 n8 p) I: O+ B% S1 XaddMarkers(at,lng = 120.390223,lat = 30.319753,popup = shifan)
0 ?( G7 L: k. s+ }" f( f; W/ Y/ V$ D
/ {1 N& ^3 ^- x) ]& \  I* C. @! B" C- l
jiliang<-paste('<p style="color: red;font-family: simhei";>',"中国计量大学","</p>")1 m! v% y/ r* P6 h/ N6 p. k
# 添加marker
- _) u7 m0 H1 ~4 U addMarkers(at,lng = 120.357254,lat = 30.323813,popup = jiliang)2 f; W! Q+ V9 ]& x9 i# e7 \' a

( u: Z* l1 |: c
: R& S, H; \, O; ]7 d0 h4 V# 这里是添加一个弹出窗口, 设置closebutton=false 不显示关闭按钮
; e: u  x% V4 X4 r0 U' \addPopups(at,lng = 120.357254,lat = 30.323813,popup = jiliang,options = popupOptions(closeButton = FALSE))  `. c5 A0 z6 v4 ~" [9 Z

# d  D4 Q; y5 O) l% }# S' x9 K" g
) i: E+ q& s+ M' E2、使用leafletCN包,demomap命令绘制上海市的地图;单点标注上海交通大学:地图+标点" L, k" O% v6 G2 i& Q  q, A
install.packages("leafletCN")% K) ^* Z( f: _: m7 p
library(leafletCN). |/ ~# d  @% ]. S4 V4 A; |
# 使用这个命令可以直接绘制上海市地图
7 G2 S* G/ r4 I) e$ [demomap("上海")! {& O2 h: |+ O# N( j9 W# }( L
& T( q! t, e- Z0 i+ p2 \, l
- U2 N# U0 N% J3 E8 b& c, w
# 管道流 单点标记上海交通大学
9 Z4 y; L! Y+ R3 K0 t6 Uleaflet() %>%. Z+ S+ b  _/ s* |" p( v0 t6 B, t
+     amap() %>%  
$ U8 f- k0 W4 b& H  Q3 M+     addMarkers(lng=121.42509, lat=31.02201 ,popup="上海交通大学")8 g; o1 O% }* E( F9 Q1 s! H

9 d. o' `8 M. R! c1 S
" C2 ?, F$ \& [- {! ~3、使用destination.csv数据文件绘制2016年的广州春运迁徙图,把动态页面保存好上传。
# ?0 ?; f- V  B" L5 }install.packages("REmap")+ b( r+ Y; G- P8 V
library(REmap)
) ]! S6 B! _( g0 Ldestin <- read.csv(file="D:/360MoveData/Users/14326/Desktop/课程/R软件/destination.csv",encoding="gb2312",header=F)
3 M5 E% r3 G* Y! ~- ^5 ?head(destin); O: P- h- A5 w; @; l
names(destin)<-c("names","values")( C7 H+ g' {) C! W) S0 g
markLine_data <- data.frame(origin=rep("广东",10),& ?% ]& [* G) ~% E* u/ H2 H
+                             destination=destin[1:10,1],4 R( G/ @  h5 A. O
+                             color=rep("#fff",10)
) z$ ?0 G9 o' q+ )
! v' u* B7 V* N( BmarkPoint_data <- markLine_data[markLine_data!=""]
) T/ k+ f: m! XmarkPoint_data1 <- markPoint_data[which(markPoint_data!="广东"&markPoint_data!="#fff")]
8 X( {( P2 @+ k# 要自己注册一个AK api key 不然无法get到经纬度* p9 P0 P- k0 q' \! T
options(remap.ak = "xxx")
& n) G8 v" i0 f: c; }) M* sremapC(destin,
! I% C& ?1 c/ ]" B) }# H+        title="2016年2月6日 广州人口迁出图",
$ p0 K# F0 X6 }# l+        subtitle="前10目标省份",
9 \4 K6 i% |1 x+        theme=get_theme(                                         
& O8 D% T2 h- S' j, ^/ h+            #设置相应的背景色调, T. _: [7 W: E
+            theme="Dark",
" i# N4 S( B: y& t) @8 f+            lineColor = "#FFFFFF",  * K+ n% u9 w: K9 a+ G
+            titleColor = "#fff",
' y2 h5 G* E& X: d, K1 H4 W+            borderColor = "#FFFFFF",  #边界颜色
0 k9 h5 S$ S0 X& f# g$ @+            regionColor = "#000000",  #区域颜色
2 N$ w2 g" Z/ q5 w  [( _+            pointShow = F, ; d( d8 [+ [& A' Y9 o  t" d# T
+            pointColor = "gold") E" C, O: g! C* i% w3 d
+        ),$ @8 v7 W( T$ g- k* G2 l
+        color=c('#CD0000','#FFEC8B'),   #颜色渐变方案,对应每个地区不同的value% |( v& j$ Z: i* `
+        markLineData=markLine_data,   
* v+ P8 P; B! p& f& p+        markLineTheme=markLineControl(. T  Y  t- u1 A1 E  n; @
+            color="white",
! U9 b; {" X' ~7 {; O, N+            lineWidth=2,
! H3 A! B* M) q6 P; G, g+            lineType="dashed"  
) A" z# {1 O8 d. N( o, T+        ),3 m8 F) A! n, q2 v
+        markPointData=markPoint_data1,
3 F: n' P( g) n7 I. p+        markPointTheme=markPointControl(
! F" S8 x# g% v9 j+            symbolSize=13,  
) q# g# H" r9 M7 N! {+            effect=T,           0 k& N9 M1 l/ Q- Z5 O
+            effectType="scale",    ' `8 T7 }8 N. {* Y! r2 U
+            color="white"& p8 y0 w; T$ S& o- s+ t. y' y# W* _
+        )& G8 Q. z7 E2 l& F
+ )5 q9 |/ X8 u0 l$ \* T
' T# J+ m6 S- Z) \
4 O5 Z# j5 `- n2 E1 I/ R, N
* Q+ p9 E1 j% A3 q

作者: 试试吧    时间: 2021-10-30 17:55
好,谢谢楼主的热情分享的资料
' x6 A/ y; M$ j2 d0 o




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