Symfoware

Symfowareについての考察blog

R言語 グラフに縦線、横線、一次関数の線を描画する(abline)

グラフで特異点などに線を入れて強調したい。
こんなグラフに線を入れる方法を調べてみます。


  1. png('image.png', width = 500, height = 300, pointsize = 12, bg = 'white')
  2. x <- c(1:10)
  3. y <- c(1:10)
  4. plot(x, y, type='o')
  5. graphics.off()



503_01.png


こちらを参考にさせていただきました。
51. 低水準作図関数



縦線



縦線は「abline(v = x)」で描画できます。
xは縦線を引くx座標の位置です。

x = 5の位置に縦線を引いてみます。


  1. png('image.png', width = 500, height = 300, pointsize = 12, bg = 'white')
  2. x <- c(1:10)
  3. y <- c(1:10)
  4. plot(x, y, type='o')
  5. # x = 5の位置に縦線を描画
  6. abline(v=5)
  7. graphics.off()



503_02.png




色をつける



色はいつもの「col='color'」で指定します。
先ほどの線を赤くしてみます。


  1. png('image.png', width = 500, height = 300, pointsize = 12, bg = 'white')
  2. x <- c(1:10)
  3. y <- c(1:10)
  4. plot(x, y, type='o')
  5. # x = 5の位置に縦線を描画
  6. # 色は赤
  7. abline(v=5, col='red')
  8. graphics.off()



503_03.png




線の太さ



線の太さもいつもの「lwd=(太さ)」で指定します。
赤い線を太くしてみます。


  1. png('image.png', width = 500, height = 300, pointsize = 12, bg = 'white')
  2. x <- c(1:10)
  3. y <- c(1:10)
  4. plot(x, y, type='o')
  5. # x = 5の位置に縦線を描画
  6. # 色は赤
  7. # 太さは通常の4倍
  8. abline(v=5, col='red', lwd=4)
  9. graphics.off()



503_04.png




線の種類



線の種類は「lty=(種類)」で指定します。


  1. png('image.png', width = 500, height = 300, pointsize = 12, bg = 'white')
  2. x <- c(1:10)
  3. y <- c(1:10)
  4. plot(x, y, type='o')
  5. # x = 5の位置に縦線を描画
  6. # 色(col)は赤
  7. # 太さ(lwd)は通常の4倍
  8. # 線の種類(lty)は2(破線)
  9. abline(v=5, col='red', lwd=4, lty=2)
  10. graphics.off()



503_05.png



横線の描画



h = y軸の座標指定で横線の描画になります。


  1. png('image.png', width = 500, height = 300, pointsize = 12, bg = 'white')
  2. x <- c(1:10)
  3. y <- c(1:10)
  4. plot(x, y, type='o')
  5. # y = 5の位置に横線を描画
  6. abline(h=5)
  7. graphics.off()



503_06.png


線の色などのオプション指定は、縦線と同様です。




クロスした線



vとhのオプションは同時に指定できます。
同時指定すると交差した線が描画できます。


  1. png('image.png', width = 500, height = 300, pointsize = 12, bg = 'white')
  2. x <- c(1:10)
  3. y <- c(1:10)
  4. plot(x, y, type='o')
  5. # y = 5の位置に横線を描画
  6. # 合わせて、x = 2の位置に縦線を描画
  7. abline(h=5, v=2)
  8. graphics.off()



503_07.png




傾きを持った線



y = a + bxの線を引くには、引数を2つ指定します。

abline(a, b)


  1. png('image.png', width = 500, height = 300, pointsize = 12, bg = 'white')
  2. x <- c(1:10)
  3. y <- c(1:10)
  4. plot(x, y, type='o', xlim=c(0,10), ylim=c(0,10))
  5. # y = 1 + 2x
  6. abline(1, 2)
  7. # これでもok
  8. #abline(c(1, 2))
  9. graphics.off()



503_08.png





参考



お試しで、上記の引数を全て指定してみました。
エラーになるかなと思いきや、ちゃんと描画してくれます。


  1. png('image.png', width = 500, height = 300, pointsize = 12, bg = 'white')
  2. x <- c(1:10)
  3. y <- c(1:10)
  4. plot(x, y, type='o', xlim=c(0,10), ylim=c(0,10))
  5. # y = 1 + 2x
  6. # x = 3に縦線
  7. # y = 4に横線
  8. abline(1, 2, v=3, h=4)
  9. graphics.off()



503_09.png


R言語 掲載記事のまとめ
関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2014/11/07(金) 00:08:36|
  2. 備忘録
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<R言語 掲載記事のまとめ | ホーム | R言語 ユーザー数を指定間隔の保持ポイントで積み上げる(ヒストグラム)>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1538-21c61de0
この記事にトラックバックする(FC2ブログユーザー)