目次 †グラフ描画の基本 †グラフ描画は基本的に以下の手順で行う。
※ 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 について記載する。 形式)
引数)
例えば、以下のように 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() グラフの描画/装飾方法 †plot 後にも追加の点や線、文字列などを描画する事ができる。 点の描画 †x <- 1:10 y <- rnorm(10, seq(1, 10, by = 1), 1) plot(x, y, type="l") # 線のみ描画 points(x, y) # 点を描画 線の描画 †x <- 1:10 y <- rnorm(10, seq(1, 10, by = 1), 1) plot(x, y, type="p") # 点のみ描画 lines(x, y) # 線を描画 abline(lm(y~x), col="red") # 回帰直線を赤で描画 タイトルの描画 †x <- 1:10; y <- 1:10; plot(x, y, type="b") title(main="main title", sub = "sub title") # タイトル/サブタイトルを描画 文字の描画 †グラフの任意の位置に文字を描画する場合は text を使用する。 形式)
例) x <- 1:10; y <- 1:10; plot(x, y, type="b") text(10, 1, "Test!") # x=10, y=1 の位置に文字を描画 グラフの余白部分に文字を描画する場合は mtext を使用する。 形式)
例) x <- 1:10; y <- 1:10; plot(x, y, type="b") mtext("Bottom!", side=1) # 下に描画 mtext("Left!", side=2) # 左に描画 mtext("Top!", side=3) # 上に描画 mtext("Right!", side=4) # 右に描画 枠、座標軸の描画 †枠は box で、座標軸は axis で描画する。 形式)
形式)
例) x <- 1:10 y <- 1:10 plot(x, y, axes=F) # 枠 及び 軸なしでプロット axis(side=1) # X軸を描く axis(side=2) # Y軸を描く box() # 枠を描く 凡例の描画 †legend で判例を描画する事ができる。 形式)
例) x <- 1:10 y1 <- rnorm(10, seq(1, 10, by = 1), 1) y2 <- rnorm(10, seq(1, 10, by = 1), 1) y3 <- rnorm(10, seq(1, 10, by = 1), 1) plot(x, y1, type="l", col="black") lines(x, y2, col="red") lines(x, y3, col="green") legend(x=8, y=4, paste("test",c(1:3), sep=""), col=c("black","red","green"), lwd=1, merge=F, bg="lightgray") グリッドの描画 †grid でグラフにグリッド線を描画する事ができる。 形式)
例) x < 1:10 y < rnorm(10, seq(1, 10, by = 1), 1) plot(x, y, type="o") grid(10, 10) # グリッドを描画 四角形の描画 †四角形を描画するには rect を使用する。 形式)
例) plot(1:10, 1:10) rect(8, 2, 10, 1, col="red") 多角形の描画 †plot(1:10, 1:10, type="n", xlab="", ylab="") polygon(c(4,6,8), c(4,8,4), col="red") # 三角形を書いてみる 矢印の描画 †arrows で矢印が描画できる。 形式)
例) plot(1:10, 1:10, type="n", xlab="", ylab="") arrows(2,2,8,8, code=2, angle=30, length=0.1, lwd=2) グラフ描画用のパラメータ設定 †グラフ描画用の各種パラメータは plot 時のパラメータ以外に par でも設定する事ができる。 例) 日本語フォントを設定する †x <- c(1, 2, 3, 4, 5) y <- c(2, 3, 4, 8, 10) plot(x, y) par(family = "Meiryo") # 日本語フォントを設定 title(main="テストタイトル", sub = "サブタイトル") # タイトル/サブタイトルを描画 例) 線を太くする †x <- c(1, 2, 3, 4, 5) y <- c(2, 3, 4, 8, 10) plot(x, y) par(lwd=3) lines(x, y) 引数なしで par() すると、現在の設定が取得できる。 > par() $xlog [1] FALSE $ylog [1] FALSE $adj [1] 0.5 $ann [1] TRUE . . . グラフの描画例 †点グラフ(線形補間) †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() ヒストグラム †例) 身長のランダムデータを作成し、ヒストグラム化する。 > x = rnorm(100, mean = 170, sd = 10) > hist(x) ロジスティック回帰 †TODO:
XXXXXXXXXX †TODO:
ファイルへの出力 †描画デバイスのOPENを dev.new() でなく、以下の関数で行う事でグラフをファイルに出力する事ができる。
|