2008-10-21

IDL Tips: contour

在 IDL 中, contour 這個指令可以畫等高線圖。指令如下:
contour,z

在這裡,z是一個二維的陣列,也就是z(x,y),如果只用上面的指令,那就是畫出z對陣列的 index 的整原高線圖。當然,如果你另有x和y的座標,可以用下面的指令:
contour,z,x,y

不過,有時候我們會遇到z對x、y的散佈值。也就是我們得資料中,可能有不同的x、y值對應到的z,在這裡z和x、y就只是一個一維的向量 (通常我們讀檔的時候都只是這樣...),而且原始資料的排列順序不一定是按照正確的格式,這時候就要用
contour,z,x,y,/irregular

加了 ",/irregular" 這個 keyword 之後,就能對付這種情形了。
此外,還有一個 keyword "nlevel" 也很常用,這是指定等高線圖總共要幾階的。例如我們要 分為12階,就用
contour,z,x,y,nlevel=12

最後,下面是一張 4U 1820-30 的 dynamic power spectrum 的 contour plot,就是用 IDL 畫出來的。當然,contour 這個指令可用幾乎所有的 plot keyword,例如 linestyle、xtitle、title... 等。

沒有留言: