如何使用R中的Leaflet可视化多个路径

时间:2016-07-18 09:13:10

标签: r leaflet

我喜欢Leaflet包,它是交互式的,具有良好的底图和高缩放能力。因此,我想使用传单包来产生旅行路线。我知道map和ggmap包可用于生成如下地图:Example of map to produce 在ggmap中,有gcintermediate函数连接同时绘制多行,但我不确定相似的函数是否在leaflet包中。我尝试使用传单包,但只能使用它来连接两个点。所以,我的问题是可以使用传单包同时可视化多个路径吗?

以下是我的尝试:

library(leaflet)
    p1=leaflet()%>%
      addTiles() %>%

mydf2=data.frame(inter)

#mydf2 is below
          lon         lat
1   -157.8583  21.3069444
2   -158.1350  20.7322775
3   -158.4096  20.1571716
4   -158.6822  19.5816431
5   -158.9528  19.0057081
6   -159.2216  18.4293823
7   -159.4885  17.8526808
8   -159.7538  17.2756187
9   -160.0173  16.6982106
10  -160.2793  16.1204708
11  -160.5398  15.5424133
12  -160.7988  14.9640518
13  -161.0564  14.3853998
14  -161.3127  13.8064705
15  -161.5677  13.2272769
16  -161.8215  12.6478316
17  -162.0742  12.0681472
18  -162.3258  11.4882361
19  -162.5763  10.9081102
20  -162.8259  10.3277815
21  -163.0745   9.7472619
22  -163.3223   9.1665628
23  -163.5692   8.5856958
24  -163.8154   8.0046721
25  -164.0609   7.4235030
26  -164.3058   6.8421994
27  -164.5501   6.2607724
28  -164.7938   5.6792327
29  -165.0370   5.0975911
30  -165.2798   4.5158583
31  -165.5222   3.9340449
32  -165.7643   3.3521614
33  -166.0060   2.7702183
34  -166.2476   2.1882260
35  -166.4889   1.6061948
36  -166.7301   1.0241352
37  -166.9712   0.4420575
38  -167.2123  -0.1400281
39  -167.4534  -0.7221112
40  -167.6946  -1.3041815
41  -167.9359  -1.8862287
42  -168.1773  -2.4682425
43  -168.4189  -3.0502124
44  -168.6608  -3.6321282
45  -168.9030  -4.2139792
46  -169.1456  -4.7957552
47  -169.3886  -5.3774454
48  -169.6321  -5.9590393
49  -169.8761  -6.5405261
50  -170.1206  -7.1218951
51  -170.3658  -7.7031354
52  -170.6116  -8.2842359
53  -170.8582  -8.8651856
54  -171.1055  -9.4459733
55  -171.3537 -10.0265874
56  -171.6028 -10.6070167
57  -171.8528 -11.1872492
58  -172.1038 -11.7672733
59  -172.3559 -12.3470769
60  -172.6091 -12.9266478
61  -172.8635 -13.5059736
62  -173.1191 -14.0850416
63  -173.3760 -14.6638391
64  -173.6343 -15.2423530
65  -173.8940 -15.8205699
66  -174.1552 -16.3984763
67  -174.4179 -16.9760583
68  -174.6823 -17.5533017
69  -174.9484 -18.1301922
70  -175.2162 -18.7067148
71  -175.4858 -19.2828545
72  -175.7574 -19.8585959
73  -176.0309 -20.4339231
74  -176.3065 -21.0088199
75  -176.5842 -21.5832696
76  -176.8641 -22.1572552
77  -177.1464 -22.7307591
78  -177.4310 -23.3037635
79  -177.7180 -23.8762498
80  -178.0076 -24.4481991
81  -178.2999 -25.0195918
82  -178.5948 -25.5904080
83  -178.8927 -26.1606268
84  -179.1934 -26.7302271
85  -179.4971 -27.2991869
86  -179.8040 -27.8674837
87   179.8859 -28.4350940
88   179.5724 -29.0019940
89   179.2555 -29.5681588
90   178.9350 -30.1335627
91   178.6108 -30.6981794
92   178.2828 -31.2619815
93   177.9509 -31.8249406
94   177.6149 -32.3870276
95   177.2747 -32.9482123
96   176.9302 -33.5084632
97   176.5811 -34.0677479
98   176.2275 -34.6260330
99   175.8690 -35.1832834
100  175.5056 -35.7394632
101  175.1371 -36.2945349
102  174.7633 -36.8484597

addPolylines(data = mydf2, lng = ~lon, lat = ~lat)

这是我从我的尝试中获得的。

my attempt

1 个答案:

答案 0 :(得分:1)

您提供的示例使用了来源和目标。

你需要某种'Source'作为lat1然后'Target'作为lat2。 然后经度'Source'为lon1,'Target'为lon2。

c(lat1, lon1) 
c(lat2, lon2) 

这里有一个例子:http://kateto.net/network-visualization

航班路径图是网站上的最后一张图,因此请立即滚动到底部,然后继续前进。

将数据集重新构建为源和目标,然后尝试重新绘制。

这是一个类似的问题,答案解释了如何将gcintermediate传递给Leaflet:

Adding Curved Flight path using R's Leaflet Package