【问题标题】:My map (in R) is upside down. How do I flip it back up?我的地图(在 R 中)是颠倒的。我如何将其翻转回来?
【发布时间】:2017-04-17 13:31:32
【问题描述】:

我有一个 .nc 文件,我正在尝试从中绘制地图。我在这里得到了我的数据:https://www.esrl.noaa.gov/psd/data/gridded/data.UDel_AirT_Precip.html (precip.mon.ltm.v301.nc)。纬度从89.75-89.75。经度从0.25359.75。这就是我所做的:

File1

tmfile

pr_file

lat=ncvar_get(pr_file,'lat')

lon=ncvar_get(pr_file,'lon')

time=ncvar_get(pr_file,'time')

precip=ncvar_get(pr_file,'precip')

image.plot(lon,lat,precip[,,1],main="降水")

image.default 中的错误(...,breaks = breaks,add = add,col = col): 期望增加“x”和“y”值

lat1

image.plot(lon,lat1,precip[,,1],main="Precipitation",zlim=c(0,20))

然后地图出来了,但是是颠倒的。即,南极洲位居榜首。如何正确转动地图?

【问题讨论】:

  • 请在提问时提供reproducible example。在这种情况下,预期的结果也会有很大帮助。

标签: r dictionary plot flip


【解决方案1】:

快速的技巧是翻转数据本身。

image.plot(lon,lat,precip[,ncol(precip):1,1],main="Precipitation")

我相信,lon 和 lat 变量也需要按照错误提示进行不同的定义,例如 (见the related question):

lon = seq(1, 360, length.out = nrow(precip)) 
lat = seq(1, 360, length.out = ncol(precip))

更新: 我不知何故切换了纬度和经度。请,现在试试这个。您需要将轴标签更改为有意义的内容。

【讨论】:

  • 感谢您的回答。你的地图正是我想要的,但对我来说效果不太好。所以我做了: > lat=seq(1,360,length.out=nrow(precip)) > lon=seq(1,720,length.out=ncol(precip)) > image.plot(lon,lat,precip[,ncol( precip):1,1],main="Precipitation") 这就是我得到的: image.default 中的错误(...,breaks = breaks,add = add,col = col):z 的尺寸不是长度(x)(-1) 乘以长度(y)(-1) 与您的图像相比,我得到的图像的 lon 和 lat 位置不同,而且上面也没有地图。只是一个名为降水的空白轴。怎么了?
  • 没关系,我知道了。只是混淆了纬度和经度的序列。非常感谢!
猜你喜欢
  • 2018-07-20
  • 1970-01-01
  • 2012-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多