最近,レーダーチャートを描画する必要が生じたので,Rでレーダーチャートを描く方法を調べてみました.今回は,fmsb
パッケージを使ってレーダーチャートを描くためのメモです.
これまで,fmsb
パッケージを使ったことがない場合は,まず,このパッケージをインストールしてください.
install.packages("fmsb")
このパッケージを使えば,以下のような図を作れます.

使ったスクリプトは,これです.
# fmsbパッケージを使います # install.packages("fmsb") require(fmsb) ################################## # タイトル TITLE <- "TITLE" # 変数名 LABELS <- c("A","B","C","D","E") # 最大と最小の設定 MAX <- c(5,5,5,5,5) MIN <- c(0,0,0,0,0) # レーダーの目盛数 N.SEG <- 5 # 軸ラベル AXIS.LABEL <- c("0","1","2","3","4","5") # 得点 SCORE <- c(3,2,5,4,0) ################### # 右まわりに並び替え CW <- c(1,seq(length(LABELS),2,-1)) #################### # レーダーチャートの描画 MAX.MIN <- data.frame(matrix(c(MAX,MIN),byrow=TRUE,nrow=2)) SCORE <- data.frame(matrix(SCORE,nrow=1)) DAT.CW <- rbind(MAX.MIN,SCORE)[CW] LABELS.CW <- LABELS[CW] radarchart(DAT.CW, # データ(最大最小,値)のdata.frame vlabels=LABELS.CW, # 各値のラベル title=TITLE, # 上に書くタイトル cglcol=8, # 補助線の色 (8: 灰色) pcol=2, # 線の色 pfcol=rgb(1,0,0,alpha=0.1), # 塗りつぶし plwd=3, # 線の太さ seg=N.SEG, # 補助線の分割数 pty=32, # マーカ (32: なし) axistype=1, # 軸に値を描画する場合1 caxislabels=AXIS.LABEL, # 軸のラベル axislabcol=1, # 軸のラベルの色 (1: 黒) centerzero=TRUE # 中心を0に設定 )
私の趣味で,右まわりの順にスコアをプロットとするようにしてあります.