[英]geom_polygon and geom_path won't remove connecting lines
我在绘制多边形时遇到了麻烦,我无法理解为什么。 这是我的代码:
#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会得到相同的结果......
你有没遇到过这个问题? 你知道修复它的诀窍吗?
非常感谢您的帮助,
弗雷德
这不是一个回答但是要说明的代码:
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
才能获得你要求的连接好的多边形(多边形和路径是有序的点列表,其中多边形的条件是起点和终点相同)并且几乎不可能告诉我,因为:
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
对于某些组,每组有许多重复点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.