27
第第第 第第第第第第第第第第 第第第第第第第第第第

第六章 数据的图形显示和输出

Embed Size (px)

DESCRIPTION

第六章 数据的图形显示和输出. 1. 绘制线 PLOT 2. 绘制多线 OPLOT 3. 绘制文本 XYOUTS 4. 绘制带误差棒的数据图形 5. 在 PostScript 设备上显示图像. 1. 绘制线 PLOT. ● 格式: PLOT, [X,] Y [, 关键字 ] 功能:在当前窗口中,按照指定的格式绘制直线或者曲线。 IDL> x = FINDGEN(101)*(0.01*2.0*!PI) & y = SIN(x) IDL> PLOT, x, y 图 1.1 - PowerPoint PPT Presentation

Citation preview

第六章数据的图形显示数据的图形显示和输出和输出

1. 绘制线 PLOT

2. 绘制多线 OPLOT

3. 绘制文本 XYOUTS

4. 绘制带误差棒的数据图形5. 在 PostScript 设备上显示图像

● 格式: PLOT, [X,] Y [, 关键字 ] 功能:在当前窗口中,按照指定的格式绘制直线或者曲线。

IDL> x = FINDGEN(101)*(0.01*2.0*!PI) & y = SIN(x)IDL> PLOT, x, y 图 1.1 IDL> PLOT, x, SIN(x), THICK = 5 图 1.2

IDL> PLOT, x, x^3, THICK = 3, /YLOG 图 1.3

IDL> PLOT, x, SIN(x), THICK = 2, MIN_VALU=-0.5, MAX_VALUE=0.5 图1.4◆BACKGROUND=color_index :用于设置绘制时的背景颜色。在伪彩模式下, color_index为 0~40 的颜色表;在真彩模式下, color_index为 0 ~‘FFFFFF’XL的 RGB 颜色值。默认值为黑色背景。该值存放在系统变量 !P.BACKGROUND 中。◆ COLOR=value :用于设置绘制时的前景颜色。在伪彩模式下, color_index为 0~40 的颜色表;在真彩模式下, color_index为 0 ~‘FFFFFF’XL的 RGB 颜色值。其默认值为黑色背景。该值存放在系统变量 !P.COLOR 中。例如:利用真彩模式,在红色背景下绘制蓝色正弦曲线,可以使用如下命令。IDL> DEVICE, DECOMPOSED = 1IDL> x = FINDGEN(101)*(0.01*2.0*!PI) IDL> PLOT, x, SIN(x), BACKGROUND = '0000FF'XL, COLOR = 'FF0000'XL

1. 绘制线 PLOT

● 格式: PLOT, [X,] Y [, 关键字 ] 功能:在当前窗口中,按照指定的格式绘制直线或者曲线。

◆ PSYM=integer{0 to 10} :按照指定的图形符号绘制数据点。代码的含义如下:0   用线绘制   1   加号   2   星号   4   菱形   5   三角形6   正方形    7   交叉号  8   用户定义  9   未定义  10   柱状图注意:正代码是指仅在每一个数据点绘制符号;负代码是指在每一个数据点绘制符号的同时,再用线把绘制点连接起来。例如:绘制 0~2π 的正弦曲线,其中绘制点使用正方形,并且用线连接起来。 IDL> x = FINDGEN(101)*(0.01*2.0*!PI) & PLOT, x, SIN(x), PSYM=-6◆SYMSIZE=value :用于设定 PSYM 指定的符号的大小。◆ LINESTYLE={0 | 1 | 2 | 3 | 4 | 5} :按照指定的线型绘制线。代码的含义如下:   0   实线          1   点          2   虚线    3   点虚线         4   点点虚线       5   长虚线例如:绘制 0~2π 的点点虚线正弦曲线。可以使用如下命令。IDL> x = FINDGEN(101)*(0.01*2.0*!PI) & PLOT, x, SIN(x), LINESTYLE=4

● 格式: PLOT, [X,] Y [, 关键字 ] 功能:在当前窗口中,按照指定的格式绘制直线或者曲线。

◆ /NOERASE :在当前窗口中绘制新图形时,不擦除原内容。默认擦除原内容

