R语言绘制雷达图

news/2024/11/6 15:32:19/

R语言多种包绘制雷达图

  • 前言
    • R语言中已有的雷达包
      • ggradar函数
      • radarchart函数
      • 碎碎念
    • 参考资料

前言

第一次用文档记录,排版,文字表达比较混乱,如果有对R雷达图感兴趣的小伙伴,可以一起讨论啊!
会根据自己对R绘制雷达的了解,不断补充,加油!
最近出的报告需要绘制雷达图,用excel绘制的雷达图,简单好看,但是这需要整理好图片放入报告中(可能自己不熟练,或许也可用excel展现),耗时耗力,因此采用R对它进行复现
excel:
在这里插入图片描述

R语言中已有的雷达包

目前,R语言已有多种包可以绘制雷达图,但各种包都有优缺点,记录下,方便自己在使用时节省时间。查阅相关资料,按照受欢迎度来介绍绘制雷达图的函数。

ggradar函数

问题
就目前整理的数据而言,没有发现ggradar包更方便画图?它是ggplot的拓展包,是能够结合ggplot函数一起使用嘛?
ggradar函数中常用参数介绍:

参数意义
plot.data数据,第一列作为group, 一行代表一组
values.radar雷达图上轴线上显示的占比,默认为0%,50%,100%;就算改变,也只能够出现3个数值
axis .labels列变量的名字
grid.label.size雷达图中轴值大小
axis.label.size雷达图各变量文本标签的大小
group.ponit.size雷达图中各连线点的大小
legend.title图例的名称, 默认为没有
plot.title图的名称,默认为无
legend.text.size图例的文本大小,默认为14
plot.legend是否显示图例,默认为显示
group.colour改变线条的颜色
axis.line.colour雷达图轴上的线的颜色
legend.position图例位置,默认左边
background.circle.colour雷达图背景色

发现的缺点:
1.values.radar 默认值为0%, 50%, 100%,这个参数只能够设置三个数值,所以并不能像excel一样体现点上的数值
2.不能够改变线的类型
代码:

#ggradar需要从外部安装
install.packages('devtools')
library(devtools)
install_github("ricardo-bion/ggradar")
#绘制雷达图
library(ggradar)
ggradar(data)

在这里插入图片描述

radarchart函数

在没有ggradar函数之前,用来绘制雷达图的包,尝试一下,看否把excel绘制的雷达图复现
radarchart函数中常用参数的介绍:

参数意义
df数据框;第一行为最大值,第二行为最小值,不得少于三行
axistype轴上的标签; 0表示没有,1表示每条线的标签,2表示最大值的标签,3表示两者都有在这里插入图片描述
seg雷达分为多少格
vlables变量标签
vlcex变量标签字体大小
pcol线条颜色
pfcol填充颜色
plwd线条宽度
plty线条类型;使用数字1-6或者字符(“solid", “dashed”, “dotted”, dotdash", “longdash”, “twodash”).使用plty=0或者plty="blank"表示不显示线条
pty点的类型,不能改变大小?
cglcol网格线颜色
cglty网格线类型
cglwd网格线宽度
axislabcol轴标签和数字的颜色,默认为”蓝色“ (这个参数变化,与最大值和最小值有关,与seg参数有关)
caxislabels字符向量,用作中心轴上的标签

发现的缺点:
1.需要设置最大值和最小值,这两行与seg参数、axislabcol参数相关,其中一个变化,另外两个也要变化;
2.图例设置,会根据窗口变化而变化
代码:

#第二种方法
library(fmsb)
#前两行,需要设置最大值和最小值
max_min <- t(data.frame(max = rep(0.7, 30), min = rep(0, 30)))
data_new <- rbind(max_min, data_1) %>%data.frame()#取一组数据演示
data_example <- data_new[c("max", "min", "四班","五班"),]radarchart(data_example,seg = 7,axistype = 1,pcol = c("#00AFBB", "#E7B800"),cglcol = "grey",plty = 1,plwd = 2,pty = c(16,18),cglty = 1,cglwd = 0.8,axislabcol = "grey",vlcex = 0.7,vlables = colnames(data_example),caxislabels = c(0, 0.1,0.2, 0.3, 0.4,0.5,0.6,0.7))
legend(x = "bottomleft", legend = rownames(data_example[-c(1,2),]), horiz = TRUE,bty = "n", pch = 20 , col = c("#00AFBB", "#E7B800"),text.col = "black", cex = 1, pt.cex = 1.5
)

