IDL入门教程二(下)(简单图形显示I)(3)

2019-04-14 21:15

!P.Multi[3] 此元素规定了在Z方向上叠加的图形数目(仅适用已经建立了三维坐标系

的情况下)

!P.Multi[4] 此元素规定了是先按行显示图形(!P.Multi[4]=0),还是先按列显示图形

(!P.Multi[4]=1)。

假如想将!P.Multi参数设置为按两行两列在显示窗口内显示四幅图形,并且,先按列显示图形,键入:

IDL> !P.Multi = [0, 2, 2, 0, 1]

显示图形时,如果要求每个图形占据窗口的四分之一位置,键入: IDL> window, Xsize=500, Ysize=500

IDL> Plot, time, curve, LineStyle=0

IDL> Contour, peak, lon, lat, Xstyle=1, Ystyle=1, Nlevels=10 IDL> Surface, peak, lon, lat IDL> shade_Surf, peak, lon, lat

输出结果应与图24相似

图24: 在单个显示窗口内可以绘制多幅图形

给多幅图形的图留下标题空间

当IDL计算图形位置时,是用整个显示窗口来决定每幅图形的大小。但是,有时想在显示窗口上有额外的空间来放图形标题或者其它类型的注释。可以通过使用!X,!Y和!Z!系统变量的“外边缘”字段为多幅图形留出空间。外边缘字段仅仅在 P.Multi系统变量被使用时有效。它们与正常的图形边缘一样,也是按字符单位来计算的。

如果想为刚刚创建好的四个图形的总图加上一个标题,应为标题留出空间。键入: IDL> !P.Multi = [0, 2, 2, 0, 1] IDL> !Y.Omargin = [2, 4]

IDL> Plot, time, curve, LineStyle=0

IDL> Contour, peak, lon, lat, Xstyle=1, Ystyle=1, Nlevels=10 IDL> Surface, peak, lon, lat IDL> Shade_Surf, peak, lon, lat

IDL> XYOuts, 0.5, 0.9, /Normal, ‘Four Graphics Plots’, $ Alignment=0.5, Charsize=2.5 输出结果应于图25相似。

图25: 使用关键字!Y.OMargin在多幅图形的上方留出4个字符高度的空间来放标题

使用!P.Multi变量创建不对称的排列

使用!P.Multi变量绘图没有必要是对称排列。例如,需要曲面图与阴影图一上一下地排列显示在显示窗口的左边,而显示窗口的右边是一张用同样数据生成的等值线图。可键入: IDL> !P.Multi = [0, 2, 2, 0, 1] IDL> !Y.OMargin=[0,0]

IDL> Surface, peak, lon, lat IDL> Shade_Surf, peak, lon, lat IDL> !P.Multi = [1, 2, 1, 0, 0]

IDL> Contour, peak, lon, lat, Xstyle=1, Ystyle=1, Nlevels=10

第一个!P.Multi命令设置了一个二列二行的排列形式,第一、第二张图已制好。第二个 !P.Multi命令设置了一个二列一行的排列形式。但要注意 !P.Multi[0]被设置为1。结果是等值线图进入了显示窗口的第二个位置而不是第一个。结果由图26可以看出。

图26: 可以使用!P.Multi在显示窗口定位图形的不对称排列

注意:与PLOT和CONTOUR命令不一样,TV命令与!P.Multi一起使用无效。但是,在此书中可以用TVImage程序代替TV命令,该程序在已经下载的程序中。如果设置了MULTI关

键字,!P.Multi系统变量就有效。试试这些命令: IDL> image = LoadData(7) IDL> !P.Multi=[0, 2, 2]

IDL> FOR j=0, 3 DO TVImage, image, /Multi

确保已经将!P.Multi复位,以便在一页上显示单个图形。象许多系统变量一样, !P.Multi可以通过设置!P.Multi=0重新设置为它的缺省值。 IDL> !P.Multi = 0

给图形显示添加文本

图形注释和其它文本可以通过许多方式添加到图形显示上。最通常的方法是通过图形显示命令的关键字。被添加的文本可以三种字体“风格”中的任意一种形式出现:矢量字体(有时也称为软字体或 Hershey 字体)、TrueType字体、硬字体。字体类型可以根据表6通过设置!P.Font系统变量或者在图形输出命令中设置 Font关键字来加以选择。 !P.Font -1 0 1 字体选择 矢量字体(也叫软字体或Hershey字体) 硬字体 TureType轮廓字体 表6: 字体“风格”可以通过设置!P.Font系统变量或者Font关键字为适当值来加以选择。