例如:在当前窗口中,绘制 0~2π 的正弦曲线和余弦曲线。IDL>x = FINDGEN(101)*(0.01*2.0*!PI)IDL>PLOT, x, SIN(x) & WAIT, 2 & PLOT, x, COS(x), /NOERASE◆TITLE=string :给绘图区绘制的图形添加一个标题。◆ SUBTITLE=string :给绘图区绘制的图形添加一个副标题。例如:绘制 0~2π 的正弦曲线,并给图形添加一个内容为 My Sin(x) 的标题。 IDL>x = FINDGEN(101)*(0.01*2.0*!PI) & PLOT, x, SIN(x),$TITLE='title',SUBTITLE='subtitle'

● 格式: PLOT, [X,] Y [, 关键字 ] 功能:在当前窗口中,按照指定的格式绘制直线或者曲线。◆ POSITION=[X0, Y0, X1, Y1]: 把图形定位绘制到 [X0, Y0, X1, Y1] 指定的区域。 图形的绘图区域存储在系统变量 !P.POSITION 。例如:绘制 0~2π 的正弦曲线和余弦曲线,并绘制到指定的窗口中 .WINDOW, /FREE, XSIZE=640, YSIZE=512 & x = FINDGEN(200)*0.1PLOT, x, SIN(x), POSITION=[0.1, 0.1, 0.45, 0.9]PLOT, x, COS(x), POSITION=[0.55, 0.1, 0.9, 0.9], /NOERASE 图 1.6格式: !P.MULTI=[j, k, l, m, n] 用法如下:!P.Multi[0] :给出在显示窗口中需要绘制的剩余的图形数目。其默认值为 0 。注意:在绘制一个图形时,用户根据需要可以选择关键字 /NOERASE 。!P.Multi[1] :给出绘制图形的列数。 !P.Multi[2] :给出绘制图形的行数。!P.Multi[3] :给出在 Z 方向上叠加绘制图形的数目 , 仅适用三维坐标!P.Multi[4] :给出绘图方式。按行显示图形 =0 ,按列显示图形 =1 。例如:在当前窗口中绘制四个图形。可以使用如下命令。IDL>!P.MULTI=[0, 2, 2, 0, 0] & x = FINDGEN(200)*0.1IDL>PLOT, x, SIN(x) & PLOT, x, SIN(x)*x^2IDL>PLOT, x, RANDOMU(1, 200)*x, PSYM=1 PLOT, x ,4.0*!PI*x*0.1, /POLAR 图 1.7

◆ /NODATA :是指只绘制坐标轴,不绘制数据点。◆ CHARSIZE=value :用于设置绘制注释和标注字体的大小。◆ {X | Y | Z}CHARSIZE=value :设置 X、 Y和 Z 在轴上注释和标注字体的大小◆ CHARTHICK=integer :用于设置绘制注释和标注字体的粗细。◆ FONT=integer :用于设置绘制注释和标注字体所使用的字体系统。 -1 是指Hershey 矢量字体; 0 是指设备字体系统; 1 是指 TrueType 字体系统。默认: -1◆TICKLEN=value :用于设置绘制轴注释和标注中小刻度的尺度。例如:绘制 0~2π 的正弦曲线,并给绘制的图形添加一个内容为 My Sin(x) 的标题和一个内容为 Happy You 的副标题。x = FINDGEN(101)*(0.01*2.0*!PI)PLOT,x,SIN(x),TITLE='My Sin(x)',SUBTITLE='Happy You',TICKLEN = -0.02◆{X | Y | Z}GRIDSTYLE=integer{0 to 5} :设置 X、 Y和 Z 上刻度的栅格的类型。其取之范围和线型与 LINESTYLE 相同。◆ {X | Y | Z}MINOR=integer :设置 X 轴、 Y 轴和 Z 轴上最小刻度间隔的数目。◆ {X | Y | Z}RANGE=[min, max] :设置 X 轴、 Y 轴和 Z 轴的最小和最大范围。例如:按指定的范围绘制正弦曲线。可以使用如下命令。IDL> x = FINDGEN(200)*0.1 & PLOT, x, SIN(x), XRANGE=[0, 10.5]

TICKLEN = -0.2

TICKLEN = -0.02

TICKLEN = 0.02

