Rの関数から ablineclip {plotrix} を確認します。
関数 ablineclip とは
ablineclip は、Rの標準関数である abline を拡張したもので、描画する直線の範囲を限定(クリッピング)できる関数です。
通常の abline は指定した直線がプロットエリアの端から端まで描画されますが、ablineclip を使用すると、引数 x1, x2(X軸方向)や y1, y2(Y軸方向)で指定した範囲内にのみ直線を表示させることができます。
内部的な仕組みとしては、Rの clip 関数を利用して一時的に描画領域を制限し、その範囲内に abline で直線を描いた後、元の描画領域(par("usr"))を復元するという処理を行っています。
関数 ablineclip の活用シーン
- 回帰直線の表示範囲の制限:
- 散布図において、データが存在する範囲内だけに回帰直線を記述したい場合(データの範囲外まで線を伸ばしたくない時)。
- 特定区間の強調:
- グラフ内の一部分にのみ、補助線(水平線や垂直線)を引きたい場合。
- 視覚的な整理:
- 複数の直線を描く際、それらが互いに交差して見づらくなるのを防ぐため、必要な範囲にのみ限定して描画する場合。
関数 ablineclip の引数
library(plotrix)
args(ablineclip)function (a = NULL, b = NULL, h = NULL, v = NULL, reg = NULL,
coef = NULL, untf = FALSE, x1 = NULL, x2 = NULL, y1 = NULL,
y2 = NULL, ...)
NULL-
a, b- 直線の切片 (
a) と傾き (b)。
- 直線の切片 (
-
h- 水平線を引きたい場合のy軸の値。
-
v- 垂直線を引きたい場合のx軸の値。
-
reg- 回帰オブジェクト(
lm関数の戻り値など)。利用しますと切片と傾きが自動で計算されます。
- 回帰オブジェクト(
-
coef- 切片と傾きを含むベクトル。
-
untf- 論理値。座標が対数変換されている場合に、元のスケールで直線を引くか否か。
-
x1, x2- 直線を表示するX軸の開始点 (
x1) と終了点 (x2)。
- 直線を表示するX軸の開始点 (
-
y1, y2- 直線を表示するY軸の開始点 (
y1) と終了点 (y2)。
- 直線を表示するY軸の開始点 (
-
...-
col(色)、lty(線種)、lwd(線の太さ)などの一般的なグラフィックスパラメータ。
-
サンプルコード
# データの準備
x <- rnorm(100)
y <- x + rnorm(100)
# 回帰分析の実行
lmfit <- lm(y ~ x)
# 散布図の描画(x軸の範囲を -3.5 から 3.5 に設定)
plot(x, y, xlim = c(-3.5, 3.5))
# 1. 回帰直線を範囲指定して描画
# x軸の -2 から 2 の範囲にのみ点線(lty=2)で回帰直線を引く
ablineclip(lmfit, x1 = -2, x2 = 2, lty = 2)
# 2. 水平線を範囲指定して描画
# y=0 の位置に、x軸の -2 から 2 の範囲で赤い破線(lty=3)を引く
ablineclip(h = 0, x1 = -2, x2 = 2, lty = 3, col = "red")
# 3. 垂直線を範囲指定して描画
# x=0 の位置に、y軸の -2.5 から 1.5 の範囲で緑の一点鎖線(lty=4)を引く
ablineclip(v = 0, y1 = -2.5, y2 = 1.5, lty = 4, col = "green")以上です。

