R言語入門 >

Rでグラフ描画

グラフ描画の基本

グラフ描画は基本的に以下の手順で行う。

  1. 描画デバイスを開く
  2. グラフデータをプロットする
  3. グラフの装飾(追加情報の描画)
  4. 描画デバイスを閉じる

 ※ R Studio の場合は描画デバイスのオープン、クローズは無くてもOK。(プロット領域に表示される)

折れ線グラフの描画例)

x <- c(1, 2, 3, 4, 5)
y <- c(2, 3, 4, 8, 10)
dev.new()                                  # 1. 描画デバイスを開く
plot(x, y)                                   # 2. データのプロット
lines(x, y)                                  # 3. 線の追加 ※ plot(x, y, type="b") 等で一発で書く事も可能
dev.off()                                    # 4. 描画デバイスを閉じる

plot 関数の使用方法

グラフ描画で最もよく使用する plot について記載する。

形式)

plot(x, y, ...)

引数)

引数説明
xX軸のデータ
yY軸のデータ
type"p": 点を描画
"l": 線のみを描画
"b": 点と線の両方を描画
"c": 線のみを描画( 点の部分は空白になる )
"o": 点と線の両方を描画( "l" との違いは点の描画域の余白がない事 )
"h": 垂直線の描画(ヒストグラム?)
"s": 階段グラフの描画
"S" s の反転グラフ
"n": データの描画はしない(プロット領域の初期化のみ行う)
mainタイトル(描画領域の上部に表示される)
subサブタイトル(描画領域の下部に表示される)
xlabX軸のタイトル
ylabY軸のタイトル
aspx/y のアスペクト比。
※ plot.windowで使用されるパラメータ
xlimX軸の描画範囲
※ plot.windowで使用されるパラメータ
ylimY軸の描画範囲
※ plot.windowで使用されるパラメータ
log対数スケールする軸を指定する ※ "x"or "y" or "xy"
annタイトル、X軸 及び Y軸のラベルを表示するかどうか。(T or F)
axesX軸、Y軸を表示するかどうか。( T or F )
※ Fにした場合は枠自体が表示されない。
xaxt
yaxt
X軸、Y軸メモリを表示するかどうか。( 表示しない場合は "n" を指定 )
frame.plot枠を表示するかどうか ( T or F )
panel.firstプロット軸が設定された後、プロットが行われる前に評価される式。
panel.lastプロットが行われた後、Axes、title、boxが追加される前に評価される式。

例えば、以下のように type="l" を指定すれば線だけを描画できる。

x <- c(1, 2, 3, 4, 5)
y <- c(2, 3, 4, 8, 10)
dev.new()
plot(x, y, type="l")   # 線だけを描画
dev.off()

グラフの描画/装飾方法

タイトルの描画

TODO:

文字の描画

TODO:

座標軸の描画

TODO:

凡例の描画

TODO:

点の描画

TODO:

追加の点の描画

TODO:

グリッドの描画

TODO:

線の描画

TODO:

四角形の描画

TODO:

多角形の描画

TODO:

矢印の描画

TODO:

グラフの描画例

点グラフ(線形補間)

x <- c(1, 2, 3, 4, 5)
y <- c(2, 3, 4, 8, 10)
dev.new()
plot(x, y)
points(approx(x, y))               # 線形補間
dev.off()

折れ線グラフ

x <- c(1, 2, 3, 4, 5)
y <- c(2, 3, 4, 8, 10)
dev.new()
plot(x, y)
lines(x, y)                        # 線グラフ描画
dev.off()

線形回帰(回帰直線)

x <- c(1, 2, 3, 4, 5)
y <- c(2, 3, 4, 8, 10)
dev.new()
plot(x, y)
result <- lm(y~x)            # 線型モデルによる回帰分析を行い回帰式を得る
fitted_y = fitted(result)   # 回帰式により予測値を求める
lines(x, fitted_y)              # 線グラフの描画
# abline(result)               # abline でも同じく回帰直線が描ける(直線回帰の結果を引数に指定する)
dev.off()

ロジスティック回帰

TODO:

XXXXXXXXXX

TODO:

XXXXXXXXXX

TODO:

ファイルへの出力

描画デバイスのOPENを dev.new() でなく、以下の関数で行う事でグラフをファイルに出力する事ができる。

関数名説明使用例
pdfPDFファイルとして出力
pngPNG画像として出力png("plot1.png", width=480, height=480)
jpegJPEG画像として出力
bmpBMP画像として出力
postscriptPS画像として出力
pictexTeXファイルとして出力

トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS