数学建模社区-数学中国
标题:
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" J
at<-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; N
5 m0 R6 I5 ~% C
# 这里是添加一个弹出窗口, 设置closebutton=false 不显示关闭按钮
$ }& v u, [; o( T( V' G% |! m
addPopups(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# m
2、使用leafletCN包,demomap命令绘制上海市的地图;
单点标注上海交通大学:地图+标点
; q2 d4 U1 r' D" k: i; C, j2 N
install.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& L
0 X& d$ N4 c" W& t9 N
I+ f/ | j8 s
3、使用destination.csv数据文件绘制2016年的广州春运迁徙图,把动态页面保存好上传。
* w" d! I* [/ U
install.packages("REmap")
{9 }% T8 u2 T s: s
library(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* }+ f
head(destin)
7 ^% b: c+ q/ _, [4 `, A
names(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. }; ~ u
options(remap.ak = "xxx")
! J# E5 J8 [, N/ B* o
remapC(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'), #颜色渐变方案,对应每个地区不同的value
3 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