数学建模社区-数学中国

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

作者: 1047521767    时间: 2021-10-29 11:41
标题: R语言 作业 leaflet leafletCN REmap 的使用 迁徙图
R语言 作业 leaflet leafletCN REmap 的使用 迁徙图R语言 作业 leaflet包的使用1、添加弹出窗口# 安装包
# l* [3 [- Z0 Ainstall.packages("leaflet")6 B5 K8 s) t- g$ }$ [* [; q' ]
# 加载包9 z* Q8 n) Q+ Z3 B$ Z3 C
library(leaflet)
5 ^" e) s+ h$ i$ O% ~6 T5 Y# 设置地图控件
' [* ]' ], j, im<-leaflet()5 r! v6 l6 |# C( w* z( W  ]2 e
at<-addTiles(m)
) C# h# y* @# x( J: {$ L7 V5 Q% c#  在弹出窗口中写一个html格式网页 根据要求来写- k0 ^3 o+ g# J% a3 l# ?
shifan<-paste('<p style="color: black;font-family: simsun";>',"杭州师范大学下沙校区","</p>")5 Z+ `5 n4 O' d: ]* e/ H+ F
# 添加marker 自己选择需要的经纬度 popup:弹出窗口
' U9 i! C) _. Z6 a# F5 g% N& O' n. jaddMarkers(at,lng = 120.390223,lat = 30.319753,popup = shifan)
3 H5 F7 v0 Q; S* V
% J" K* d# R! C. T. k- v. x8 Q* v  Q
jiliang<-paste('<p style="color: red;font-family: simhei";>',"中国计量大学","</p>")0 d! O) M) t6 e* z5 u
# 添加marker
* f9 S) |7 W9 D# l  J addMarkers(at,lng = 120.357254,lat = 30.323813,popup = jiliang)
$ s1 q. d0 u! p- Y2 b' J% w( ^2 r  P" }" h

9 a  m, |0 {( J6 v6 B) h# 这里是添加一个弹出窗口, 设置closebutton=false 不显示关闭按钮
9 G$ N! Y. o; P. w2 aaddPopups(at,lng = 120.357254,lat = 30.323813,popup = jiliang,options = popupOptions(closeButton = FALSE))
, j( p8 k, z% ]: h! J  _7 x' ]7 t9 q
1 H% F0 g% I. @& N7 Q+ u9 W/ x# s8 h# o3 A0 Q2 J
2、使用leafletCN包,demomap命令绘制上海市的地图;单点标注上海交通大学:地图+标点
/ ~& L0 W6 _, o( r( L. o1 n. Binstall.packages("leafletCN"): `! G0 M* y* M0 o
library(leafletCN)  n( h1 P/ f2 l  {. I
# 使用这个命令可以直接绘制上海市地图8 ^) H+ q* l9 B# V- X* x
demomap("上海")6 v: [! I. n  b6 x

9 ^, e  I# _: H& T# J( v" y
: c, l% |8 J& s, A  J. H8 ]7 C# 管道流 单点标记上海交通大学
* v1 ?+ e2 X& j+ F( Zleaflet() %>%  n1 x. b2 X1 R5 V. P, C2 w
+     amap() %>%  ; Q. v0 O- b1 C
+     addMarkers(lng=121.42509, lat=31.02201 ,popup="上海交通大学")9 s+ I8 `, y3 N- c, k  O& p- I4 l
& P. [& }# a/ g" S7 G8 [) }

% Q( Y+ v4 P  X9 D! i/ H3、使用destination.csv数据文件绘制2016年的广州春运迁徙图,把动态页面保存好上传。
& ~7 Z. `* y* |3 Qinstall.packages("REmap")* Y  t! E7 q: ^0 E9 f6 `) \
library(REmap)1 X* ^4 ^; u3 C
destin <- read.csv(file="D:/360MoveData/Users/14326/Desktop/课程/R软件/destination.csv",encoding="gb2312",header=F)4 x4 m5 J: X8 L) y+ P; a# X+ W- B& a* I: |
head(destin)
7 L( j. R( M' J6 Pnames(destin)<-c("names","values")
/ |6 G& H5 L- K- H  H! O4 A) u# xmarkLine_data <- data.frame(origin=rep("广东",10),
* `! j) E2 o# h& D* d4 F+                             destination=destin[1:10,1],  b: P- B  _+ t$ w; `8 L0 {
+                             color=rep("#fff",10)
. h# ?7 q$ ~) N+ )
& C" f6 G+ U% F; amarkPoint_data <- markLine_data[markLine_data!=""]
9 H1 N: u1 |2 x" v1 z. |7 [0 bmarkPoint_data1 <- markPoint_data[which(markPoint_data!="广东"&markPoint_data!="#fff")]) P$ U4 L! {) q3 h
# 要自己注册一个AK api key 不然无法get到经纬度7 t% n+ w( v3 X* c
options(remap.ak = "xxx")
; s% l2 X& L" G0 ]0 mremapC(destin,
- W" f8 x2 \6 m  X3 S+        title="2016年2月6日 广州人口迁出图",7 v5 c1 t/ {# U4 N9 u8 o
+        subtitle="前10目标省份",, K: U2 p. f0 ^% I8 K
+        theme=get_theme(                                         0 P' [! h$ M4 V2 Z# d) B* m) J8 |
+            #设置相应的背景色调
3 Q2 I4 ^) ~% {6 _: q+            theme="Dark",, V1 O$ c8 r. q6 J. k5 P& b7 J
+            lineColor = "#FFFFFF",  
4 J% T& y3 d0 H- ^+            titleColor = "#fff",
; a" r0 v+ w; C6 W; E+            borderColor = "#FFFFFF",  #边界颜色
" P; B( r/ s$ @7 V+            regionColor = "#000000",  #区域颜色% X2 L% E! [8 h
+            pointShow = F, 5 I9 V9 ]8 }2 R+ \& e5 r
+            pointColor = "gold"2 o, g& c* j  C) m' x3 P9 T; ?
+        ),( W& [& y  [: O  {$ n5 l- n
+        color=c('#CD0000','#FFEC8B'),   #颜色渐变方案,对应每个地区不同的value
5 T1 u5 O# E2 F( J+        markLineData=markLine_data,   9 m, a( o4 b9 L! m
+        markLineTheme=markLineControl(
1 k4 o0 ~/ k9 ~* F! K8 w+ r# V# e+            color="white",
. z7 K! K" r/ @* Z  U+            lineWidth=2,
' o5 L: P: z7 z+ m! G+            lineType="dashed"  ) m: K; d( U: j0 ~/ G1 }
+        ),9 T! e1 L) E1 N1 R, G# Z! b
+        markPointData=markPoint_data1," y. t0 C8 E1 g" H
+        markPointTheme=markPointControl(
8 T3 X! P, n1 A7 \( A6 w+            symbolSize=13,  
- H4 S1 Q& U' s/ _+ h+            effect=T,           
2 V) T( m% Y2 l; T+            effectType="scale",   
/ ?" h% n5 r, U9 s( w/ }+            color="white"
7 p- V# e# {9 p% l) d: ^+        )+ e$ ]8 i) L8 |- O
+ )
) H& ~7 [- @. E. W1 c% l* H
  L, M' \5 n+ j1 P. ]2 Q4 |9 Z' ^: P2 X- K1 m8 i) d
6 y7 }0 Z6 T( O$ a

作者: 试试吧    时间: 2021-10-30 17:55
好,谢谢楼主的热情分享的资料
+ u) {! f7 B2 ]. ?2 J




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