数学建模社区-数学中国
标题:
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$ q
install.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( w
m<-leaflet()
+ ?5 m# \2 A+ q6 H
at<-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 X
addMarkers(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' E
2、使用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 U
leaflet() %>%
. 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 L
destin <- 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( B
markPoint_data <- markLine_data[markLine_data!=""]
) T/ k+ f: m! X
markPoint_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* s
remapC(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