R·在地图上添加圆形边框

时间:2018-10-04 14:43:22

标签: r maps visualization

我需要在此地图上添加一个圆弧形边框:

library(maps)
library(geosphere)
library(magrittr)


# c(lon,lat)
NuevaYork      <- c(-74,41)  #latitud: 41, longitud: -74
Madrid         <- c(-4,40)   #latitud: 40, longitud: -4


# Ampliamos altura del mapa. p.e: Madrid y Nueva York en la misma latitud.
map("world", xlim=c(-78,1),ylim=c(10,70), col="#1a2732", bg="white", fill=TRUE, lty = 0, interior = false,mar = c(0,0,0,0))


data <- rbind(Madrid, NuevaYork) %>% as.data.frame()
colnames(data)=c("long","lat")
points(x=data$long, y=data$lat, col="#96ce00", cex=2, pch=20)

# Connection between Barcelona, Londres
inter <- gcIntermediate(Madrid, NuevaYork, n=50, addStartEnd=TRUE, breakAtDateLine=F)             
lines(inter, col="#96ce00", lwd=2)

看起来就像一张世界地图,但我不知道如何。

有什么主意吗? :-)

谢谢!

1 个答案:

答案 0 :(得分:1)

这样可以吗?

library(plotrix)  
# Ampliamos altura del mapa. p.e: Madrid y Nueva York en la misma latitud.
map("world", xlim=c(-78,1),ylim=c(10,70), col="#1a2732", bg="white", fill=TRUE,, lty = 0, interior = false,mar = c(0,0,0,0))
data <- rbind(Madrid, NuevaYork) %>% as.data.frame()
colnames(data)=c("long","lat")
points(x=data$long, y=data$lat, col="#96ce00", cex=2, pch=20)
# Connection between Barcelona, Londres
inter <- gcIntermediate(Madrid, NuevaYork, n=50, addStartEnd=TRUE, breakAtDateLine=F)             
lines(inter, col="#96ce00", lwd=2)
polygon(draw.circle(x = -39,y = 39.5,radius = 60,nv=100,col=rgb(1,1,1,0),lty=1,density=NULL,angle=45,lwd=200))