IDL入门教程二上简单图形显示IIWord文档下载推荐.docx

上传人:b****3 文档编号:15828230 上传时间:2022-11-16 格式:DOCX 页数:25 大小:178.78KB
下载 相关 举报
IDL入门教程二上简单图形显示IIWord文档下载推荐.docx_第1页
第1页 / 共25页
IDL入门教程二上简单图形显示IIWord文档下载推荐.docx_第2页
第2页 / 共25页
IDL入门教程二上简单图形显示IIWord文档下载推荐.docx_第3页
第3页 / 共25页
IDL入门教程二上简单图形显示IIWord文档下载推荐.docx_第4页
第4页 / 共25页
IDL入门教程二上简单图形显示IIWord文档下载推荐.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

IDL入门教程二上简单图形显示IIWord文档下载推荐.docx

《IDL入门教程二上简单图形显示IIWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《IDL入门教程二上简单图形显示IIWord文档下载推荐.docx(25页珍藏版)》请在冰豆网上搜索。

IDL入门教程二上简单图形显示IIWord文档下载推荐.docx

本章将介绍一些关于如何用栅格图形命令写出可调节尺寸的IDL图形窗口或进行直接硬拷贝输出的必备概念。

本章的图形命令都是ResearchSystems公司所说的直接图形。

另外一种被ResearchSystems公司称为对象图形的图形方式在IDL5.0中被引入。

对象图形使用时相对难一点,但它在IDL编程方面更强大更灵活。

对象图形不是为了在命令行使用而开发的,而是用在IDL的程序中,特别是用于带有界面的程序中(带有图形用户界面的程序)。

本书对对象图形不做介绍。

创建线画图

生成线画图最简单的方法是绘出一个矢量。

可以用LoadData命令打开时序数据集。

LoadData命令是本书所带的一个IDL程序(详细细节参考第5页的“本书中所用的IDL程序和数据文件”)。

它用来装载本书的编程例子中所需的数据。

键入如下语句以查看所能使用的数据集:

IDL>

curve=LoadData()

如果输入LoadData命令时忘掉了括号,需要在它正常工作前重新编译LoadData程序。

原因是,IDL在命令行会认为它是一个变量并进行相应地处理。

重新编译后,“loaddata”这个函数名在IDL的函数名列表中。

键入:

.CompileLoadData

时序数据是在LoadData数据列表上的第一个数据集。

点击它,数据就被装入到curve变量中。

另外一种选择第一个数据集的方法是,按如下方法使用LoadData:

curve=LoadData

(1)

要查看curve变量如何被定义,键入:

Help,curve

CURVEFLOAT=Array[101]

将发现curve是一个具有101个元素的浮点矢量(或一维数组)。

要绘出该矢量,可键入:

Plot,curve

IDL试图用少量的信息尽可能地绘出漂亮的线画图。

在这种情况下,x轴或水平轴被标识为从0到100,这与矢量中的元素个数相对应。

而y轴或垂直轴则是用数据坐标来标识(它是取决于数据的坐标轴)。

但大多数情况下,线画图用于显示一组数据(独立数据)相对另外一组数据(非独立数据)的关系。

例如,上面的曲线可能代表在某段时间内采集数据的信号。

可能需要绘制某个时刻的信号值。

在这种情况下,需要一条与该曲线矢量具有相同元素个数的矢量(这样可以获得一一对应的相关性),并将该矢量转换为实验中所用的时间单位。

例如,可以创建一个时间矢量,并绘出它与上述曲线矢量的关系图:

time=FIndGen(101)*(6.0/100)

Plot,time,curve

FIndGen命令创建一个元素值为0到100的共101个元素的矢量。

乘法因子按比例缩

图1:

独立数据(时间)与非独立数据(曲线)关系图。

小每个元素的大小,最后的结果是一个元素值为0到6之间的共101个元素的矢量。

图形输出结果应与图1相似。

注意,在此图中的坐标轴上没有相应的标题。

在图上设置标题是很容易的,只要用XTitle和YTitle关键字既可实现。

例如,为此曲线图加标题,可键入:

Plot,time,curve,XTitle='

TimeAxis'

$

 YTitle='

SignalStrength'

甚至可以用Title关键字对整个图形设置标题,键入:

Plot,time,curve,XTitle='

 $

YTitle='

SignalStrengh'

Title='

Experiment35M'

输出结果应与图2一样。

图2:

简单的带坐标轴标题和图形标题的线画图

注意图形显示应该为在黑色背景下的白线图,而上图显示为在白色背景下的黑线。

这些插图包含在用IDL生成的PostScript文件中。

一般情况下Postscript文件把图形颜色和背景颜色反过来。

