首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >geom_polygon和geom_path不会删除连接线

geom_polygon和geom_path不会删除连接线
EN

Stack Overflow用户
提问于 2016-09-15 18:41:49
回答 1查看 584关注 0票数 1

我在绘制多边形时遇到了问题,我不明白为什么。下面是我的代码:

代码语言:javascript
复制
#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")

我得到了那张地图

但我如何摆脱连接线(我用红色标出了两条线,但还有更多)。我很确定使用"group=group“或"group=ICES_area”会行得通,但事实并非如此。我已经掉了一半头发了:)

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

你已经遇到这个问题了吗?你知道修复它的诀窍吗?

非常感谢你的帮助,

弗雷德

PS: you can download the ICES coordinates here

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-15 19:10:23

这不是一个答案,而是用来说明的代码:

代码语言:javascript
复制
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才能让你得到你想要的良好连接的多边形(多边形和路径是有序的点列表,多边形的条件是起点和终点是相同的),这实际上是不可能的,因为:

代码语言:javascript
复制
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

对于某些组,每个组有许多重复的点。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39509062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档