繁体   English   中英

在 map 上消除具有相同经度/纬度的点

[英]Disambiguate points with same long/lat on map

I am trying to make map using R ggplot2 dplyr & ggswissmap My problem is the following, some points have the exact same coordinates ( long/V1;lat/V2 ) and despite my different tries I always get the same graphics with only one point instead的几个。 当然,我尝试了抖动 function,任何帮助或教程链接将不胜感激。 在此处输入图像描述

library(ggswissmaps)
library(dplyr)

dd<-shp_df[[5]]
df<-ggplot() +
  geom_polygon(data=dd, aes( x = long, y = lat, group = group),color="white") +
    theme_white_f()

df <- ggplot() +geom_polygon( data = df.merge ,
    aes(x = long, y = lat, group = group),
    color="white", fill="grey92" )

pp<-df+  geom_point(data=merge_data,aes(x=V1, y=V2,colour=FB), size=3, alpha=0.8) +
  theme_white_f()
pp
pp+geom_jitter()

每个区域中心的点

cnames <- aggregate(cbind(df.merge$long, df.merge$lat) ~ df.merge$V2, data=df.merge, 
                    FUN=function(x)mean(range(x)))
cnames$Kanton<-cnames$`df.merge$V2`
merge_data<-right_join(cnames,tbl_canton_separate,by=c("Kanton"="Cantons"))
 head(df.merge)
    long    lat order  hole piece group id KTNR GRNR AREA_HA  X_MIN  X_MAX  Y_MIN  Y_MAX
1 692429 281173     1 FALSE     1   0.1  0    1    4  172895 669244 716900 223896 283343
2 692993 280860     2 FALSE     1   0.1  0    1    4  172895 669244 716900 223896 283343
3 693163 280421     3 FALSE     1   0.1  0    1    4  172895 669244 716900 223896 283343
4 693048 280201     4 FALSE     1   0.1  0    1    4  172895 669244 716900 223896 283343
5 693243 279410     5 FALSE     1   0.1  0    1    4  172895 669244 716900 223896 283343
6 693606 278826     6 FALSE     1   0.1  0    1    4  172895 669244 716900 223896 283343
  X_CNTR Y_CNTR Z_MIN Z_MAX Z_AVG Z_MED V1 V2     V3
1 691800 252000   331  1290   533   504  1 ZH Zürich
2 691800 252000   331  1290   533   504  1 ZH Zürich
3 691800 252000   331  1290   533   504  1 ZH Zürich
4 691800 252000   331  1290   533   504  1 ZH Zürich
5 691800 252000   331  1290   533   504  1 ZH Zürich
6 691800 252000   331  1290   533   504  1 ZH Zürich
head(merge_data[,c(1:5,8)])
  df.merge$V2     V1     V2 Kanton    Numéro FB
1          AG 648725 247936     AG PGV01.002 II
2          AG 648725 247936     AG PGV01.005  I
3          AG 648725 247936     AG PGV01.044 II
4          AG 648725 247936     AG PGV01.047 II
5          AG 648725 247936     AG PGV01.071 IV
6          AG 648725 247936     AG PGV02.015 IV

增加点的传播:是的,它有效!

df + geom_jitter(data = merge_data, aes(x=V1, y=V2, colour = FB), 
                 size=2, width = 10000, height = 10000, alpha = 0.5) + theme_white_f() 

暂无
暂无

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

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