radarchart

library("fmsb")

#最大、最小データの準備
maxmin <- data.frame(
  total = c(5, 1),
  phys = c(15, 3),
  psycho = c(3, 0),
  social = c(5, 1),
  env = c(5, 1))

#描写データの準備
#RNGkind("Mersenne-Twister")
set.seed(123)
dat <- data.frame(
  total = runif(3, 1, 5),
  phys = rnorm(3, 10, 2),
  psycho = c(0.5, NA, 3),
  social = runif(3, 1, 5),
  env = c(5, 2.5, 4))
dat <- rbind(maxmin, dat) #データの結合
dat
##      total      phys psycho   social env
## 1 5.000000 15.000000    3.0 5.000000 5.0
## 2 1.000000  3.000000    0.0 1.000000 1.0
## 3 2.150310 12.380413    0.5 2.826459 5.0
## 4 4.153221  6.620889     NA 4.827333 2.5
## 5 2.635908 12.478992    3.0 2.813337 4.0
#ラベルの設定,データの行名を取得
VLabel <- colnames(dat)
####radarchartの設定#####
#centerzero = TRUEで中心が0
#axistype:軸基準設定,0:無し, 1:割合, 2:実数, 3:割合,実数, 4:最大を1, 5:最大を1,実数
#seg:分割数
#plty:線の種類
#vlcex:ラベルの大きさ
radarchart(dat, #データ
           axistype = 2,  #ラベルの表示方法(1-5から選択)
           seg = 5, #各軸の区切り数
           plty = 1, #ラインのタイプ
           vlcex = 1,
           centerzero = TRUE, 
           vlabels = VLabel,
           title = "(axis=1, 5 segments, with specified vlabels)")

swiss[1:6,]
##              Fertility Agriculture Examination Education Catholic
## Courtelary        80.2        17.0          15        12     9.96
## Delemont          83.1        45.1           6         9    84.84
## Franches-Mnt      92.5        39.7           5         5    93.40
## Moutier           85.8        36.5          12         7    33.77
## Neuveville        76.9        43.5          17        15     5.16
## Porrentruy        76.1        35.3           9         7    90.57
##              Infant.Mortality
## Courtelary               22.2
## Delemont                 22.2
## Franches-Mnt             20.2
## Moutier                  20.3
## Neuveville               20.6
## Porrentruy               26.6
source("http://aoki2.si.gunma-u.ac.jp/R/src/radar.R", encoding="euc-jp") 
radar(swiss[1:6,])

radar(swiss[1:6,],col=c(1:6)) 

#############################################

radarchart(dat,      #データ  
           axistype=3,#ラベルの表示方法 
           pcol=c(1:3),#線の色 
           pty=32, #データ点をプロットをしない(32) 
           plty=1, #ラインのタイプ 
           plwd=2, #ラインの太さ 
           pdensity=c(5, 10, 15), #塗りつぶす(斜線の)程度 
           pangle=c(15, 45, 120), #塗りつぶす斜線の傾き 
           pfcol=c(1:3)) #塗りつぶす色 

###########################################

# Data  
maxmin <- data.frame( 
  V1=c(20,-20), 
  V2=c(30,10), 
  V3=c(30,-30), 
  V4=c(50,30), 
  V5=c(10,0), 
  V6=c(100,-50)) 
 

dat <- data.frame( 
     V1=round(runif(3,-20,20)), 
     V2=round(runif(3,10,30)), 
     V3=round(runif(3,-30,30)), 
     V4=round(runif(3,30,50)), 
     V5=round(runif(3,0,10)), 
    V6=round(runif(3,-50,100))) 

(data <- rbind(maxmin,dat)) 
##    V1 V2  V3 V4 V5  V6
## 1  20 30  30 50 10 100
## 2 -20 10 -30 30  0 -50
## 3   7 28 -10 44  7  39
## 4   3 15  27 43  7  -7
## 5 -16 11  23 50  5 -28
VLabel <- colnames(data)

radarchart(data, #データ
           axistype = 2,  #ラベルの表示方法(1-5から選択)
           seg = 5, #各軸の区切り数
           plty = 1, #ラインのタイプ
           vlcex = 1,
           centerzero = TRUE, 
           vlabels = VLabel,
           title = "(axis=1, 5 segments, with specified vlabels)")

###########################################

library(fmsb) 
# Data  
maxmin <- data.frame( 
       V1=c(3,-3,0), 
       V2=c(3,-3,0), 
       V3=c(3,-3,0), 
       V4=c(3,-3,0), 
       V5=c(3,-3,0), 
       V6=c(3,-3,0), 
       V7=c(3,-3,0), 
       V8=c(3,-3,0), 
       V9=c(3,-3,0), 
       V10=c(3,-3,0), 
       V11=c(3,-3,0), 
       V12=c(3,-3,0)) 
    
dat <- data.frame( 
       V1=round(runif(3,-3,3),2), 
      V2=round(runif(3,-3,3),2), 
       V3=round(runif(3,-3,3),2), 
       V4=round(runif(3,-3,3),2), 
       V5=round(runif(3,-3,3),2), 
       V6=round(runif(3,-3,3),2), 
       V7=round(runif(3,-3,3),2), 
       V8=round(runif(3,-3,3),2), 
       V9=round(runif(3,-3,3),2), 
       V10=round(runif(3,-3,3),2), 
       V11=round(runif(3,-3,3),2), 
       V12=round(runif(3,-3,3),2)) 
  
(data <- rbind(maxmin,dat)) 
##      V1    V2    V3    V4    V5    V6    V7    V8    V9   V10   V11   V12
## 1  3.00  3.00  3.00  3.00  3.00  3.00  3.00  3.00  3.00  3.00  3.00  3.00
## 2 -3.00 -3.00 -3.00 -3.00 -3.00 -3.00 -3.00 -3.00 -3.00 -3.00 -3.00 -3.00
## 3  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
## 4  2.78  1.77  1.55 -1.61 -0.52 -2.17 -1.40 -0.35  0.37  1.52  0.99 -1.35
## 5  2.41 -2.85 -1.70 -2.14 -0.79 -1.60  2.15  1.79 -1.76  2.37 -2.43  1.89
## 6  1.14 -0.13 -1.09 -0.51 -2.09 -0.20 -2.73 -2.27 -2.23 -0.75 -0.70 -0.31
VLabel <- colnames(data)

radarchart(data, 
                      axistype=3, 
                      pty=32, 
                      plty=c(3,1,1,1), 
                      plwd=2, 
                      pcol=c(1:4), 
                       pdensity=c(0,0,0, 20), 
                       pfcol=c(0,0,0,4), 
                      centerzero=TRUE,  
                      seg=6, 
                       axislabcol="gray", 
                caxislabels=c("-3", "-2", "-1", "0", "1","2","3")) 

x = c(rep(4.5,7),rep(0,7),  
      3.34, 3.28, 1.37, 1.12, 3.52, 4.07, 3.66) 

a = as.data.frame(matrix(x,nrow=3, ncol=7,byrow=T)) 

radarchart(a, 
                         axistype = 3, 
                         seg = 3, 
                         pty = 32, 
                         plwd = 3, 
                        pcol = "blue", 
                         axislabcol = "gray", 
                         centerzero=T,  
                         caxislabels=c("0","1.5","3.0", "4.5"))