不能光学envi二次开发,还是要回归纯IDL一波。昨天由于前天眼睛看电脑看的不舒服,休息了一波。最近比较迷茫,不知道是技术重要还是基础知识更重要。班主任说了,像我们这种级别的学生,同时只能干好一件事。
;
;
快速可视化之plot函数
0用法:
graphic = PLOT(Y, [Format] [, Keywords=value] [, Properties=value])
graphic = PLOT(X, Y, [Format] [, Keywords=value] [, Properties=value])
graphic = PLOT(Equation, [Format] [, Keywords=value] [, Properties=value])
例:
IDL> p=plot(y=x^2,'r4d-',title='test')
IDL> p=plot(x,x^2,'r4d-',title='test')
都可以绘制出一条二次函数
1重要关键字有:
/buffer 曲线存于缓冲区不显示 /current 用于将曲线显示于当前窗口
/device :这个关键字用于将你赋予的坐标的单位指定为设备坐标。
IDL中我见过三种坐标单位,分别是数据坐标、设备坐标和归一化坐标。一般的默认值是归一化坐标,也是一般用的,就是将整个窗口的坐标横纵都归在0~1之间,由此来指定窗口内的东西的坐标。
/location用于确定显示出来的窗口在你屏幕上的位置
/nodata 不显示数据,但是坐标轴和标题会显示出来,可以后续overplot
overplot=1 刻意是曲线绘制在当前窗口的最顶层
2具有的属性(主要):
translate 移动图形位置
color 设置图形颜色:
例如:
x=findgen(101)*0.01
p=plot(x^2,'r4d-',title='test')
p.color='blue' ;设置线为蓝色
设置坐标轴(以x轴为例):
xcolor颜色,xmajor最大值,xminor最小值,xsubticklen短刻度线与长刻度线比例,xtest_color坐标轴文字颜色,xtextpos坐标轴文字位置,xthick坐标轴粗细,xtickfont_size坐标轴文字大小,xtickunits坐标轴单位,xtitle坐标轴名称,等
中文标题会乱码,不过没关系,谁编程用中文。
plot.title='Never give up!'
添加图例:
l=legend(target=p,position=[0.9,0.4],/data);绘制图例
其中,target是指定绘制哪条曲线的图例,当绘制多条曲线的图例的时候,以数组的形式表示。/data用于指定position用的是归一化坐标。
3.拥有的方法:
p.close关闭窗口
p.delete删掉图线图例等,但不关闭窗口且只删掉指定要素
p.erase把窗口内的东西全部清空
p.GenerateCode, 'mycode.pro',/savedata
调试完窗口内内容后,生成一个代码可以再现你调试好的窗口,如果没有/savedata,你的数据不会被记录,但是你设置的线啊还有坐标轴等会被记录下来。
p.print 打印,一般没啥用。
p.rotate 旋转
graphic.Rotate, Angle [, /DEFAULT] [, /RESET] [, /XAXIS] [, /YAXIS] [, /ZAXIS]
p.save
myPlot.Save, "gaussian.png", BORDER=10, RESOLUTION=300, /TRANSPARENT
保存图像为png格式,/transparent用于设置透明情况
graphic.Scale, X, Y, Z [, /RESET] 此方法用于控制尺度,将窗口中的图像在x轴y轴z轴方向上进行尺度变换,以使图形更加好看
p.translate 移动图形项
行了,一个半小时,就学了一个函数,真不错,nnd。
但这个函数也大体代表了快速可视化其他函数的使用情况。
本文详细介绍了IDL中快速可视化的重要函数Plot的使用方法,包括其基本语法、关键参数、属性设置及方法应用,如缓冲区显示、坐标单位设置、图形颜色与位置调整、图例添加等,为IDL用户提供了实用的绘图指南。
4458





