今天需要用NCL,在下载的时候就看到了PyNGL。在网上随便查了一下,好像没有中文的介绍,所以就写一个吧,方便大家查,写在csdn上容易被百度查到,谁都方便。
我尽量在短时间内完成吧,拖得久了我也没有更多的时间,有问题欢迎大家指正,我会万分感谢!
注:此教程针对有一定python的人设计,没有python基础的人建议先学一下,反正用python在大气方面做点简单的应用非常容易,推荐阅读《python学习手册》。
正文:
这是一个利用一系列python代码例子,一步一步带大家了解新特征和新概念的教程。如果能按照顺序学习这个教程效果最好,因为新的概念只有在第一次出现的时候才会被介绍。
下面的所有例子,都是以一段简短的介绍开始,接着是这个例子输出的图,然后是PyNGL/PyNIO代码,最后是每一行代码的解释。
注意:重复的概念不会在每一个例子中都讲,所以按照顺序阅读很重要!所以其实并不是每一行代码都会被解释,只有介绍新概念的代码才会被解释。
目录:
例子1:这个例子介绍PyNGL的基础,例如PyNGL的脚本的开头和结尾时怎样的,如何创建和初始化变量,如何建立和画XY图,还有如何设置来改变XY图的外观,还介绍了如何从ASCII文件读取数据。
例子2:这个例子介绍如何用PyNIO读取netCDF格式的文件,如何设置色彩表(color map),如何创建和画等值线图,如何输出变量还有如何将数据输出成ASCII格式。
例子3:这个例子介绍了如何从netCDF文件中读取数据,如何设置色彩表(color map)和如何创建和画向量图。它也讨论了数据中有缺失值的情况。
例子4:这个例子展示了如何从GRIB文件中获取数据。还展示了如何用步长值来选取数组的一部分,还有如何画流场图。
例子5:这个例子从netCDF文件中读数据,展示了如何获得当前的色彩表(color map)并且改变它的值。还介绍了如何在现有的图层上面添加新的图层,如何填充特定的等高线层。还有如何在图的任何地方添加文本。
例子6:这个例子从netCDF文件中读数据,展示如何在各种不同的地图投影中画向量图,如何处理向量数据,还有如何增大图片的尺寸。
例子7:这个例子展示了如何利用Fitgrid来进行插值,如何在一张图中画两个XY图,还有如何使用text,polyline,polymarker方法来在任意位置添加文字,线和标记。
例子8:这个例子从ASCII文件中读取数据,利用Natgrid工具插值到二维网格中,如何打开3维工作空间,还有如何在三维数组中交换维度。它能在X11窗口、NCGM,PostScipt脚本文件、PDF文件中创建并画XY图。它还展示了如何在一个源文件中将图中所有字体设为Times-Roman
例子9:这个例子展示了如何用python中的数值函数来进行平均,如何在画图后对图的参数进行调整,如何画一个12帧的等高线图,这个例子使用了大量的数据文件。
例子10:这个例子讲了如何创建一个符合发表要求的xy图,如何加上下脚表等。
例子11:这个例子荣ASCII文件中读数据并且画一个等高线图和xy图。如何给y轴设置不同的坐标(包括将一个坐标设置为对数坐标),如何设置自己的刻度,如何获取你的等高线级别并把他们填入合适的区域。