本文首发于“生信补给站”公众号 ggplot2|扩展包从0开始绘制雷达图
雷达图通常在财务报表分析中使用较多,当前在描述性统计分析中,雷达图正在被越来越多的人使用。
本文利用R语言 ggplot2 的一款扩展主题包——ggradar 包从头开始绘制简单漂亮的雷达图。
一 下载 ,加载函数包
ggradar包需要通过 github 来安装,安装方法如下: devtools::install_github("ricardo-bion/ggradar", dependencies=TRUE) library(ggradar)
二 创建数据集绘制雷达图
2.1 设定种子,构造了一个区间为0~1,个数为24的4行6列随机数矩阵
set.seed(123) mydata<-matrix(runif(24,0,1),4,6) rownames(mydata) <- LETTERS[1:4] colnames(mydata) <- c("Apple","Google","Amozon","Tencent","Alibaba","Baidu") #使用以上文本向量为矩阵列命名,方便展示 mynewdata<-data.frame(mydata) Name<-c("USA","CHN","UK","RUS") mynewdata<-data.frame(Name,mynewdata) mynewdata
2.2 绘制USA的雷达图
ggradar(mynewdata[1,],grid.line.width = 0.5)
2.3 绘制所有变量的雷达图
ggradar(mynewdata)
三 使用car数据集展示雷达图
利用内置car数据集进行雷达图绘制,主要是对数据进行scale,然后绘制
library(ggradar) library(scales) library(tibble) library(dplyr)
查看最后四种车型,在mpg ,cyl ,disp ,hp ,drat方面的“性能”情况
mtcars %>% rownames_to_column( var = "group" ) %>% #保留行名称 mutate_at(vars(-group),funs(rescale)) %>% tail(4) %>% select(1:6) -> mtcars_radar
绘制雷达图,更改基本参数
ggradar(mtcars_radar, grid.line.width = 0.5,axis.label.size= 5,group.line.width = 1,group.point.size = 2)
四 ggradar主要的函数功能
ggradar(plot.data, axis.labels = colnames(plot.data)[-1], grid.min = 0, grid.mid = 0.5, grid.max = 1, centre.y = grid.min - ((1/9) * (grid.max - grid.min)), plot.extent.x.sf = 1, plot.extent.y.sf = 1.2, x.centre.range = 0.02 * (grid.max - centre.y), label.centre.y = FALSE, grid.line.width = 0.5, gridline.min.linetype = "longdash", gridline.mid.linetype = "longdash", gridline.max.linetype = "longdash", gridline.min.colour = "grey", gridline.mid.colour = "#007A87", gridline.max.colour = "grey", grid.label.size = 7, gridline.label.offset = -0.1 * (grid.max - centre.y), label.gridline.min = TRUE, axis.label.offset = 1.15, axis.label.size = 8, axis.line.colour = "grey", group.line.width = 1.5, group.point.size = 6, background.circle.colour = "#D7D6D1", background.circle.transparency = 0.2, plot.legend = if (nrow(plot.data) > 1) TRUE else FALSE, legend.title = "", legend.text.size = grid.label.size)