R语言如何绘制雷达图

什么是雷达图

雷达图,也称为蛛网图,是一种用于可视化多变量数据的图表。它通过将不同的变量表示在从中心点辐射出的轴上,使各个变量的值形成一个多边形,从而直观地展示数据之间的关系和比较。常用于性能评估、产品比较等场景

​雷达图和折线图是是很相似的,只不过坐标轴由直线坐标轴,变成了极坐标轴。

绘图前的数据准备

​包含2个维度的数据,必须包含行名和列名。每一行数据会在图上变成一条折线,列名对应坐标轴上的标签名称。

# A tibble: 3 x 6
  学生   语文  数学  英语  体育  音乐
  <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
1 小红     66    70    90    72    83
2 小明     70    56    80   100    43
3 小刚     93    78    40    90    80

R语言如何绘制雷达图

# 代码来源:https://www.r2omics.cn/
# 加载R包,没有安装请先安装  install.packages("包名") 
library(ggradar) # 此包需要从github安装 devtools::install_github("ricardo-bion/ggradar")
library(ggplot2)

# 定义一个数据
df = data.frame(
  "学生"=c("小红","小明","小刚"),
  "语文"=c(66,70,93),
  "数学"=c(70,56,78),
  "英语"=c(90,80,40),
  "体育"=c(72,100,90),
  "音乐"=c(83,43,80)
)

# 绘图
ggradar(df,
       grid.max = max(df[,-1]),                 # 设置坐标轴的最大值
       grid.mid = max(df[,-1])/2,               # 设置坐标轴的中间值
       grid.min = 0,                            # 设置坐标轴的最小值
       grid.label.size = 3,                     # 坐标轴百分比标签大小
       axis.label.size = 4,                     # 组名标签字体大小
       group.colours = rainbow(length(df[,1])), # 设置颜色,数量跟第一列的个数相同
       background.circle.colour = "white",      # 设置背景颜色
       group.point.size = 2,                    # 点大小
       group.line.width = 2,                    # 线条粗细
       plot.legend = T,                         # 是否显示图例
       legend.position = "right",               # 图例位置"top", "right", "bottom", "left"
       legend.title = "",                       # 图例标题
       legend.text.size = 5,                    # 图例文字大小
       plot.title   = "Title",                  # 标题名称
       plot.extent.x.sf = 1.2,                  # 设置图片横向延伸空间,防止外圈文字显示不全
       plot.extent.y.sf = 1.2,                  # 设置图片纵向延伸空间,防止外圈文字显示不全
       )

# 更多选项?ggradar查看,支持ggplot2其他函数扩展