scores <- data.frame(
    row.names = c("Naive CD4 T", "CD14+ Mono" ,  "Memory CD4 T"),
      LDHB = c(7.9, 3.9, 9.4),
      S100A9 = c(10, 20, 0),
        IL32 = c(3.7, 11.5, 2.5),
        CD79A = c(8.7, 20, 4),
      CCL5 = c(7.9, 7.2, 12.4),
    MS4A7 = c(6.4, 10.5, 6.5),
          GZMB = c(2.4, 0.2, 9.8),
  FCER1A = c(0, 0, 20),
        PF4 = c(20, 20, 20)
)
scores
##              LDHB S100A9 IL32 CD79A CCL5 MS4A7 GZMB FCER1A PF4
## Naive CD4 T   7.9     10  3.7   8.7  7.9   6.4  2.4      0  20
## CD14+ Mono    3.9     20 11.5  20.0  7.2  10.5  0.2      0  20
## Memory CD4 T  9.4      0  2.5   4.0 12.4   6.5  9.8     20  20
#install.packages("fmsb")
library(fmsb)
max_min <- data.frame(
  LDHB = c(20, 0), S100A9 = c(20, 0), IL32 = c(20, 0),
  CD79A = c(20, 0), CCL5 = c(20, 0), 
  MS4A7 = c(20, 0), GZMB = c(20, 0), FCER1A = c(20, 0), PF4 = c(0, 20)
)
rownames(max_min) <- c("Max", "Min")
df <- rbind(max_min, scores)
df
##              LDHB S100A9 IL32 CD79A CCL5 MS4A7 GZMB FCER1A PF4
## Max          20.0     20 20.0  20.0 20.0  20.0 20.0     20   0
## Min           0.0      0  0.0   0.0  0.0   0.0  0.0      0  20
## Naive CD4 T   7.9     10  3.7   8.7  7.9   6.4  2.4      0  20
## CD14+ Mono    3.9     20 11.5  20.0  7.2  10.5  0.2      0  20
## Memory CD4 T  9.4      0  2.5   4.0 12.4   6.5  9.8     20  20
library(fmsb)
student1_data <- df[c("Max", "Min", "Naive CD4 T"), ]
radarchart(student1_data)

create_beautiful_radarchart <- function(data, color = "#800000", 
                                        vlabels = colnames(data), vlcex = 0.7,
                                        caxislabels = NULL, title = NULL, ...){
  radarchart(
    data, axistype = 1,
    pcol = color, pfcol = scales::alpha(color, 0.5), plwd = 2, plty = 1,
    cglcol = "grey", cglty = 1, cglwd = 0.8,
    axislabcol = "grey",
    vlcex = vlcex, vlabels = vlabels,
    caxislabels = caxislabels, title = title, ...
  )
}
op <- par(mar = c(1, 2, 2, 1))
create_beautiful_radarchart(student1_data, caxislabels = c(0, 5, 10, 15, 20))

par(op)
colors <- c("#00AFBB", "#E0115F", "#800000")
titles <- c("Naive CD4 T", "CD14+ Mono", "Memory CD4 T")
op <- par(mar = c(1, 1, 1, 1))
par(mfrow = c(1,3))
for(i in 1:3){
  create_beautiful_radarchart(
    data = df[c(1, 2, i+2), ], caxislabels = c(0, 5, 10, 15, 20),
    color = colors[i], title = titles[i]
    )
}

par(op)