Rの関数から addtable2plot {plotrix} を確認します。
関数 addtable2plot とは
addtable2plot は、既存のグラフ上の任意の位置にデータフレームや行列の形式でテーブル(表)を挿入するための関数です。
通常、グラフ内の数値情報は凡例(legend)として記載されますが、複数の変数や具体的な数値群を整理して提示したい場合には、表形式での挿入が適しています。
当該の関数は、指定された座標を基準として、テキストの幅(strwidth)や高さ(strheight)を自動的に計算し、セルの枠線や背景色を伴った表を描画します。
内部的な挙動として、対数スケールの設定状況を確認しつつ、描画領域外への描画を許可する設定(xpd=TRUE)を一時的に適用することで、柔軟なレイアウトを実現しています。
また、単一の背景色だけでなく、各セルに対して個別の背景色を指定することも可能であり、ヒートマップのような視覚効果を表に付与することもできます。
関数 addtable2plot の活用シーン
- 要約統計量の提示:
- 散布図や棒グラフの余白に、平均値、標準偏差、サンプルサイズなどの統計情報を一覧表として添えたい場合。
- グラフと数値の統合:
- 視覚的な傾向を示すグラフと、その基礎となる具体的な数値を同一の図内に収め、資料の完結性を高めたい場合。
- 条件分岐の明示:
- 実験条件やパラメータの設定値を表として挿入し、図が示す内容の文脈を補足したい場合。
関数 addtable2plot の引数
library(plotrix)
args(addtable2plot)function (x, y = NULL, table, lwd = par("lwd"), bty = "n", bg = par("bg"),
cex = 1, xjust = 0, yjust = 1, xpad = 0.1, ypad = 0.5, box.col = par("fg"),
text.col = par("fg"), display.colnames = TRUE, display.rownames = FALSE,
hlines = FALSE, vlines = FALSE, title = NULL)
NULL- x, y
- 表を配置する座標を指定します。
xに “topleft” や “bottomright” などの位置指定キーワードを渡すことも可能です。
- 表を配置する座標を指定します。
- table
- 挿入するデータフレームまたは行列を指定します。
- lwd
- 表の枠線や区切り線の太さを指定します。
- bty
- 表全体の囲み枠のタイプを指定します。“o” で枠を表示し、“n”(初期値)で非表示とします。
- bg
- セルの背景色を指定します。行列形式で指定することで、セルごとに異なる色を塗布できます。
- cex
- 文字の拡大率を指定します。
- xjust, yjust
- 指定した座標に対する表の水平・垂直方向の配置調整を指定します。
- xpad, ypad
- セル内の文字と枠線との間の余白を調整します。
- box.col
- 枠線の色を指定します。
- text.col
- 文字の色を指定します。
- display.colnames, display.rownames
- 列名や行名を表示するかどうかを論理値で制御します。
- hlines, vlines
- セル間に水平線や垂直線を描画するかどうかを指定します。
- title
- 表の上部に表示するタイトル文字列を指定します。
サンプルコード
# 1. 解析用データの生成
x <- rnorm(50)
y <- 2.0 * x + rnorm(50, sd = 0.5)
fit <- lm(y ~ x)
res <- summary(fit)$coefficients
# 2. 統計表の準備
# 解析結果を丸め処理し、表示用のデータフレームを構築します
res_df <- as.data.frame(round(res, 3))
colnames(res_df) <- c("推定値", "標準誤差", "t値", "p値")
# 3. 背景色行列の作成(条件付き書式の定義)
# すべてのセルを白に初期化した後、P値が0.01未満の行を強調します
bg_matrix <- matrix("white", nrow = nrow(res_df), ncol = ncol(res_df))
bg_matrix[res_df[, 4] < 0.01, ] <- "#FFE4E1" # 有意な行を薄い赤色で着色
# 4. 特定の統計量(例:t値の列)を別の色で強調することも可能です
bg_matrix[, 3] <- "#E0FFFF"
# 5. グラフの描画と表の追加
# メインタイトルを設定して散布図を描画します
plot(x, y, pch = 21, bg = "lightblue", main = "回帰分析による相関の可視化")
abline(fit, col = "red", lwd = 2)
# 6. 表を右下の位置へ挿入します
addtable2plot(
x = "bottomright",
table = res_df,
bty = "o",
display.rownames = TRUE,
hlines = TRUE,
vlines = TRUE,
bg = bg_matrix,
title = "【統計解析結果一覧】",
cex = 0.9
)以上です。

