【发布时间】:2021-07-05 21:36:54
【问题描述】:
我一直在尝试使用 R 库 marmap 来生成测深图,但无论我做什么,我最终都会在实际地图的两侧获得大的白色区域。即使只是从 marmap 手册中剪切和粘贴代码示例也会产生相同的白色区域,并且不会复制手册本身中的数字。我已经尝试过
中建议的解决方案How to reduce the space between the plot and the border for geographic maps?
但是 Benoit 的第一个建议会产生高度失真的图像,而第二个解决方案最终仍然会在实际地图的左右两侧产生白色区域。根据 Benoit 的说法,白色区域是由设置地图的纵横比造成的,但如果不设置 asp=NA(他的第一个解决方案),似乎无法设置绘图的经纬度限制,这会产生高度扭曲的地图就我而言。 MWE(没有尝试的解决方案)是
library("marmap")
arabian_sea <- getNOAA.bathy(lon1 = 55, lon2 = 75, lat1 = 0, lat2 = 30, resolution=5, keep=TRUE)
blues <- c("lightsteelblue4", "lightsteelblue3", "lightsteelblue2", "lightsteelblue1")
p_map0 <- plot(arabian_sea, image = TRUE, land = TRUE, lwd = 0.1,
bpal = list(c(0, max(arabian_sea), "grey"),
c(min(arabian_sea),0,blues)))
生成以下地图
Arabian Sea map produced by marmap
因此,arabian_sea 中的水深从 55 度到 75 度,而图像从 40 度到 90 度,在实际水深图的左侧和右侧留下大的白色条带。我也尝试过使用xlim 和ylim 手动设置窗口属性,但这也没有效果。我显然在这里的某个地方遗漏了一些基本的东西,但我看不到它。
【问题讨论】:
标签: r