geom_polygon和geom_path不会删除连接线

时间:2016-09-15 10:41:49

标签: r ggplot2

我在绘制多边形时遇到了麻烦,我无法理解为什么。 这是我的代码:

#Load coordinates
ices <- read.csv("FILE PATH/ices_coord.csv", sep = ",")
#Reproject to European projection
coordinates(ices)<-c("long","lat")
proj4string(ices) <- CRS("+proj=longlat")
ices_laea<-spTransform(ices, CRS("+proj=laea"))
#Create dataframe
ices_laea_df<-data.frame(ices_laea)

library(ggplot2)
ggplot()+
  geom_polygon(data=ices_laea_df, aes(long,lat,group=group), fill="white", color = "gray70")

我得到那张地图 enter image description here

但是我如何摆脱连接线(我用红色染色了两个,但还有更多)。我很确定使用“group = group”或“group = ICES_area”会起作用,但事实并非如此。而且我已经失去了一半的头发:)。

使用geom_path而不是geom_polygon会得到相同的结果......

您是否已遇到此问题?你知道解决它的诀窍吗?

非常感谢你的帮助,

佛瑞德

PS: you can download the ICES coordinates here

1 个答案:

答案 0 :(得分:3)

这不是回答但要说明的代码:

ices <- readr::read_csv("ices_coord.csv")

purrr::map_lgl(unique(ices$ICES_area), function(area) {
  poly <- dplyr::filter(ices, ICES_area==area)
  identical(poly[1,], poly[nrow(poly),])
})

##  [1] FALSE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE FALSE FALSE
## [11]  TRUE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE
## [21] FALSE FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE  TRUE  TRUE
## [31]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE

所有这些都需要TRUE才能获得你要求的连接好的多边形(多边形和路径是带有多边形的有序点列表,条件是start和amp; end是相同的)从那以后几乎不可能说出来:

dplyr::count(ices, ICES_area, long, lat) %>% 
  dplyr::filter(n>1) %>% 
  dplyr::ungroup() %>% 
  dplyr::count(ICES_area) %>% 
  dplyr::select(area=1, duplcated_pts=2) %>% 
  print(n=39)
## # A tibble: 39 × 2
##     area duplcated_pts
##    <chr>         <int>
## 1     Ia             1
## 2     Ib             2
## 3    IIa           311
## 4    IIb           322
## 5   IIIa             9
## 6   IIIb             1
## 7   IIIc             1
## 8   IIId            76
## 9    IVa             1
## 10   IVb             1
## 11   IVc             1
## 12   IXa             1
## 13   IXb            10
## 14    Va             6
## 15    Vb            29
## 16   VIa             1
## 17   VIb            21
## 18  VIIa             1
## 19  VIIb             1
## 20  VIIc            21
## 21  VIId             1
## 22  VIIe             1
## 23  VIIf             1
## 24  VIIg             1
## 25  VIIh             1
## 26 VIIIa             1
## 27 VIIIb             1
## 28 VIIIc             1
## 29 VIIId            10
## 30 VIIIe             8
## 31  VIIj            14
## 32  VIIk            66
## 33    Xa            95
## 34    Xb             1
## 35  XIIa           106
## 36  XIIb             1
## 37  XIIc             1
## 38  XIVa             1
## 39  XIVb            65

某些群体每组有许多重复点。