一、基本使用

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 关键字控制是否显示文字对象颜色