基本上复现了excel,还需要美化一下

碎碎念

好想自己做包啊,但是代码又那么烂,有没有好心人改善一下这两包的缺点,或者有没有大佬熟悉ggradar函数,它是不是可以用ggplot函数弥补它自身包的不足?我尝试将线条类型的代码加入,但是并没有起作用!或者有没有更好的包啊?

参考资料

ggradar绘制多边形雷达图
R实战|雷达图(Radar Chart)
R语言绘制雷达图的示例
ggradar:R语言雷达图最好的解决方案


http://www.ppmy.cn/news/166934.html

相关文章

R语言:矩阵

R语言&#xff1a; 矩阵 R 语言为线性代数的研究提供了矩阵类型&#xff0c;这种数据结构很类似于其它语言中的二维数组&#xff0c;但 R 提供了语言级的矩阵运算支持。矩阵里的元素可以是数字、符号或数学式。 函数说明data向量&#xff0c;矩阵的数据nrow行数ncol列数byrow…

掌握R语言文件读取方法

目标 掌握 R语言文件读取方法 学习笔记 utils包内Date Input用法base包内readLines用法stringi包内stri_read_linesxlsx包内Date Input用法readr包内 Read a delimited file 用法 1.utils包内Date Input用法 以read.table为例。 read.table参数详细说明见http://www.360doc…

R语言日期处理

R语言日期处理的一些问题 使用R语言的很多都知道&#xff0c;其对于日期处理有时候会很麻烦&#xff0c;这里总结一些列子&#xff0c;希望有所帮助 注&#xff1a;这里主要描述日期识别&#xff0c;其他的计算参考下文中的R包&#xff0c;此处不细述 基础日期函数 as.Date…

通过R语言做灰色预测

通过R语言做灰色预测 GM(1&#xff0c;1)模型的定义数据的检验与处理数据的生成级比检验 GM(1,1)建模生成累加数据和均值数据构造矩阵 B B B及数据向量 Y Y Y,有计算&#xff1a;建立模型&#xff0c;求解&#xff0c;并还原数据 模型检验生成时间序列图计算残差&#xff0c;相…

r语言 读服务器数据,R语言数据实战 | 安装R语言

原标题:R语言数据实战 | 安装R语言 1、R的获取和安装 获取和安装R很容易(这也是它“亲民”的地方),具体步骤如下: Step 1: 登陆R语言官方网站https://www.r-project.org,点击download R。 图1 R官方网站 Step 2:在弹出的镜像(Mirrors)页面上选择合适的镜像入口,如果你在中…

R语言如何绘制相关性热图(14)

1.什么是相关性热图&#xff1f; 相关性分析是指对两个或多个具备相关性的变量元素进行分析&#xff0c;从而衡量两个变量因素的相关密切程度。相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析。 当两个变量之间存在非常强烈的相互依赖关系的时候&#xff0…

Dell Inspiron 14R-N4041笔记本硬盘损坏更换手记

&#xfeff;&#xfeff; DellInspiron 14R-N4041笔记本硬盘损坏更换手记 作者&#xff1a;半点闲 时间&#xff1a;2015-4-12 16:49 博客&#xff1a;blog.csdn.net/cg_i 邮箱&#xff1a;b_dxsohu.com 前言 我已经受够了一场战争&#xff0c;更别提再来一场了。 ——托马斯.…

戴尔 14R 7420 i5 黑苹果折腾记录

记一次黑苹果折腾记录 事先说明&#xff0c;我并不是很懂&#xff0c;只是分享我踩过的坑和解决办法&#xff0c;只能保证和我相同的配置能实现和我一样的成果。 笔记本配置 屏幕 14英寸 分辨率 1600x900 CPU型号 Intel 酷睿i5 3230M 核心/线程数 双核心/四线程 CPU主频 2.6…