window, n, xsize = width, ysize = height, retain = retain
(nはwindow number、retainはグラフィックスの再描画をコントロール(0:再描画しない、1:Server/Systemが行う、2:IDLが行う))wdelete, n
wset, n
wshow, n
wshow, n, 0
wshow, n, /ICONIC
wshow, n, ICONIC = 0
var = tvrd(x0, y0, width, height)
(引数は省略可)。/true
を指定することで、24-bitカラーで保存できる([3, width, height] の3次元配列になる)。plot, y
plot, x, y
plot, x, y, xrange = [0, 10], yrange = [-20, 30]
oplot
xrange, yrange
などは指定できない。plot, x, y, psym = n
plot, x, y, title = 'Graph Title', xtitle = 't', ytitle = 'R'
plot, x, y, charsize = 1.2
plot, x, y, color = 255, background = 0, linestyle = 0
erase, color
tv, img, x, y
tvscl, img, x, y
contour, m
またはcontour, m, x, y
m
の等高線を表示する。m
を2次元配列、x, y
を1次元配列で指定すると x[i]、y[j]
での値が m[i, j]
となり、非等方グリッド上のデータを表示できる。m, x, y
を2次元配列で指定すると x[i, j]、y[i, j]
での値が m[i, j]
となり、直交座標系でないデータを表示できる。データ数が少ないときはm
をmin_curve_surf(m)
に置き換えると線がなめらかになる。fill
キーワードで段彩図が書ける。irregular
キーワードで非構造格子上のデータを表示できる。!p.multi = [0, 1, 2]
(横1つ、縦2つ)!p.multi = 0
oplot
はDATA座標系でのみ利用可)plots, x, y[, /DATA|, /DEVICE|, /NORMAL]
xyouts, x, y, '文字列'
device, decomposed = 0
としたとき: 8 bit の色番号を指定(0–255)。色番号と実際に表示される色の対応はカラーテーブルで決まるdevice, decomposed = 1
としたとき(デフォルト): 24 bit RGBカラーで指定device, get_decomposed = result
として、現在のカラーモードを取得できるdevice, decomposed = 1
):
plot, contour
等の多くのプロシージャでの色指定や !p.color, !p.background
等のシステム変数で用いられる'ff0000'x
または 0xff0000
(IDL 8.6.1以降) などと16進数で指定するとわかりやすい。(HTML等での色指定とはバイトの順番が逆になっていることに注意)BYTE('FF8040'x, 0, 3)
とすると、赤、緑、青 の値をそれぞれを取り出すことができる。tv, write_png, tvlct
等の画像やカラーテーブル操作等、多数の色を同時に扱うプロシージャで用いられる。
tv, tvrd
で扱う配列の形状は TRUE = 1
で 3 x m x n
、TRUE = 2
で m x 3 x n
、TRUE = 3
で m x n x 3
write_png, write_jpeg
で扱う配列の形状は 3 x m x n
tvlct
で扱う配列の形状は 256 x 3
または長さ256の配列3個。IMAGE
関数は 3 x m x n
、m x 3 x n
、m x n x 3
を長さ3の次元があるかどうかで自動判別する。3 x 2 x 3
のように複数の次元の長さが3だと、最初の長さ3の次元が色を示すと解釈される。!color
は赤, 緑, 青の値が入ったbyte型の配列で与えられる (help,!color,/struct
)番号 | 線種 |
---|---|
0 | 実線 |
1 | 点線 |
2 | 破線 |
3 | 一点鎖線 |
4 | 三点鎖線 |
5 | 長い破線 |
番号 | 種類 |
---|---|
0 | シンボルなしで点を結ぶ線を引く (デフォルト) |
1 | + |
2 | * |
3 | . |
4 | ◇ |
5 | △ |
6 | □ |
7 | × |
8 | ユーザー定義 ユーザー定義のシンボルを作成する例(塗りつぶした円): a = findgen(17) * (!pi*2/16.)&usersym, cos(a), sin(a), /fill |
10 | ヒストグラムモード |
負の値 (-1~-8) | シンボルとそれを結ぶ線 |
プログラム | 結果 |
---|---|
(デフォルト)!p.font = -1 | |
!p.font = -1 | |
!p.font = -1 | |
!p.font = -1 | |
!p.font = -1 | |
!p.font = -1 | |
(TrueTypeフォントのデフォルト)!p.font = 1 | |
!p.font = 1 | |
!p.font = 1 | |
!p.font = 1 | |
!p.font = 1 |
help, /device
で現在の設定が表示される。device
プロシージャでの設定は保持されるので、次に別のプロットをする前にリセットしておく。set_plot, 'ps'
device, filename = 'test.ps', xsize = 21.0, ysize = 29.7, /portrait
plot, cos(findgen(201) / 20 * !pi), title = 'Graph 1', position = [0.2, 0.3, 0.8, 0.7]
plot, sin(findgen(201) / 20 * !pi), title = 'Graph 2', position = [2000, 2000, 6000, 6000], /device, /noerase
device, /close_file
set_plot, 'x' または set_plot, 'win'
device, filename = 'test.ps', xsize = 29.7, ysize = 21.0, xoffset = 0, yoffset = 29.7, /landscape
device, filename = 'test.eps', xsize = 12, ysize = 10, /encapsulated
set_plot, 'ps'
device, filename = 'test.eps', xsize = 10, ysize = 10, /encapsulated, /color, decomposed = 0, bits_per_pixel = 8
loadct, 3
contour, dist(500), nlevels = 30, /fill
device, /close_file
set_plot, 'ps'
device, filename = 'test.eps', xsize = 10, ysize = 10, /encapsulated, /color, decomposed = 1, bits_per_pixel = 8
loadct, 49, rgb_table = color
contour, dist(500), nlevels = 30, c_colors = (color[*, 0] + color[*, 1] * 256L + color[*, 2] * 65536L)[[0:29] / 29. * 255], /fill
device, /close_file
set_plot, 'ps'
device, filename = 'test.eps', xsize = 10, ysize = 10, /encapsulated, /color, /cmyk, decomposed = 0, bits_per_pixel = 8
color_convert, [[[[0:359] # replicate(1, 256)]], [[replicate(1, 360) # [0:255] / 255d]], [[replicate(1, 360, 256)]]], img, /hsv_rgb, interleave = 2
tv, img, true = 3, xsize = 10000, ysize = 10000
device, /close_file
set_plot, 'ps'
!p.font = 0
device, filename = 'test.eps', xsize = 10, ysize = 10, /encapsulated, /helvetica
xyouts, 0.1, 0.9, 'Helvetica'
device, /helvetica, /bold
xyouts, 0.1, 0.8, 'Helvetica-Bold'
device, set_font = 'Helvetica-Oblique'
xyouts, 0.1, 0.7, 'Helvetica-Oblique'
device, set_font = 'Helvetica-BoldOblique'
xyouts, 0.1, 0.6, 'Helvetica-BoldOblique'
xyouts, 0.1, 0.5, '!7Times-Roman
xyouts, 0.1, 0.4, '!11Courier
xyouts, 0.1, 0.3, '!13Palatino-Roman
xyouts, 0.1, 0.2, '!17AvantGarde-Book
xyouts, 0.1, 0.1, '!18NewCenturySchlbk-Roman'
device, /close_file