グラフィックス

グラフィックスの開始

ウインドウに描画する場合、特定の形式のファイルにする場合で異ります。 以下のコマンドを用いると、それによって起動したグラフィックスデバイスに 描画コマンドの結果が送られます。例えば、 motif()を実行すると、グラフィックウインドウが一つでき、 次にdev.off()を実行するまで、plot 関数などの結果は そのウインドウ上に現れるはずです。 postscript("ファイル名")を実行すると、グラフィックウインドウが一つできず、 次にdev.off()を実行するまで、plot 関数などの結果は その"ファイル名"に書き込まれるようになります。 その間、端末にグラフィックウインドウがあっても、 それには描画されなくなります。
motif() Motifのためのグラフィックスの開始
X11() X windowのためのグラフィックスの開始
openlook() OPENLOOKのためのグラフィックスの開始
openwin() 日本語OpenWindowsのための日本語グラフィックスの開始
(SPARC版3.*Jのみ)
postscript() ポストスクリプトデバイスの開始
pdf.graph() pdfデバイスの開始
hpgl() HP-GL・プロッターデバイスの開始
以上の作図装置の指定は、用いているソフト/システム構成に強く依存します。 正式にはオンラインマニュアルの Devices の項などを参照してください。
たとえば、アイザックで提供する S では X11 関数に相当するのは、 x11 または sx11 関数になっているそうです。
当情報工学科では、motif() 関数を使用して下さい。

グラフィックスの終了

dev.off() 現在使用しているグラフィックスデバイスの終了
graphics.off() すべてのグラフィックスデバイスの終了
ps.options() ポストスクリプト・プリンターデバイスのoption指定

以下の各種関数はたくさんの機能と引数を持ちます。 詳しくは関数名からオンラインマニュアルを参照してください。

1次元プロット

barplot(ベクトルまたは行列) 棒グラフを描く
hist(実数ベクトル) ヒストグラムを描く。
例:理論分布と比較する時
cdf.compare 経験分布関数を、理論分布関数または、も うひとつの経験分布関数と比較する
例:cdf.compare(rnorm(100),distribution="normal")
boxplot(任意個の実数ベクトル) 箱鬚図を描く
dotchart(ベクトル) 点グラフを描く(連続値×因子データ)
pie(数値ベクトル) 円グラフを描く

2次元プロット

plot(x,y) 散布図を描く
pairs(x) 多変量データxの対散布図を描く
matplot(x,y) 行列の各列の散布図を描く
lines(x,y) 現在の図表に折れ線を描き加える
abline(引数) 現在の図表に引数で指定される直線を描き加える
"abline(a,b)" => 切片a傾きbの直線
"abline(v=x)" => 横座標xでの垂直線
"abline(h=y)" => 縦座標yでの水平線 など
points(x,y) 現在の図表に点を描き加える
polygon(x,y) 多角形を描いて、その内部に影をつける
以上の関数での引数 x と y は同じ長さのベクトルでなければならない。そのとき (x[1],y[1]),(x[2],y[2]),(x[3],y[3]),... の座標点を指定したことになる。

作図指示、図への追加

axis(side, at) 現在の図表のside側に、 atなどで指定される刻み,目盛の軸を描き加える
legend(x,y,"文字列") 図表に凡例を加える
title("文字列") 表題を書き加える
text(x,y,"文字列") 現在の図表に文字列を描き加える
mtext("文字列") 図表の余白に語句を書く
symbol(x,y,記号名) 図表に記号を書き込む
identify(x,y) 図上の点の認識
locator(n) 図上の点の座標

一般的なグラフィックス・パラメータ(1)

(plotなどグラフィックス関数の引数に使用)
xlab="X軸ラベル名" X軸のラベル名の指定
ylab="Y軸ラベル名" Y軸のラベル名の指定
main="タイトル名" タイトル(図の上)の描画
sub="サブタイトル名" サブタイトル(図の下)の描画
xlim=c(最小値, 最大値) X軸の最小値, 最大値の指定
ylim=c(最小値, 最大値) Y軸の最小値, 最大値の指定
type="プロットタイプ" p(点),l(線),b(点と線)のプロットタイプの指定
log="x,y または xy" X,Y軸の対数指定

図を描いてしまってから、図題などを追加するには、以下の title関数が使える。

title(main="Histgram of data",sub="Normal Distribution",xlab="DATA",ylab="Probability")
また、既存の図表に軸、刻み、目盛を書き加えるにはaxisという関数がある。

一般的なグラフィックス・パラメータ(2)

(parで指定する。または、グラフィックス関数の引数に使用)
lty=整数値 線種の指定
pch="作図文字" 散布図の各点を表す文字を指定
他にもいろいろある。 par関数のonlineマニュアル参照のこと


1画面への複数グラフ表示

par(mfrow=c(行数, 列数)) 例) par(mfrow=c(2,2)) 1画面を4つに分割
par(mfrow=c(1,1)) 1画面1グラフに戻す
split.screen(figs, screen, erase = T) 画面を分割
screen(n, new = T ) 画面指定
erase.screen(n, eject = F) 画面消去
close.screen(n, all = F) 1画面に戻る
prompt.screen(delta = 1/8, draw = T) 対話型で副画面の設計

ダイナミック・グラフィックス

spin(x) 3次元散布図の動的表示
brush(x) 対散布図のブラッシング表示

3次元プロット

contour(x,y,行列) 等高線を描く
contourplot, levelplot モデルから等高線などを描く
persp(x,y,行列) 鳥瞰図を描く。例:persp(outer(x,y,f))
image(x,y,行列) 平面上の値を濃淡(カラー)表現した図を描く
interp(x,y,z) 平面上の不規則な点で観察された値の補間。
contour,persp,image のデータ作成に使用する。