1、海洋数据处理及可视化,任课教师信息,姓名:孟祥凤单位:海洋环境学院办公地点:鱼山校区文苑楼302 崂山校区海洋环境学院307联系电话:13553001635Email: ,课程性质,新开课程短学时,集中时间授课实践性强,上机时间多类似内容课程海洋专业Matlab,大气专业GrADS(并入天气学),开课目的,培养和强化海洋学专业人才读取,处理和分析数据以及绘图的能力要求学生通过该课程的学习,掌握读取多种类型海洋数据的方法以及几种通用绘图软件和专业绘图软件的基本使用方法短期可服务于毕业论文环节,长期可为将来进行科研和业务工作奠定基础,海洋数据存储形式1 Ascii码;2二进制格式;3 netcdf
2、格式; 海洋数据读取、处理方法1 Fortran读取、处理方法;2 Matlab读取、处理方法 通用绘图软件1 Graher ;2 Surfer ;3 Matlab; 专业绘图软件1 GrADS;2 FERRET,讲课内容,参考资料,Grapher2.doc Surfer7.docSurfer8初学者中文参考手册.docMATLAB 相关书籍,清华大学课件GrADS气象图形系统使用方法GrADS实用手册grads-ug.pdfFERRET USERS GUIDEferret_users_guide_v602.pdf,考核方法,闭卷考试占30平时成绩占20出勤,课堂表现等上机成绩占50%上机实践
3、,上机考试,作业完成情况等,第一章 绪论,海洋数据及其常见存储形式通用绘图软件专业绘图软件,利用海洋数据进行绘图可以采用的绘图软件有多种,主要分通用绘图软件和专业绘图软件两大类,通用绘图软件,Grapher, Surfer, Matlab, Origin等Grapher主要功能二维制图Surfer主要功能三维制图Matlab二维、三维制图均可,专业绘图软件,利用海洋数据绘图可以采用的专业绘图软件有多种GrADS, FERRET,GMT等,第二章 海洋数据,海洋数据包含信息常见存储格式,海洋数据包含信息,现场观测潮位,温、盐、流,水色,透明度,叶绿素,溶解氧等。通常有单点单变量,单点多变量;深度
4、剖面,大面观测等。特点:资料时间或(和)空间上不连续,单个文件存储量不大,通常以ASCII码形式储存通用绘图软件的讲解主要针对这种资料,海洋数据包含信息,卫星观测海表高度,海温,水色,风速等模式输出资料以及同化观测资料的模式资料海表高度,温、盐、流等由多年观测的多种资料经过分析处理得到的资料产品包含气候态的温、盐、通量等信息如Levitus, COADS, HadSST等通常存储为格点资料,特点:在时间和(或)空间上连续性好,数据(按照时间顺序)依次分布在固定的空间网格点上,通常为二进制或Netcdf格式专业绘图软件的讲解主要针对这类数据进行,海洋数据常见存储格式,ASCII码(文本文件)存储
5、量大、读取速度慢、便于对字符操作,可读性好,不适合存储海量数据二进制存储量小、读取速度快、便于存放中间结果及海量数据、不能直接读取(需要借助软件,读取时相关控制常常与存储设备有关)NetCDF格式存储量小、读取速度快、自说明功能、读取方式灵活(不需要与存储设备有关的控制),作业,在自己的电脑上安装本课程将要用到的软件,Grapher, Surfer, Matlab, Netcdf for Matlab, Fortran, GrADS, Ferret找资料(王秀芹老师以前的海洋学绘图练习,青岛的潮汐资料),寻找以及下载数据ETOPO5, Levitus, COADS, Hadley SST, A
6、VHRR SST, SODA, ECCO等,通用绘图软件使用简介,数据处理及可视化的实用价值,股票分析,最高价,最低价,开盘、收盘学生成绩分析社会结构,男女比例,年龄分布,工、农、商、教育、科研、政府、无业人员的比例等等的分析气候变化、全球变暖、海平面升高等,通用绘图软件,Grapher, Surfer, Matlab, Origin等Grapher主要功能二维制图Surfer主要功能三维制图Matlab二维、三维制图均可,Grapher及其使用简介,美国Colorado的Golden Software公司研制开发的绘图软件, 早期多用于二维绘图,新版本也具有三维绘图功能,常用操作1,散点图(
7、点聚图)和点线图(line/symbol)作业:用Levitus资料绘出湾流区马尾藻海(副热带北太平洋、副热带北太平洋)的温度盐度散点图作业:用Levitus资料绘出180E,EQ上温度、盐度随深度的分布作业:用Levitus资料绘出180E, 30S(/ EQ /30N), 30m处温度的季节变化作业:用TOGA-TAO绘出某经、纬度上不同深度处海水温度的日变化,常用操作2,高低收盘图(hi-low-close) 做图时需要至少5列数据作业:采用高低收盘图绘出青岛2005年1月潮汐,作业2,查阅近期某年某月潮汐表了解青岛的潮位信息, 分析其变化规律,并用图表示出来。,常用操作3,饼图pie棒
8、图 bar作业:某大学某专业某班考试成绩分布如下,50分以下2人,51-60分3人,61-70分7人,71-80分15人,81-90分10人,91-10分3人,请用饼图示出该班级的成绩构成。请用棒图形式表示。作业:全球水资源的分布情况,请用饼图示出,绘图实例1,绘图实例2,绘图实例3,绘图实例4,绘图实例5,绘图实例6,绘图实例7,Surfer及其使用简介,同Grapher一样,Surfer也是美国Colorado的Golden Software公司研制开发的绘图软件, 但其主要用于三维绘图,具有插值功能。(可读入空间上离散的或不等间距的数据,将其插值为均匀空间网格的格点数据( *.grd )
9、备注: 插值方法很重要,选择不好可能会产生虚假信息绘图时根据具体操作可能读入的数据格式有以下几种 *.grd, *.bln,*.CSB等,格点数据*.grd的存储形式,GS ASCII码GS 二进制(缺省)Surfer7.grd,基本操作,读入数据进行网格化处理,生成Surfer可识别的网格数据 *.grd(Blank处理)绘图,常用操作1,等值线 (contour)用test.dat进行演示练习:用1939年8月黄海表层海水温度观测资料,绘等值线图,要求等值线间距1C,每隔5C等值线加粗,常用操作2,矢量图(vector) 作图时需要1个或2个*.grd文件用test.grd练习一下,常用操
10、作3,加载底图(base) 作图时需要*.bln, *.csb文件用world.bln 和world0360.bln练习一下,*.bln文件的结构,Length, flag5,1 数据点个数(5),标识(1,标示闭合曲线内部被blank掉,0表示外部被blank掉)X1,y1X2,y2X3,y3X4,y4X5,y5,常用操作4,对格点数据进行blank处理需要一个*.grd, *.bln用test.grd练习一下,常用操作5,线网图(wireframe) 用sample3.dat练习一下,常用操作6,光栅图(image map) 用sample3.dat练习一下,常用操作7,阴影地貌图(sha
11、ded relief map) 用sample3.dat练习一下,常用操作8,2个图形以上时,可能用到以下操作图形堆垒(stack maps)图形迭合(Overlay maps) 用sample3.dat练习一下,绘图实例1,绘图实例2,绘图实例3,绘图实例4,绘图实例5,绘图实例6,绘图实例7,绘图实例8,Matlab及其使用简介,Matlab全名Matrix Laborotory (矩阵实验室)由美国 MathWorks公司开发,是一个功能强大,适用于多个专业领域的通用软件。1984年推出1.0版,目前已发布至2006版Matlab可用于数值分析、数值和符号计算、工程与科学绘图、数字图像处
12、理、数字信号处理、通讯系统设计与仿真等,MATLAB的优点,1. 容易使用2. 可由多种操作系统支持(Windows,Linux等)3. 适合矩阵运算4. 丰富的内部函数5.强大的图形和符号功能6. 与其他软件和语言有良好的对接性Mathematics, Maple等,MATLAB的缺点,运行效率较低由于MATLAB是一种合成语言,因此,与一般的高级语言相比,用MATLAB编写的程序运行起来时间往往要长一些。(矩阵运算可能例外 )价格比较贵一般的用户可能支付不起它的高昂费用。但是,购买MATLAB的昂贵费用在很大程度上可以由使用它所编写的程序的价值抵消。,MATLAB 的主界面,命令窗口,工作
13、区窗口,命令历史窗口,菜单栏,工具栏,MATLAB 的路径设置,路径设置 除 MATLAB 默认的搜索路径外,用户可以设置搜索路径。设置方法为:选择 MATLAB 窗口中的 File | Set Path 命令,进入路径搜索对话框。,添加选中目录,添加选中目录及其子目录,Netcdf for MATLAB 的安装,解压netcdf toolbox.rar(把解压后的目录拷贝到matlab主程序所在的目录,其他位置也可)路径设置.在Matlab中 File - Set path - Add with subfolders 将解压后的这两个文件目录mexcdf53_pcwin 和 netcdf 添
14、加上; 将 mexcdf53_pcwinPCWIN 中的两个dll文件复制到MATLAB下的 binwin32 里面。,Matlab基本使用方法,可直接在command window直接发指令也可以通过运行*.m文件,常用的操作命令,常用标点符号,Matlab基本功能(这里只列出了本课程我们关心的几种),简单的数学运算 直接计算,也可用变量表达式给变量赋值后进行计算二维和三维绘图,数值运算符号,Matlab绘图,绘图数据的准备 可直接在命令窗口下输入(或生成)数据 也可从外部加载数据 ASCII数据的加载 二进制数据的加载 Netcdf数据的加载基本的绘图命令图形注释,ASCII数据的加载,直
15、接 load 目录文件名 (*.dat, *.txt, *.mat(二进制形式储存,但是也用load指令)或 aa=load(目录文件名 ); 将文件内的数字信息,赋值给变量aa或 fid=fopen(目录文件名 ,r)data=fscanf(fid,%f)将文件内的数字信息,赋值给变量data,二进制数据的加载,fid=fopen(etopo5.gds,rb); all=fread(fid,4320,2161,float32);contour(all)或all=fread(fid,inf,float32);rose=reshape(all,4320,2161);contour(rose),N
16、etcdf数据的加载,ncload(etopo120.cdf); 或file=目录名文件名.cdf;aa=netcdf(file);aa1 %显示第一个变量的信息.aan,基本的绘图命令,绘制基本线性图,(2)绘图的一般步骤,基本的绘图步骤,(3)绘制二维曲线图,plot(y)plot(x,y)plot(x,y1,x,y2,)plot(x,y1,r:,x,y2,),绘制散点图,scatter(x,y) 默认为蓝色圆圈scatter(x,y,z)对应x,y各点标记的大小用z来设定scatter3(x,y,z)scatter(x,y,s) s 颜色,标记类型 rdscatter(.,filled)
17、 圆圈填充为实心,绘制二维曲线图, x= 0:0.01:10; y=tan(x); plot(x,y),曲线的色彩、线型和数据点型,曲线的色彩、线型和数据点型参数定义,plot(x,y,b:,x,y,-.r*),坐标轴的控制,axis(xmin xmax ymin ymaxaxis(xmin xmax ymin ymax zmin zmaxaxis tight 坐标范围限制在数据范围内axis ij 矩阵形式坐标,原点在左上角axis xy 直角坐标axis on/off,同一页面多个分图,subplot函数 可以实现多个图形的绘制: x = 0:0.1:20; subplot(2,2,1)
18、plot(x,sin(x); subplot(m,n,p)m行,n列,第p个分图subplot(m,n,1:2)subplot(2,2,1 3)subplot(2,2,2)subplot(2,2,4),2. 图形注释,图题的标注 title(.)坐标轴的标签 xlabel(), ylabel()文本标注和交互式文本标注 text() gtext()图例的添加 legend(,) 坐标网格的添加 grid on/off,(1) 图题的标注,在MATLAB中,通常可以使用3种方式给图形添加图题:使用Insert 菜单中的Title命令;使用属性编辑器(Property Editor);使用titl
19、e函数。,图题的标注, x = 0:.1:2;y1=sin(x);y2 = sin(x-0.25); y3 = sin(x-0.5); plot(x,y1,-.b, x,y2,-r*, x,y3,-.gh) title(There three lines),(2) 坐标轴的标签,可以使用如下3种方式给图形的坐标轴添加标签:使用Insert菜单下的Label选项;使用属性编辑器(Property Editor); 使用MATLAB 的添加标签命令;,坐标轴的标签添加举例,使用属性编辑器(Property Editor)添加坐标轴标签 打开Tools菜单,选择Edit Plot命令,激活图形编辑状
20、态。在图形框内双击空白区域,调出属性编辑器;也可以采取在图形框内右击,从弹出的菜单中选择Properties 项的方式调出属性编辑器;或者是在View菜单中选择Property Editor项。,(3)文本标注和交互式文本标注,用户可以在MATLAB图形窗口的任意地方添加文本注释,从而更好地解释图形窗口的数据。MATLAB 提供了text函数和gtext函数来进行文本标注。其中gtext函数的使用形式更为灵活,可以实现交互式文本标注。 text(x,y,)gtext(),文本标注举例, x=linspace(-3,5,100); y=cos(x); z=sin(x); plot(x,y,x,z
21、) title(一条正弦曲线和一条余弦曲线) xlabel(x的取值范围) ylabel(Y和Z的值),(4)图例的添加,为了更好地区分所绘制的多条曲线,可以使用图例加以说明,对它们表示的数据进行更准确的区分。可以使用如下3种方法生成图例:打开Insert 菜单中并选择Legend命令;单击工具栏中的legend图标;使用legend函数。legend str1,str2,str3, legend(str1,str2,str3), legend off, legend hide, legend show, legend(,pos), pos=1,2,3,4,-1分别对应图形的右上角,左上角右下
22、角,左下角,右外侧,图例的添加 举例,(5)坐标网格的添加,在图形绘制过程中,为了精确地知道图形上某点的坐标,需要绘制坐标网格来定位,MATLAB 语言中提供了grid函数来实现这一功能:grid off命令关闭坐标网格; grid on命令打开坐标网格; grid minor命令使用更细化的网格;,坐标网格的添加举例, x=linspace(-5,5,100); y=x.4+22*x.2-6*x+10; plot(x,y) grid on,3. 三维图形的绘制,三维线图指令plot3(x,y,z) plot3(x,y,z,s) 三维网线图和曲面图 三维网线图 mesh(z), mesh(x,
23、y,z),mesh(x,y,z,c)meshc三维网线图加等值线meshz有边界面的三维网线图三维曲面图 surf(z),surf(x,y,z), surfc瀑布流水样的网线图 waterfall,用法类似meshmeshgrid 将给定的区域划分为平面网格 x=1:1:50;y=1:1:50; X Y=meshgrid(x,y);,(1)三维线图指令plot3, % 该程序用于绘制三维的螺旋曲线图 t = 0:pi/50:20*pi; plot3(sin(t),cos(2*t),sin(t)+cos(t),(2) 三维网线图,使用mesh函数来绘制三维网格图形: z=peaks(50); m
24、esh(z);,(3)三维曲面图,可使用surf函数来绘制三维表面图形 : X,Y=meshgrid(-4:0.2:4); Z=exp(-0.5*(X.2Y.2); surf(X,Y,Z),其它绘图方式,条形图和面积图(bar and area Graphs) 饼形图(pie Charts)直方图(hist)离散型数据图(stem, stairs) 方向和速度矢量图形 (compass,quiver,quiver3,feather等)等高线的绘制(contour Plots),(1)条形图和面积图,条形图和面积图用于绘制向量和矩阵数据,这两种图形可以用来比较不同组的数据在总体数据中所占的比例,
25、其中条形图适于表现离散型数据,而面积图适于表现连续型数据。,bar(条形图)举例, y=1 2 3 4 5 6 7 8 9 10bar(y),饼图,表示各个统计量占总量的份额二维饼图pie pie(x),pie(x,e),pie(x,e,labels)三维饼图pie3向量x的和 y=rand(20,1); stem(y),(4)方向和速度矢量图形,compass、feather、quiver和quiver3。,方向和速度矢量图形举例,用compass函数绘制矢量图形 : w=0:0.1:6; z=sin(w).*exp(j*w); compass(z),(5)等高线的绘制,创建、显示并标注由一
26、个或多个矩阵确定的等值线。,等高线的绘制,contour(z),contour(x,y,z)contour(z,n) n等值线的条数contour(z,v) v各条等值线对应的值, 可以矩阵形式给出1 3 5 6 x,y,z=peaks; c,h=contour(x,y,z) clabel(c) %标出等值线上的值,等高线的绘制举例,使用contour函数绘制等高线图形: x,y,z=peaks; contour(x,y,z),填色等高线的绘制举例,使用contourf函数绘制等高线图形: x,y,z=peaks; contourf(x,y,z,20) colorbar,颜色条的使用,colo
27、rbar(horiz) % 水平颜色条colorbar(vert) % 垂直颜色条,海洋数据应用实例(1),利用Levitus年平均资料绘制马尾藻海的温度盐度散点图(备注: 所有深度层的资料都要用),散点图用黑色实心原点绘制,海洋数据应用实例(2)利用离散数据生成格点数据,(王秀芹老师的绘图练习)已知黄海一系列离散观测点的经度、纬度、观测数据,利用Matlab做底层温度的等值线图1.数据形式为经度,纬度,测量值1,测量值2,.2.找到经度和纬度的变化范围取整数xi=linspace(xmin,xmax,nx); yi=linspace(y1,y2,ny);3.XI YI=meshgrid(xi
28、,yi)4.XI YI ZI=griddata(x,y,z1,XI,YI)5.contour(ZI)问题: 陆地上的点如何标志为无观测的区域?方法一:已经确定了*.bln,可以通过Surfer的Grid blank处理得到GS ASCII *.grd数据,处理之然后用Matlab将陆地/岛屿的值设置为Nan,绘图即可,海岸线数据,http:/rimmer.ngdc.noaa.gov/mgg/coast/getcoast.html指定范围后生成边界数据,再用边界数据做一个bln文件, 样本程序见公共邮箱mat_to_bln.for,Ferret及其使用简介,Ferret是美国西雅图NOAA/PM
29、EL/ TMAP (National Oceanic and Atmospheric Administration/ Pacific Marine Environment Laboratory/the Thermal Modeling and Analysis Project,热模拟和分析项目组)发展的一个交互式计算机可视化和数据分析系统。设计用来满足海洋学家和气象学家处理和分析数据及绘图的需要。,功能,数据分析和处理,生成新数据统计分析, EOF,FFT,均值,方差,相关分析数值运算,差分,积分,计算海水密度,坐标转换等绘图,两维、三维、动画等均可, 可以在Ferret工作窗口下产生数据,也
30、可以从外部加载数据,绘图形式,二维三维绘图功能丰富,可以产生如下形式的图形,线型图,散点图,实线图,等值线图,填色等值线图,raster(光栅),矢量图,多边型图,三维线条图等投影方式有很多种(类似Grads)可以实现动画显示, 断面资料显示等等,Ferret优点,适合应用于海洋学领域功能强大,有些功能类似Matlab,但它是免费的函数运算功能丰富,多种内部函数、外部函数可加载几乎所有形式的数据(Ferret可以读入不太规范的Netcdf数据,而Grads对Netcdf数据的要求比较严格,不太规范的数据可能无法载入)可以接受模糊指令 shaded sst; con rose,cont rose
31、(其它软件一般不可以)使用方便 日志文件(ferret.jnl)可以记录历史操作, 可对其重新命名并进行编辑以便于将来使用 (*.jnl批处理文件,类似GrADS的*.gs,Matlab的*.m文件),备注,使用ferret之前,必须启动一个xwindows,否则图形将无处显示(这一点类似于以前的Grads,现在的GrADS有自带xwindows的版本.)要想更好的使用Ferret,就要熟悉Ferret的语法表达,Thinking like a Ferret (经常使用就可以做到),Ferret,Ferret(包含数据)完全安装之后,自带数据会安装在默认的目录C:Program FilesTM
32、APfer_dsetsdata之下etopo20.cdf, etopo40.cdf, etopo60.cdf, etopo120.cdf, levitus_climatology.cdf, coads_climatology.cdf, esku_heat_budget.cdf, monthly_navy_winds.cdf, polydata.cdf等这些数据Ferret可以直接调用,可加载数据形式,Ferret可以读取ASCII码数据,二进制格式数据,以及两种自说明数据格式(一种为现在非常流行的Netcdf格式,后缀一般为*.nc或 *.cdf;另外一种为TMAP自说明数据格式).用Netc
33、df形式的数据进行Ferret操作最为方便快捷.,加载文件的基本指令 set data,加载ASCII数据或二进制数据file/var=var1,var2, filename file=set data/ezNetcdf文件的加载use filename(.cdf) (或者set data filename.cdf)use=set data/format=cdf,ASCII数据的载入,单列数据file/variable=aa d:aa.datplot aa多列数据file/col=2/vars=aa,bb d:aabb.datfile/col=n/vars=z1,z2,zn d:z.datfi
34、le_reading_demo.jnl,二进制数据的载入,一般要求加载的二进制数据内部为纯数字信息binary_read_demo.jnl,Fortran生成顺序存取数据几个变量的数据长度一致,REAL VARI(10), VAR2(10), VAR3(10).OPEN(UNIT=20,FORMAT=UNFORMATTED,ACCESS=SEQUENTIAL,FILE=MYFILE.DAT).DO 10 I=1,10WRITE (20) VAR1(I), VAR2(I), VAR3(I)10 CONTINUE.set data/ez/FORMAT=UNF/VAR=var1,var2,var3/
35、col=3 myfile.dat 或者 (目录文件名)file/FORMAT=UNF/VAR=var1,var2,var3/columns=3 myfile.dat,顺序存取数据的Fortran生成几个变量的数据长度不一致,real VAR1(1000), VAR2(500).OPEN(UNIT=20,FORMAT=UNFORMATTED,ACCESS=SEQUENTIAL,FILE=MYFILE.DAT).WRITE (20) VAR1WRITE (20) VAR2.DEFINE AXIS/X=1:500:1 xaxisDEFINE GRID/X=XAXIS mygridFILE/FORMA
36、T=stream/SKIP=1003/GRID=mygrid/VAR=var2 myfile.dat1003表示纪录1中1000个数据与2个信息记录(2个为记录1的周边信息,另一个为记录2的开始信息)The argument 1003 is the sum of the 1000 data words in record 1, plus 2 words of record length information surrounding the data values in record 1 (variable var1), plus 1 word of record information pr
37、eceding the data in record 2.,直接存取数据的生成,REAL VARI(10), VAR2(10), VAR3(10).OPEN(UNIT=20,FORMAT=UNFORMATTED,ACCESS=Direct,FILE=MYFILE.DAT).DO 10 I=1,10WRITE (20,rec=i) VAR1(I), VAR2(I), VAR3(I)10 CONTINUE.file/format=stream/var=var1,var2,var3 myfile.dat,直接存取数据的生成,REAL*4 MYVAR(10,5).OPEN(UNIT=20, FILE=
38、myfile.dat, ACCESS=DIRECT, RECL=10).DO 100 j = 1, 5100 WRITE (20,REC=j) (MYVAR(i,j),i=1,10).DEFINE AXIS/X=1:10:1 x10DEFINE AXIS/Y=1:5:1 y5DEFINE GRID/X=x10/Y=y5 g10x5FILE/VAR=MYVAR/GRID=g10x5/FORMAT=stream myfile.datIf the file consisted of a set of FORTRAN REAL*8 or C doubles, then the data would l
39、ook like:dddddddd dddddddd dddddddd .and the following Ferret commands would read the data into myvar:DEFINE AXIS/X=1:10:1 x10DEFINE AXIS/Y=1:5:1 y5DEFINE GRID/X=x10/Y=y5 g10x5FILE/VAR=MYVAR/GRID=g10x5/FORMAT=stream/type=r8 myfile.dat,直接存取格点数据的加载,二进制格点数据,可以先定义x,y,z,t的轴,网格,再按照网格分布形式读入,大体形式如下.def axis
40、/x=1:nx:1 xaxdef axis/y=1:ny:1 yaxdef axis/z=1:nz:1 zaxdef axis/t=1:nt:1 taxdef grid/x=xax/y=yax/z=zax/t=tax mygridfile/format=stream/var=num,num1/grid=mygrid ($file),Netcdf数据的载入,use 文件目录文件名set data 文件目录文件名,基本操作n部曲,确定数据 use 文件名(必须为Netcdf格式数据)set data 文件名 (或文件被赋予的标示号)确定所需要的网格范围 set region/x/y/z/t/I/j
41、/k/l确定准备操作的变量或者变量表达式,绘图con (sst-273.16)*9/5结果输出frame/file=aaa.gif关闭数据cancel 文件名(或文件被赋予的标示号),图形窗口的设置,set window/new 打开一个新窗口set window n 打开窗口n,在该窗口下操作, 如窗口n不存在,则新建一个窗口set window/aspect=0.5 纵横比,默认为0.75set window/size=0.5 (1的某个数)Ferret可以打开n个绘图窗口,这一点不同于GrADS(只有一个绘图窗口)set window/clear 或set window/c 或 canc
42、el viewport清除当前图形显示set window/location=0,0.5cancel window n 关闭标号为n的窗口,分图的设置,set viewport upper; 绘图操作set viewport lower;绘图操作分为两个绘图区,一上一下set viewport leftset viewport right分为两个绘图区,一左一右set viewport ul /ur /ll /lr 分为四个绘图区,左上、右上、左下、右下,常用指令list,/I/J/K/L /X/Y/Z/T /D /ILIMITS /JLIMITS /KLIMITS /LLIMITS /XLI
43、MITS /YLIMITS/ZLIMITS /TLIMIT /APPEND /FILE /FORMAT /HEADING /NOHEAD /TITLE /ORDER/RIGID /PRECISION /CLOBBER /SINGLE /QUIET /WIDTH /EDGES /BOUNDSlist 变量名i=i1:i2,j=.list 列出,列于表上,记入名单内,查询格点i,j,k,l对应的空间范围和时间,list 变量名i=i1:i2,j=.show grid/i=/j=/k=/l= var,*.jnl的使用,go 文件名.jnl打开C:Program FilesTMAPexamples看*
44、.jnl文件自学Ferret,go tools的使用,go 文件名(.jnl)如:go landgo fland.go tools存储于C:Program FilesTMAPgo,基本绘图操作plot,PLOT /I/J/K/L /X/Y/Z/T /OVERLAY/ SET_UP /FRAME /D/ TRANPOSE/ VS/ SYMBOL/NOLABEL /LINE /COLOR /THICKNES /SIZE /HLIMITS /VLIMITS /TITLE /STEP/NOAXES /DASH /NOYADJUS /AXES /HLOG /VLOG /NOKEY/I/J/K/L /X/
45、Y/Z/T 确定使用的资料范围 /X=40E:60W/OVERLAY 叠加在刚才的图上/D 确定资料plot/line/symbols/I=1:30 sin(I)plot/vs temp, salt绘制散点图,基本绘图操作contour,等值线 (contour/con)作用等同于GrADS (set gxout contour),但Ferret的contour功能更加丰富用levitus资料进行演示use levitus_ climatology contour tempk=1 (contour的变量必须为二维数据)绘图时,在变量名的后面以x=,y限定或者 set region/x=x1:x2/y=y1,y2/z=z1:z1/t=t1:t2把网格设定为两维,再进行绘图con temp加入海陆分界线 go land (颜色或者颜色号)陆地填充颜色 go fland red,