矢量字体是直接图形命令的缺省字体,它们有不依赖于平台的优点

在缺省值情况下,直接图形程序使用的是矢量或软字体的形式。矢量字体由矢量坐标描述。其结果是,它们是独立于平台并且极易在三维空间旋转。但是,许多人发现,对于高质量的硬拷贝输出来说,矢量字体太“瘦”了。为此,需要更丰满的字体(比如:TrueType字体或者PostScript打印机硬件字体)。通过设置!P.Font系统参数为-1或者在图形输出命令上设置Font关键字为-1,就选择矢量字体了。如:

IDL> Plot, time, curve, Font=-1, Xtitle=’Time’, $ Ytitle=’Signal’, Title=’Experiment 35F3a’

TrueType字体也称为轮廓字体,这种字体由一系列的外形轮廓描述的,这些轮廓通过创建一系列的多边形来填充。IDL有四种TrueType字体家族系列:Times, Helvetica, Courier, 和Symbol。TrueType字体渲染需要花更长的时间,因为这种字体首先必须刻绘出来,然后创建相应的填充多边形,最后填充。并且许多人发现这种字体在低分辨率显示器上用小磅值时显示效果不好。但是它们有可以旋转的优点,并且硬拷贝输出上较美观。TrueType字体是IDL对象图形系统的一种缺省字体。

用缺省的Helvetica TrueType字体的外形来绘制图形,须设置Font关键字为1。如: IDL> Plot, time, curve, Font=1, Xtitle=’Time’, $ Ytitle=’Signal’, Title=’Experiment 35F3a’

TrueType字体可以用Device命令通过Set_Font和TT_Font关键字来选择。如下: IDL> Device, Set-Font=’Courier’, /TT_Font

IDL> Plot, time, curve, Font=1, Xtitle=’Time’, $ Ytitle=’Signal’, Title=’Experiment 35F3a’

在IDL中,为了掌握更多的TrueType字体,可以使用联机帮助系统。 IDL> ? fonts

硬字体通过设置!P.Font系统变量或 Font关键字为0来加以选择。通常情况下,硬字体并不用于图形显示中,而是在当内容被输出到硬拷贝输出设备时使用,例如 PostScript打印机。直到最近的IDL版本,硬字体都不能很好地在三维空间内旋转。因此,在使用类似于Surface等三维命令时,一般都不使用硬字体。

IDL> Plot, time, curve, Font=0, Xtitle=’Time’, $ Xtitle=’Signal’, Title=’Experiment 35F3a’

找出可用字体的名称

可以用以下Device命令找出可用的硬字体名。如: IDL> Device, Font=’*’, Get_FontNames=fontnames

IDL> For j=0, N_Elements(fontnames)-1 DO Print, fontnames[j]

只要使用TT_Font关键字,TureType字体名称可用类似的方法找出。TT_Font关键字用来选择系统上可用的TureType字体。(可以把自己的TureType字体加到IDL提供的四种系列类型内。如何实现可参考IDL的联机帮助系统。)

IDL> Device, FONT=’*’, Get_FontNames=fontnames, /TT-Font IDL> For j=0, N_Elements(fontnames)-1 DO Print, fontnames[j]

可用的矢量字体名称在表7给出。

用XYOutS命令添加文本

在IDL 中一个非常重要的命令是XYOutS命令(“在XY 给定的位置,输出一个字符串”)。这个命令用来在窗口的特定位置放入一个文本字符串。(XYOutS 的第一个位置参数是X的位置,第二个位置参数是Y的位置)。例如,给线画图加上一个较大的标题,键入如下命令: IDL> Plot, time, curve, Position=[0.15, 0.15, 0.95, 0.85]

IDL> XYOutS, 0.5, 32, ‘Results: Expe riment 35F3a’, Size=2.0

注意,是用数据坐标来给定X和Y的位置,同时Y坐标在图形边界之外。在缺省的情况下,XYOutS过程使用数据坐标系统。但是,如果选用适当的关键字,设备坐标系统 和归一化的坐标系统也可使用。

(数据坐标系统自然地由其自身描述。设备坐标有时称为像素坐标,设备坐标系统经常和图像一起使用。归一化的坐标系统在每个方向从0到1。当需要用独立于设备输出图形时,经常使用归一化坐标。)


IDL入门教程二(下)(简单图形显示I)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中班美术教案:五彩鸟(共4篇)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: