我正在使用R maps
包在世界地图上绘制一些点,如下所示:
绘制底图的命令是:
map("world", fill=TRUE, col="white", bg="gray", ylim=c(-60, 90), mar=c(0,0,0,0))
但我需要显示以太平洋为中心的地图。我使用map("world2",
等来使用地图包中以太平洋为中心的底图,并使用以下命令转换我的数据框架(df
)中数据点的坐标:
df$longitude[df$longitude < 0] = df$longitude[df$longitude < 0] + 360
如果我不使用fill
选项,但使用fill
时,与0°相交的多边形会导致问题。
我想我需要以某种方式转换maps
库中的多边形数据来解决这个问题,但我不知道如何做到这一点。
我理想的解决方案是绘制一个左边界为-20°,右边界为-30°(即330°)的地图。下面将正确的点和海岸线放到地图上,但过零问题是相同的
df$longitude[df$longitude < -20] = df$longitude[d$longitude < -20] + 360
map("world", fill=TRUE, col="white", bg="gray", mar=c(0,0,0,0),
ylim=c(-60, 90), xlim=c(-20, 330))
map("world2", add=TRUE, col="white", bg="gray", fill=TRUE, xlim=c(180, 330))
任何帮助都将不胜感激。
https://stackoverflow.com/questions/5353184
复制相似问题