グラフィックス
グラフィックスの開始
描画する場合、どのデバイス/形式に出力するかですべきことが異ります。
通常の設定なら、hist, plotなどの関数を実行すると、ディスプレイ上にウィンドが用意されて、その上に描画結果が得られます。
しかし、以下のコマンドを用いると、それによって起動したグラフィックスデバイスに
描画コマンドの結果が送られます。例えば、
png(file="xxx.png")を実行すると、通常のグラフィックウインドウには表示がでず、
次にdev.off()を実行するまでの、plot 関数などの描画結果は
png形式のファイル"xxx.png"に書き込まれます。
R環境の外で、ファイル"xxx.png"の内容が期待通りか確認してみてください。
画面の縦横比などは、以下のコマンドへのオプションで変更できます。
png() | pngデバイスの開始 |
pdf() | pdfデバイスの開始 |
postscript() | ポストスクリプトデバイスの開始 |
以上の作図装置の指定は、用いているソフト/システム構成に強く依存します。
詳しくはオンラインマニュアルの Devices の項などを参照[?Devices]してください。
グラフィックスの終了
dev.off() | 現在使用しているグラフィックスデバイスの終了 |
以下の各種関数はたくさんの機能と引数を持ちます。
詳しくは関数名からオンラインマニュアルを参照してください。
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) | 対話型で副画面の設計 |
3次元プロット
contour(x,y,行列) | 等高線を描く |
persp(x,y,行列) | 鳥瞰図を描く。例:persp(outer(x,y,f)) |
image(x,y,行列) | 平面上の値を濃淡(カラー)表現した図を描く |