我已经使用adehabitatHR软件包将其动物的归巢范围计算为空间多边形。在为每只动物制作归位面多边形时,我“加强”了SpatialPolygonDataframe并将每只动物的所有3个多边形放入一个数据“加强”数据框中,并将所有动物(其中的11个)组合到一个数据框中。
str(f_kuds)
'data.frame': 1832 obs. of 11 variables:
$ X : int 1 2 3 4 5 6 7 8 9 10 ...
$ Fish_ID: int 34931 34931 34931 34931 34931 34931 34931 34931 34931 34931 ...
$ id : Factor w/ 2 levels "a","homerange": 2 2 2 2 2 2 2 2 2 2 ...
$ long : num 290572 290570 290566 290572 290587 ...
$ lat : num 2028966 2028970 2028992 2029003 2029015 ...
$ order : int 1 2 3 4 5 6 7 8 9 10 ...
$ hole : logi FALSE FALSE FALSE FALSE FALSE FALSE ...
$ piece : int 1 1 1 1 1 1 1 1 1 1 ...
$ group : Factor w/ 4 levels "a.1","homerange.1",..: 2 2 2 2 2 2 2 2 2 2 ...
$ value : Factor w/ 3 levels "KUD 50%","KUD 95%",..: 1 1 1 1 1 1 1 1 1 1 ...
$ fname : int 34931 34931 34931 34931 34931 34931 34931 34931 34931 34931 ...
我现在使用了包含空间多边形的数据框,以将具有不同多边形(50%KUD,95%和100%MCP)的地图创建到一个由11个小平面组成的绘图中(每只动物1个)。但是,当我更改动物ID在图中的放置顺序时,多边形的颜色会失真(请参见下图)。有没有一种方法可以确保多边形不变形,并且我可以更改希望动物在图中显示的顺序?
level_order<-factor(f_kuds$value, level=c("MCP 100%", "KUD 95%", "KUD 50%"))
cols <- c("MCP 100%" = "turquoise1", "KUD 95%" = "royalblue", "KUD 50%" = "yellow")
#To change order of animal by ID
f_kuds$fish_order= factor(f_kuds$Fish_ID, levels = c("34936", "45239", "45293", "45290", "45291", "45326", "34933", "34935", "45289", "34931", "45286"))
plot_kuds_f<-ggplot()+
geom_polygon(data=LandMask_pc, aes(x=long, y=lat), fill="darkgrey")+ #Background Polygon of study site
geom_polygon(data=f_kuds, aes(x=long, y=lat, fill=level_order))+
scale_fill_manual(values = cols)+
#facet_wrap(~fname)+
facet_wrap(~fish_order, ncol=3, nrow = 4)+
labs(x="", y="")+
cowplot::background_grid(major = "none", minor="none")+
#guides(color=guide_legend("Fish ID")) + #change title of legend. or below remove it
theme(legend.title = element_blank(),
axis.text.x = element_blank(), axis.ticks.x = element_blank(),
axis.text.y = element_blank(), axis.ticks.y = element_blank(),
axis.line = element_blank())
plot_kuds_f