● 格式: PLOT, [X,] Y [, 关键字 ]◆{X | Y | Z}STYLE=value :设置 X 轴、 Y 轴和 Z 轴的类型。1 由 {X | Y | Z}RANGE 指定轴的精确范围  2  在轴范围的每一边留有空余4   不显示整个坐标轴          8  只在左边或下边显示坐标轴16   不把 Y 轴的起始值强行规定为 0 。技巧: {X | Y | Z}STYLE 设定的值可以以加的形式出现,来实现多重功能。如:YSTYLE=2+8 。例如:按指定的范围绘制正弦曲线。可以使用如下命令。IDL>x = FINDGEN(200)*0.1IDL>PLOT, x, SIN(x), XRANGE=[0,13.5], XSTYLE=1, YRANGE=[-2.5, 2.5], YSTYLE=1 IDL>PLOT, x,SIN(x),XSTYLE=8, YRANGE=[-2, 2], YSTYLE=1+8◆{X | Y | Z}THICK=value :设置 X、 Y和 Z 轴和刻度的粗细。其默认值为: 1 。例如:按指定的字体和粗细绘制正弦曲线。可以使用如下命令。IDL> x = FINDGEN(200)*0.1IDL> PLOT, x, SIN(x), TITLE='SIN(X)', SUBTITLE='IDL PLOT' $ , CHARSIZE=1.25, FONT=1, LINESTYLE=3, THICK=2.0, PSYM=-1

●● 格式:格式: PLOT, [X,] Y [, PLOT, [X,] Y [, 关键字关键字 ]] 功能:在当前窗口中,按照指定的格式绘制直线或者曲线。功能:在当前窗口中,按照指定的格式绘制直线或者曲线。

◆◆ {X | Y | Z}TICKFORMAT=string{X | Y | Z}TICKFORMAT=string :给出:给出 XX 轴、轴、 YY 轴和轴和 ZZ 轴上刻度标注的格式轴上刻度标注的格式代码,从而设定刻度标注的具体格式。代码,从而设定刻度标注的具体格式。例如:绘制例如:绘制 XX 轴和轴和 YY 轴的标注格式分别为轴的标注格式分别为 F6.2F6.2和和 F7.2F7.2 。。

IDL> x = FINDGEN(200)*0.1 IDL> x = FINDGEN(200)*0.1 图图 1.91.9IDL> PLOT, x, SIN(x), XTICKFORMAT='(F6.2)', YTICKFORMAT='("$", IDL> PLOT, x, SIN(x), XTICKFORMAT='(F6.2)', YTICKFORMAT='("$", F7.2)'F7.2)'

XTICKFORMAT='(F6.2)', XTICKFORMAT='(F6.2)', YTICKFORMAT='("$", F7.2)'YTICKFORMAT='("$", F7.2)'

XTICKFORMAT='(F6.3)', XTICKFORMAT='(F6.3)', YTICKFORMAT='("$", F7.3)'YTICKFORMAT='("$", F7.3)'

XTICKFORMAT='(F6.4)', XTICKFORMAT='(F6.4)', YTICKFORMAT='("$", F7.4)'YTICKFORMAT='("$", F7.4)'

● 格式: PLOT, [X,] Y [, 关键字 ]◆ {X | Y | Z}TICKINTERVAL= value :同 {X | Y | Z}TICKS ,但是其优先级高于 {X | Y | Z}TICKS 。◆ {X | Y | Z}TICKLEN=value :设置 X 轴、 Y 轴和 Z 轴的刻度的长度。默认值为 0.02 。◆ {X | Y | Z}TICKNAME=string_array :设置 X 轴、 Y 轴和 Z 轴的刻度的标注。◆ {X | Y | Z}TICKS=integer :设置 X 轴、 Y 轴和 Z 轴的主刻度的个数。 ◆ {X | Y | Z}TICKV=array :设置 X 轴、 Y 轴和 Z 轴的刻度的值。◆ {X | Y | Z}TITLE=string :设置 X 轴、 Y 轴和 Z 轴的标题。

