一、基本使用
pro GrAxis;IDL坐标轴对象用例详解
oWindow=IDLgrWindow(DIMENSIONS=[400,200])
oView=IDLgrView(VIEWPLANE_RECT=[-10,-1,400,2]);距左侧边框10个单位,距底部1个单位.视图宽度400,高度2
oModel=IDLgrModel()
oView.Add,oModel
oWindow.SetProperty,GRAPHICS_TREE=oView
;0-x轴,1-y轴,2-z轴,范围是[0,180],线粗为2,红色
oAxis=IDLgrAxis(0,RANGE=[0,180],LOCATION=[0,-.5],THICK=2,COLOR=[255,0,0])
oModel.Add,oAxis
oWindow.Draw
end
上述代码中的 oView=IDLgrView(VIEWPLANE_RECT=[-10,-1,400,2]) 中的 VIEWPLANE_RECT=[-10,-1,400,2] 的意义我还没有太明白,就不乱写误人子弟了。“距左侧边框10个单位,距底部1个单位.视图宽度400,高度2”这个是我试出来的,不过似乎不是很正确。
二、属性设置
(1)调整坐标轴刻度
oAxis.SetProperty,MAJOR=10,MINOR=5,TICKDIR=1
oWindow.Draw
10个大刻度线,中间5个小刻度线,tickdir 1-控制刻度线在x轴下,0-控制刻度线在x轴上
(2)调整刻度文字的位置
oAxis.SetProperty,TEXTALIGNMENTS=[0.5,1]
oWindow.Draw
TEXTALIGNMENTS=[水平方向,竖直方向]
(3)添加标题并微调刻度值(我已经把刻度值方向调为向上了,即 TICKDIR=0)
oText=IDLgrText('X Axis',COLOR=[0,0,0])
oAxis.SetProperty,TITLE=oText,TICKVALUES=[0,60,120,150,180]
oWindow.Draw
TICKVALUES 是大刻度值的具体数值
(4)坐标轴文字基线
oAxis.SetProperty,TEXTBASELINE=[-1,0,0]
oWindow.Draw
(5)使用自定义坐标值
oTickText=IDLgrText(['A','B','C','D','E'],COLOR=[0,0,255])
oAxis.SetProperty,TEXTBASELINE=[1,0,0],TICKTEXT=oTickText,/USE_TEXT_COLOR
oWindow.Draw
USE_TEXT_COLOR 关键字控制是否显示文字对象颜色