R中使用ensembleBMA的plotProbcast绘图时不显示地图轮廓如何解决
解决方案
plotProbcast基于R基础绘图系统实现,支持通过add参数控制是否复用现有画布,结合maps包的map函数即可实现背景叠加地图轮廓的需求。
你可以选择两种叠加逻辑:
- 背景为地图、等高线叠加在上方(符合「等高线背景加地图」需求):先绘制地图,再设置
add=TRUE调用plotProbcast - 等高线在下方、地图轮廓叠加在上方:先调用
plotProbcast,再设置add=TRUE调用map函数
完整可运行代码(地图为背景的实现)
library(fields) library(maps) library(ensembleBMA) color <- "black" lat <- rep(seq(10,70,2),51) lon <- c() for (i in seq(60,160,2)) { lon <- c(lon, rep(i,31)) } forcastData <- round(runif(1581, 4800, 5800),0) # 绘制匹配经纬度范围的背景地图 map("world", xlim = range(lon), ylim = range(lat), col = "gray60", # 地图轮廓颜色 lwd = 0.7) # 地图轮廓粗细 # 叠加等高线,add=TRUE表示复用现有画布 plotProbcast(forcastData, longitude = lon, latitude = lat, interpolate = TRUE, type = "contour", levels = seq(from=4800, to=5800, by=10), col=color, add = TRUE)
可选调整参数
- 若需要给地图填充浅底色避免等高线太突兀,可在
map函数中添加参数fill = TRUE, col = "#f5f5f5" - 若需要叠加省市级别边界,可替换
map("world")为map("china")(需要先安装mapdata包加载更细粒度的地图数据)
内容的提问来源于stack exchange,提问作者secuman
相关产品推荐
相关产品推荐

