【问题标题】:Simple way to contour netcdf variables on a map using r package使用 r 包在地图上绘制 netcdf 变量轮廓的简单方法
【发布时间】:2015-09-23 22:55:55
【问题描述】:

我必须使用 R 包绘制地图,以便绘制国家/地区限制,以及从 NetCDF 文件读取的气象变量值的等高线。

我执行以下操作:

r=raster('netcdffile.nc')
map('worldHires', xlim=c(-10,50), ylim =c(30,50))
plot(r, add = TRUE)
contour(r, add = TRUE)

但未显示国家/地区限制。 栅格的绘图似乎消除了先前绘制的国家/地区限制。 我需要一个简单的 wway,拜托。

【问题讨论】:

    标签: r dictionary geo netcdf


    【解决方案1】:

    附加一个带有正确坐标的示例 netcdf 文件会有所帮助。我手头没有任何 netCDF 文件可供测试。您是否尝试过出色的rasterVis 软件包?您可以使用格子或 ggplot 轻松绘制,并以通常的方式添加地图。

    例如 rasterVisggplot2 应该可以这样:

    r=raster('netcdffile.nc')
    library(rasterVis)
    library(maps)
    world <- data.frame(map(plot=FALSE)[c("x","y")])
    gplot(r) + 
      geom_tile(aes(fill=value)) + 
      geom_path(data=world, aes(x,y)) +  
      stat_contour(aes(z=value)) +
      coord_equal()
    

    【讨论】:

    • 您好,感谢您的回复。当我将代码复制并粘贴到控制台上时,您的代码似乎可以工作,但在以source("script.R") 作为脚本运行时却不行。另外,我需要使用函数locatoridentify,这些在生成的图形中似乎不起作用。
    • @AntonioSerrano 这已经被多次覆盖了。采购脚本时,您需要一个 print() 语句来包含绘图命令 (cran.r-project.org/doc/FAQ/…)。对于使用locatoridentify,ggplot 不是最佳选择。您可以使用 ggmap 包中的 gglocator。另一种选择是使用晶格或基础图形并使用提供的标准工具。 rasterVis 手册非常适合阅读此内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-19
    • 2014-03-20
    • 2019-07-23
    • 1970-01-01
    • 1970-01-01
    • 2020-11-24
    • 1970-01-01
    相关资源
    最近更新 更多