(参考189页的“问题:

PostScript设备对背景颜色和图形颜色的不同处理”。

注意,图形标题稍微大于坐标轴的标题。

事实上,是1.25倍的关系。

可以用CharSize关键字改变所有图形注记的大小。

例如,可以将坐标轴标题的字符放大50%:

Title='

CharSize=1.5

如果希望所有的图形显示的字符比正常情况下大,可以通过绘图系统变量上设置CharSize的大小,如下:

!

P.CharSize=1.5

现在,所有后续的图形显示都将用较大的字符,除非用CharSize关键字在图形输出命令中特别地控制。

甚至可以用[XYZ]CharSize关键字单独改变每个轴的标识字符的大小。

例如,如果想使Y轴的注记比X轴的大两倍,则可键入:

Plot, time, curve, XTitle='

 XCharSize=1.0, $

 YCharSize=2.0

记住,[XYZ]Charsize关键字使用当前字符的大小作为基础计算出各自的大小。

当前字符的大小一般储存在!

P.CharSize系统变量中。

这意味着,如果设置XCharSize关键字为2,当!

P.CharSize系统变量也被设置为2时,字符将比平常大四倍。

定制线画图

上面是简单的线画图,除了数据本身外,没有多少其它信息。

然而,有许多方法可用来定制和标注线画图。

Plot函数可以被50多种不同的关键字修饰。

下面的事情也许想做一做:

1.改变线型或粗细。

2.使用符号,符号之间可以有线条和没有线条存在。

3.创建自己的绘图符号。

4.给线图加入颜色提示重要特性。

5.改变刻度标记的长度或刻度标记之间的间隔。

6.使用对数来标度图形坐标轴。

7.改变绘图范围来绘出感兴趣的数据段。

8.删除坐标轴或改变绘图方式。

改变线条的线型和粗细

例如,想用不同的线型画出数据。

如画一条线型为长虚线的线条,可以这样实现:

Plot,time,curve,LineStyle=5

对于线画图来说,可通过LineStyle关键字选用表3中列出的索引号确定不同的线型。

例如,想使用虚线画出曲线,可以把LineStyle关键字的值设置为2:

Plot,time,curve,LineStyle=2

索引号

线型

实线

1

点线

2

虚线

3

划点线

4

划点点线

5

长虚线

表3:

可以通过赋予LineStyle这个关键字不同索引号来改变线型

线画图中线的粗细同样能够被改变。

例如,如果想使用比正常值粗3倍的虚线来显示图形,可键入:

Plot,time,LineStyle=2,Thick=3

用符号代替线条显示数据

假如想用符号代替线条显示数据,就象LineStyle关键字一样,也存在类似的索引号供选择,以确定不同的线画图符号。

表4给出了能通过PSym(绘图符号)关键字来选择的索引号。

例如,可以通过设置PSym为2,用星号来绘图,如下:

plot,time,curve,Psym=2

输出的图形应与图3中的图形相似。

图3:

用符号而不是线条来显示线画图。

绘图符号

无符号,通过线条连接点

加号

星号

菱形

三角形

6

方形

7

X

8

用户自定义符号(用UserSym过程来定义)

9

未用

10

直方图

-PSym

负值表示用线条连接相应的符号

表4:

这些符号索引号可以通过PSym关键字来引用以便在绘图中使用不同的符号。

注意绘图符号为负值时表示用线条来连接相应的符号。

用线条和符号来显示数据

赋予PSym关键字一个负值就可以用线条将图形符号连接起来。

例如,可用实线与三角形符号绘出数据,键入:

Plot,time,curve,PSym=-5

为创建一个更大的符号,可用SymSize关键字。

下面的语句画出的符号为正常的两倍。

符号值为4时符号的大小为正常值的4倍,依此类推。

Plot,time,curve,PSym=-5,SymSize=2.0

创建自己的图形符号

如果富有创造力,甚至可以创建自己的图形符号。

UserSym命令就用于此目的。

在创建了一个特殊的图形符号之后,可通过设置PSym关键字为8来选择它。

以下是一个创建五角星符号的例子。

x,y矢量定义五角星的顶点,它们的值为偏离原点(0,0)的位置。

可以用UserSym命令通过设置关键字Fill创建一个填充的图形符号:

x=[0.0,0.5,-0.8,0.8,-0.5,0.0]

Y=[1.0,-0.8,0.3,0.3,-0.8,1.0]

TvLCT,255,255,0,150

UserSym,x,y,Color=150,/Fill

Plot,time,curve,PSym=-8,SymSize=2.0

输出结果应与图4相似。

图4:

用UserSym程序创建的符号来绘制的图。

用不同的颜色绘制线画图

可以用不同的颜色绘制线画图(颜色将在第83页的“IDL的颜色运用”中详细讨论。

现在,只须按如下键入TvLCT命令即可,以后将学到这个命令意味着什么。

实质上,装载了三个颜色矢量,每个矢量的三个分量分别代表颜色的三个组成部分红,绿,蓝。

这三种颜色矢量为碳灰,黄,绿色。

)例如将颜色索引号1、2和3分别设置为碳灰,黄,绿色,键入:

TvLCT,[70,255,0],[70,255,255],[70,0,0],1

在碳灰背景下绘黄色图,键入:

Plot,time,curve,Color=2,Background=1

如果只是想使线条成为不同的颜色,首先必须将NoData关键字打开来绘图,然后用OPlot命令(下面要讨论的)覆盖该图。

例如,在碳灰色背景上绘制黄色外框,数据用绿色显示,键入:

Plot,time,curve,Color=2,Background=1,/NoData

OPlot,time,curve,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 专升本

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1