R的fmsb包画雷达图?

By 陆勤 at 2019-03-12 • 0人收藏 • 119人看过

雷达图(Radar Chart)又叫做蜘蛛网图,戴布拉图,适用于显示三个或者更多维度的变量,它以在同一点开始的轴上显示三个或者更多个变量的二维图表的形式来表示多元数据。


R语言使用fmsb包来画雷达图。


一 基本雷达图

#R包
library(fmsb)
# 构建数据集
set.seed(99)
data <- as.data.frame(
  matrix(sample(0:20, 15, replace = TRUE), ncol = 5)
)
colnames(data) <- c("math" , "english" , "biology" , "music" , "R-coding")
rownames(data) <- paste("mister", letters[1:3], sep = "-")
#添加两行,用来设置雷达图所显示的每个主题的最大值和最小值
data <- rbind(rep(20,5) , rep(0,5) , data)

# 默认雷达图
radarchart(data)

图形结果

雷达图1.png


二 雷达图的自定义

colors_border <- c(
  rgb(0.2,0.5,0.5,0.9),
  rgb(0.8,0.2,0.5,0.9),
  rgb(0.7,0.5,0.1,0.9)
)
colors_in <- c(
  rgb(0.2,0.5,0.5,0.4),
  rgb(0.8,0.2,0.5,0.4),
  rgb(0.7,0.5,0.1,0.4)
)
radarchart(
  data,
  axistype = 1,
  #自定义多边形
  pcol=colors_border,
  pfcol=colors_in,
  plwd=4, 
  plty=1,
  #自定义网格
  cglcol="grey", 
  cglty=1, 
  axislabcol="grey", 
  caxislabels=seq(0,20,5),
  #自定义标签
  cglwd=0.8
)
legend(
  x=1.2,
  y=1.2,
  legend = rownames(data[-c(1,2),]),
  bty = "n",
  pch = 20,
  col = colors_in,
  text.col = "grey",
  cex = 1.2,
  pt.cex = 3
)

图形结果

雷达图22.png


参考资料

1 百度数据可视化实验室-雷达图

2 雷达图


登录后方可回帖

信息栏
数据人网是数据人学习、交流和分享的平台,专注于从数据中学习,努力发觉数据之洞见,积极利用数据之价值
Loading...