一、概述拔丝奶豆腐的做法
一般,NCL脚本包含以下的内容:
1、使用load命令加载包含高水平图形接口的库函数,这一步在begin之前进行。
2、从数据文件中读数据。进行数据处理(可选)。
3、打开一个工作站(workstation)。选择一个颜色表.
4、创建一个resouce变量,各种画图的选项将作为它的属性。 影字
5、调用合适的图形接口作图。
kb1
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/l"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/l"
begin
in = addfile(“,“r“)
t = in->T wks = gsn_open_wks(“ps,ce)
gsn_define_colormap(wks,"BlAqGrYeOrRe")
res = True
一切尘埃
res@cnFillOn = True
res@cnLinesOn = Fal
res@cnLevelSpacingF = 0.5
res@gsnSpreadColors = True
res@lbAutoLabelStride = True
plot = gsn_csm_contour_map_ce(wks,t,res)
end
二、高水平图形接口专业技术能力
2.1 gsn图形接口
一般的gsn接口可以创建一般的x-y坐标,等高线,流线和矢量图。
2.2 gsn_csm接口
– 可以自动的完成以下功能:
自动添加label bars,在一般的接口中需要明确的 指明。自动的将变来的long_name和units属性作为图形 的标签。long_name在左上角,units在右上角。 还会自动的添加一些关于压力值等的其它标签。
2.3 加载接口
在begin之前用load命令加载。 gsn和gsn_csm图形接口包含在以下两个文件里。
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/l"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/l"
三、Getting Started
3.2 .hluresfile
– .hluresfile文件要位于主目录下。 – 在.hluresfile文件里你可以设置你的显示属性: 例如:前景色、背景色:
观察日记两则 *wkForegroundColor : (/0.,0.,0./) *wkBackgroundColor : (/1.,1.,1./)
– Color map
*wkColorMap : rainbow+gray
– 字体: – *Font : helvetica
四、工作站(workstation)
在画图之前必须要先创建一个工作站。图形命 令将作用在工作站上。工作站需要赋予一个名 字,这个名字将作为输出文件的文件名。你可 以同时打开多个工作站。一个工作站只可以指 定一个colormap。 六种工作站:
– 1、ncgm。2、ps(postscript)。3、eps(密封的 postscript)。4、epsi(带位图预览的密封的postscript)。 5、pdf。6、X11窗口。 – 例:
wks = gsn_open_wks(“pdf,34_x_45) wks_2 = gsn_open_wks(“ps,myfile)
五、通过Resource画图
通过Resources我们可以修改默认的NCL图形。 每个resource属性的前两个小写字母代表了 resource的类别,后面的单词首字母大写。 5.1 Resource类别
am:注释管理 cn:等高线 ca:坐标数组 gs:图像风格 lb:labelbar lg:说明
mp:maps(地图) pm:plot manager(绘图管理) pr:primitive(原型) sf:scalar field(标量场) ti:title(标题) tm:tickmarks(刻度标记) tx:text(文本) tr:transform(变换) vf:vector field(矢量场) field( ) vc:vectors(向量) vp:viewport(显示窗口) wk:workstation(工作站) ws:workspace(工作空间) xy:xy plot(xy坐标图形) 它们的详细属性请参见: l.ucar.edu/Document/Graphics/Resources/
5.2 给resources赋值
首先要将resources变量赋值为True。 属性通过@符号来指定。下例中的res是用户自定义的。 例:
res = True res@tiMainString = “my title res@cnFillOn = True
resource变量通常作为调用的图形接口的最后一个参数: 例:
plot = gsn_csm_contour(wks,data,res) plot2 = gsn_xy(wks,data,res)
5.3 一些常用的resources
附录A包含了常用的resource的完整的描述
5.4 画图和gsnDrawresource
– 默认情况下,当你调用高水平图形接口时,图 形会被自动创建,除非你设定:gsnDraw=Fal.
5.5 推进frame和gsnFrameresource
– 默认情况下,当你调用高水平图形接口,图形 被创建后,图形接口会自动推进frame(如果一 frame( 个frame是书的一页的话,那么workstation就是 那本书,推进frame就相当于翻过书的一页。一 个workstation可以有多个frame)。除非你设定: gsnFrame=Fal
2016NBA选秀 5.6 特殊的字符串resources,gsnLeftString, gsnCenterString,gsnRightString
在gsn_csm图形接口中,图形左上角会自动设置为数 据的long_name属性,右上角会自动设置为数据的 units属性。这种行为可以通过gsnLeftString(控制左上 角)、gsnCenterString(控制中间位置)和 gsnRightString(控制右上角)来改变。 例:
res = True res@gsnRightString = "my string" res@gsnCenterString = "center"
六、颜色设置
6.1 颜色填充
通过设置cnFillOn=True你可以为当前的等高线设置 填充颜色。另外“cnFillMode=“RasterFill“表示使用 光栅模式。 你还需要为你的workstation指定一个colo
r map。关 于color map的跟多信息请参见: l.ucar.edu/Document/Graphics/color_ta bles.shtml
6.2 默认的colormap
NCL的默认的colormap包含一系列的不同的颜色。 有三种方法改变colormap
– 1、选择一种内置的colormap(6.3)。 – 2、指定一个代表RGB数值的nX3维的数组(6.4)。 – 3、指定一个包含颜色名称的数组。
6.3 内置的colormaps
有许多预定义的colormaps,可以参考以下链接:
– l.ucar.edu/Document/Graphics/color_tables.sh tml
你可以这样为你的workstation指定一个colormap:
– gsn_define_colormap(wks,gui_default)
6.4 使用RGB数组
你可以通过RGB数组自定义一个colormap。 例:
colors = (/ (/255,255,255/),\ (/0,0,0/),\ (/255,255,255/),\ (/244,255,244/), \ (/217,255,217/), \ (/163,255,163/),\ (/106,255,106/), (/43,255,106/),\ (/255,127,0/) /) gsn_define_colormap(wks,colors) 第一和第二个颜色值为黑和白,分别代表前景色和背景色。
6.5 通过颜色的名称
NCL有一系列的命名好的颜色值,可以参考一下链接: l.ucar.edu/Document/Graphics/named_colors .shtml 例:
colors = (/ “white, “black, “white, “RoyalBlue,\ "LightSkyBlue", "PowderBlue", "LightGreen", "PaleGreen", \ "wheat", "brown","pink"/) gsn_define_colormap(wks,colors)
6.6 gsnSpreadColors
默认的情况下,NCL会根据要填充的等高线或矢量图的个 数n选择colormap中的前n个颜色。除非你设置 gsnSpreadColors=True,这时NCL将在colormap中均匀的选 择n个颜色值,比如:有10个等高线水平和200个颜色值, 这时NCL会每隔20选择一个颜色值。你也可以通过设置 gsnSpreadColorStart和gsnSpreadColorEnd控制选择颜色的 开始下标和结束下标。
6.7 CMYK
许多科学期刊要求论文要提供CMYK格式的图片。 CMYK也是商业印刷优先考虑的颜色模式。下面的代 码将创建一个CMYK格式的图形:
type = "ps" type@wkColorModel = "cmyk“ wks = gsn_open_wks(type,"color") gsn_define_colormap(wks,"BlWhRe") – postscript文件在输出时将转换为CMYK格式。
七、向量
7.1 向量的类型affable
在NCL中有四种类型的向量图,可以通过 vcGlyphStyle=“type来设置:
– – – – “LineArrow:多条带箭头的线段,这时默认的。 “FillArrow:填充的带箭头的多边形。 “WindBard:使用在天气图上看到的标准的风倒钩字形。 “CurlyVector:a curved polyline tangent to the instantaneous flow in the neighborhood of the grid point.