window, n, xsize = width, ysize = height, retain = retain(nはwindow number、retainはグラフィックスの再描画をコントロール(0:再描画しない、1:Server/Systemが行う、2:IDLが行う))wdelete, nwset, nwshow, nwshow, n, 0wshow, n, /ICONICwshow, n, ICONIC = 0var = tvrd(x0, y0, width, height) (引数は省略可)。/trueを指定することで、24-bitカラーで保存できる([3, width, height] の3次元配列になる)。plot, yplot, x, yplot, x, y, xrange = [0, 10], yrange = [-20, 30]oplotxrange, yrangeなどは指定できない。plot, x, y, psym = nplot, x, y, title = 'Graph Title', xtitle = 't', ytitle = 'R'plot, x, y, charsize = 1.2plot, x, y, color = 255, background = 0, linestyle = 0erase, colortv, img, x, ytvscl, img, x, ycontour, mまたはcontour, m, x, ym の等高線を表示する。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 = 0oplot は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 3write_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, /portraitplot, 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, /noerasedevice, /close_fileset_plot, 'x' または set_plot, 'win'
device, filename = 'test.ps', xsize = 29.7, ysize = 21.0, xoffset = 0, yoffset = 29.7, /landscapedevice, filename = 'test.eps', xsize = 12, ysize = 10, /encapsulatedset_plot, 'ps'device, filename = 'test.eps', xsize = 10, ysize = 10, /encapsulated, /color, decomposed = 0, bits_per_pixel = 8loadct, 3contour, dist(500), nlevels = 30, /filldevice, /close_file
set_plot, 'ps'device, filename = 'test.eps', xsize = 10, ysize = 10, /encapsulated, /color, decomposed = 1, bits_per_pixel = 8loadct, 49, rgb_table = colorcontour, dist(500), nlevels = 30, c_colors = (color[*, 0] + color[*, 1] * 256L + color[*, 2] * 65536L)[[0:29] / 29. * 255], /filldevice, /close_file
set_plot, 'ps'device, filename = 'test.eps', xsize = 10, ysize = 10, /encapsulated, /color, /cmyk, decomposed = 0, bits_per_pixel = 8color_convert, [[[[0:359] # replicate(1, 256)]], [[replicate(1, 360) # [0:255] / 255d]], [[replicate(1, 360, 256)]]], img, /hsv_rgb, interleave = 2tv, img, true = 3, xsize = 10000, ysize = 10000device, /close_file
set_plot, 'ps'!p.font = 0device, filename = 'test.eps', xsize = 10, ysize = 10, /encapsulated, /helveticaxyouts, 0.1, 0.9, 'Helvetica'device, /helvetica, /boldxyouts, 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-Romanxyouts, 0.1, 0.4, '!11Courierxyouts, 0.1, 0.3, '!13Palatino-Romanxyouts, 0.1, 0.2, '!17AvantGarde-Bookxyouts, 0.1, 0.1, '!18NewCenturySchlbk-Roman'device, /close_file