●● 格式:格式: PLOT, [X,] Y [, PLOT, [X,] Y [, 关键字关键字 ]]例如:按指定的坐标格式绘制一条曲线。可以使用如下命令。例如:按指定的坐标格式绘制一条曲线。可以使用如下命令。IDL> x = FINDGEN(11)IDL> x = FINDGEN(11)IDL> PLOT, x+5, XTICKS=6, XTICKV=[1,2,6,7,10,12], YTICKS=6, $IDL> PLOT, x+5, XTICKS=6, XTICKV=[1,2,6,7,10,12], YTICKS=6, $ YTICKV=[1,2,4,6,8,10], YTICKNAME=['A', 'B', 'C', 'D', 'E', 'F']YTICKV=[1,2,4,6,8,10], YTICKNAME=['A', 'B', 'C', 'D', 'E', 'F']

设置 X 轴的主刻度的个数

设置 X 轴的刻度的值

设置 Y 轴的刻度的标注

●● 格式:格式: OPLOT, [X,] Y [, OPLOT, [X,] Y [, 关键字关键字 ]] 功能:在当前窗口中,按指定格式在同一个坐标系中绘制多个直线或者曲线功能:在当前窗口中,按指定格式在同一个坐标系中绘制多个直线或者曲线

◆◆ OPLOTOPLOT 的使用方法与的使用方法与 PLOTPLOT 的用法基本相同,其不同之处是的用法基本相同,其不同之处是 OPLOTOPLOT 可以在可以在同一个坐标系中绘制多个直线或者曲线。同一个坐标系中绘制多个直线或者曲线。注意:在绘图时,注意:在绘图时, XX、、 YY 被转换为双精度浮点型数据。被转换为双精度浮点型数据。例如:在同一坐标系绘制例如:在同一坐标系绘制 0~2π0~2π 的正弦曲线、余弦曲线和二者的乘积。的正弦曲线、余弦曲线和二者的乘积。

IDL> x = FINDGEN(101)*(0.01*2.0*!PI)IDL> x = FINDGEN(101)*(0.01*2.0*!PI)IDL> PLOT, x, SIN(x) & OPLOT, x, COS(x) IDL> PLOT, x, SIN(x) & OPLOT, x, COS(x) IDL> OPLOT, x, SIN(x) * COS(x)IDL> OPLOT, x, SIN(x) * COS(x)

2. 绘制多条线 OPLOT

● 格式: XYOUTS, [X, Y,] String [, COLOR=value] [, FONT=integer]

功能:在当前窗口中,按照指定的位置输出文本内容的值。如果当前窗口不存在,则系统按照默认设置创建一个默认窗口。

3. 绘制文本XYOUTS

● 格式: XYOUTS, [X, Y,] String ◆X :绘制文本信息的 X 轴向上的位置。当文本内容 String 为数组时, X 可为数组◆ Y :绘制文本信息的 Y 轴向上的位置。当文本内容 String 为数组时, Y 可为数组◆ String :给出绘制文本信息的内容。◆ XYOUTS 的使用方法与 PLOT 的用法基本相同,其不同之处是 XYOUTS 可以在同一个窗口中,绘制任意的文本信息。◆ 连续使用 XYOUTS 时,绘制内容会在同一个窗口输出,并不擦除原有的内容注意:在绘图时, X、 Y、 Z 被转换为双精度浮点型数据。例如:如下命令,在当前窗口的指定位置输出指定的文本信息。XYOUTS, 100, 100, 'This is text'XYOUTS, [0, 200, 250],[200, 50, 100],['This', 'is', 'text']

坐标位置

4. 绘制带误差棒的数据图形IDL中有几个内建的过程可以画误差棒,但它们缺乏一些重要的选择性。《 IDL可视化入门与提高》提供了一个关于绘制误差棒数据图形的过程函数,格式如下:

err_plot,x,y-err,y+err,关键字

其中, err_plot可以接受 plots的关键字。

例如:

x=findgen(10)

y=randomu(-1L,10)+10

plot,x,y,yrange=[9.5,11.5]

err=0.1

err_plot,x,y-err,y+err

5. 在 PostScript 设备上显示图像PRO OutToPostScript

entry_device=!d.name

set_plot,’PS’

device,filename=‘D:/file.ps’

x=indgen(10)

y=x

plot,x,y,/normal

device,/close_file

set_plot, entry_device

END