繁体   English   中英

在地图上绘制点,其大小取决于类别计数

[英]Plotting points on a map with size depending on category count

我有一个包含动物诱捕的数据集,在每个位置我都捕获了几种不同物种的多只动物。 我想在地图上绘制此信息,以便每个点都代表给定物种的诱捕位置,每个点的大小都代表该位置诱捕的该物种的许多动物。 除了最后一点,我可以做所有这些事情,根据每个类别和位置中的计数来区分点的大小。

数据:

> test
Species  Location      Long      Lat
1  Species1 Location4 13.179328 32.83438
2  Species1 Location4 13.179328 32.83438
3  Species1 Location4 13.179328 32.83438
4  Species1 Location4 13.179328 32.83438
5  Species1 Location4 13.179328 32.83438
6  Species1 Location4 13.179328 32.83438
7  Species1 Location4 13.179328 32.83438
8  Species1 Location4 13.179328 32.83438
9  Species1 Location4 13.179328 32.83438
10 Species1 Location4 13.179328 32.83438
11 Species1 Location4 13.179328 32.83438
12 Species1 Location4 13.179328 32.83438
13 Species1 Location4 13.179328 32.83438
14 Species1 Location4 13.179328 32.83438
15 Species1 Location2 13.857541 32.71680
16 Species1 Location2 13.857541 32.71680
17 Species1 Location2 13.857541 32.71680
18 Species1 Location1  7.584970 33.77976
19 Species1 Location1  7.564263 33.81079
20 Species1 Location1  7.555380 33.79994
21 Species2 Location1  7.542248 33.79943
22 Species2 Location1  7.562118 33.79340
23 Species2 Location1  7.542248 33.79943
24 Species2 Location1  7.555380 33.79994
25 Species2 Location1  7.542248 33.79943
26 Species2 Location3 11.377850 33.20891
27 Species2 Location3 11.377850 33.20891
28 Species2 Location3 11.377850 33.20891
29 Species2 Location3 11.377850 33.20891
30 Species2 Location3 11.377850 33.20891
31 Species1 Location2 13.834581 32.72319
32 Species1 Location2 13.834581 32.72319
33 Species1 Location2 13.834581 32.72319
34 Species1 Location2 13.834581 32.72319
35 Species1 Location2 13.834581 32.72319
36 Species1 Location2 13.834581 32.72319
37 Species1 Location2 13.834581 32.72319
38 Species1 Location2 13.834581 32.72319
39 Species1 Location2 13.834581 32.72319
40 Species1 Location2 13.834581 32.72319
41 Species1 Location2 13.834581 32.72319
42 Species1 Location2 13.834581 32.72319
43 Species1 Location2 13.834581 32.72319
44 Species1 Location2 13.834581 32.72319
45 Species1 Location2 13.834581 32.72319
46 Species1 Location2 13.834581 32.72319
47 Species1 Location2 13.834581 32.72319
48 Species1 Location2 13.834581 32.72319
49 Species1 Location2 13.834581 32.72319
50 Species1 Location2 13.834581 32.72319

> tapply(test$Species,test$Location,length)
Location1 Location2 Location3 Location4 
        8        23         5        14 

标准ggmap图:

m<-get_map(location=c(lon=10.6858397, lat=32.7996318), zoom=7, color="bw")

ggmap(m, extent = "normal") +
  geom_point(aes(x = Long, y = Lat, colour = Species, size = 2), data = test)

捕获地图上的位置

现在,我如何根据某个位置捕获的每种物种的多少动物来更改点的大小?

得到它了! 一旦知道要去哪里就轻松了;-)

继续进行对象测试:

> library(doBy)
> tdata<-summaryBy(test~Location+Species+Long+Lat, data=test, FUN=length)
> tdata

    Location  Species      Long      Lat test.length
1  Location1 Species1  7.555380 33.79994           1
2  Location1 Species1  7.564263 33.81079           1
3  Location1 Species1  7.584970 33.77976           1
4  Location1 Species2  7.542248 33.79943           3
5  Location1 Species2  7.555380 33.79994           1
6  Location1 Species2  7.562118 33.79340           1
7  Location2 Species1 13.834581 32.72319          20
8  Location2 Species1 13.857541 32.71680           3
9  Location3 Species2 11.377850 33.20891           5
10 Location4 Species1 13.179328 32.83438          14

> ggmap(m, extent = "normal") +
+     geom_point(aes(x = Long, y = Lat, colour = Species, size = test.length), data = data)

现在每个点的大小与每个位置的样本数相对应的捕获位置图

非常感谢@MLavoie。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM