爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4045|回复: 2

关于R语言计算和出图的问题

[复制链接]

新浪微博达人勋

发表于 2017-1-9 00:23:46 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
楼主想做一个两个情景下的温度差值图。下面是代码:library(ncdf4)
library(fields)
library(mapproj)
nc=nc_open("O:\\igcm\\co_2\\igcm_cl_2000_01.nc")
my_temp_1=ncvar_get(nc,"surftemp")
nc=nc_open("O:\\igcm\\co_2\\igcm_cl_2000_02.nc")
my_temp_2=ncvar_get(nc,"surftemp")
lons=ncvar_get(nc,"longitude")
lats=ncvar_get(nc,"latitude")
nc_close(nc)
my_temp=my_temp_2-my_temp_1
my_temp_big <- array(0,c(65,32))
for (x in c(1:64)) my_temp[x,]=rev(my_temp[x,])
lats <- rev(lats)
for (x in c(1:32)) my_temp_big[1:65,x] <- c(my_temp[33:64,x],
                                            my_temp[1:32,x],my_temp[33,x])
lons[1:65] <- c(lons[33:64]-360,lons[1:32],lons[33])
image.plot(lons,lats,my_temp_big)
map(xlim=c(-180,180),ylim=c(-90,90),add=T,interior=F)
windows()
filled.contour(
  my_temp_big,x=lons,y=lats,color = tim.colors,
  xlab="longitude",ylab="latitude",
  plot.axes={
    map(
      xlim=c(-180,180),
      ylim=c(-90,90),
      add=T,
      interior=F
    )

因为直接用R出的图,侧面温标太难看了, 要对比很多图片的时候不统一,很容易产生误解,于是我就直接把 my_temp 写入一个新的nc文件里了,但是出的图不对,计算完的差值南北纬度正好反了,请问用什么方法,或代码能让数据正过来? 后面的my_temp_big 多了一行经度的数据,所以不是很懂。。。完全没接触过R语言,问题略白痴,谢谢前辈指点
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-1-9 16:43:58 | 显示全部楼层
南北方向反了  
看两个地方 你read.nc的时候 是不是按照数据的方向读取的

或者 你绘图的时候 是不是搞反了  

R里面读取的时候 不会有啥问题
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2017-1-9 18:22:17 | 显示全部楼层
topmad 发表于 2017-1-9 16:43
南北方向反了  
看两个地方 你read.nc的时候 是不是按照数据的方向读取的

谢谢,我用panoply查看的NC文件,我也是醉了,开始真的是反的,后来有莫名其妙的正常了。。。我什么都没改啊
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表