雷达图的目的

雷达图在数据挖掘项目中多用于企业分析或者价值分析的环节可视化。雷达图分析法是一种系统分析的有效方法,它是从项目中自身建立的多方面分析企业的经营成果。并将这些方面的有关数据用比率表示出来,填写到一张能表示各自比率关系的等比例图形上,再用彩笔连接各自比率的结点后,恰似一张雷达图表。从图上可以看出企业经营状况的全貌,一目了然地找出了企业经营上的优势和弱势。

注意事项

就各指标来看,当指标值处于标准线以内时,说明该指标低于平均水平,需要加以改进;若接近最小圆圈或处于其内,说明此指标处于极差状态,是企业需要注意的问题,应重点加以分析改进;若处于标准线外侧,说明该指标处于理想状态,是企业的优势,应采取保持措施。

雷达图的R语言实现

在R语言中画出群特征分析雷达图,需要加载‘fmsb’的包。用apply簇的apply函数获取每个指标中的最大最小值,并与原数据行合并为新数据。新数据的最大最小值设定为雷达图的最大最小阈值范围。

library(fmsb)
max <- apply(result$centers, 2, max)
min <- apply(result$centers, 2, min)
df <- data.frame(rbind(max, min, result$centers))
radarchart(df = df, seg =5, plty = c(1:5), vlcex = 1, plwd = 2)

radarchart(df, axistype, seg, pty, pcol, plty, plwd, pdensity, pangle, pfcol, cglty, cglwd, cglcol, axislabcol, title, maxmin, vlabels, vlcex, caxislabels, calcex, paxislabels, palcex)
       其中df为数据。axistype为轴的类型,由0:3中的任何一个指定。0表示无轴标签。1只表示中心轴标签。2只表示图表标签。3意味着中心和周围的图表(外围)标签。seg为每个轴的段数(默认值4)。pty指定点符号的向量:默认16(闭合圆),如果不绘制数据点,则应该是32。pcol用于绘图数据的颜色代码向量:默认为1:8,重复使用。plty用于绘图数据的线型向量:默认为1:6,重复使用。plwd用于绘图数据的线宽向量:默认1,重复使用。pdensity为多边形填充密度向量:默认NULL,重复使用。pangle用作填充多边形的线的角度向量:默认45,重复使用。pfcol一个用于填充多边形的颜色代码向量:默认NA,它是重复的美元。cglty为雷达栅格线型:默认3,这意味着虚线。cglwd为雷达栅格线宽:默认1,这意味着最薄的线条。cglcol为雷达网格线颜色:默认navy。axislabcol为轴标签和数字的颜色:默认blue。title为标题。maxmin为合乎逻辑的如果为真,则数据帧包括行1的可能最大值和行2的可能最小值。如果FALSE,每个轴的最大值和最小值将被计算为数据的实际最大值和最小值。默认为真。vlabels为变量名称的字符向量,默认为空。vlcex为标签的字体大小放大倍数,默认为空。caxislabels用于中心轴标签的字符向量,覆盖在Axistype选项中指定的值。如果为NULL,则使用Axistype选项指定的值。calcex用于CAXIS标签的字体大小放大,默认为空。paxislabels为围绕图(外围)标签的字符向量,覆盖在Axistype选项中指定的值,默认值为NULL。palcex为字体大小放大倍数,默认为空。

# 给雷达图加图例
L <- 1
for(i in 1:5){
  legend(1.3, L, legend = paste("客户群", i), lty = i, lwd = 3, col = i, bty = "n")
  L <- L - 0.2
}

为雷达图的各个聚类分群的线条加上图例说明。R语言画出的图如下。

雷达图的Python实现

在Python中画出群特征分析雷达图。

import matplotlib.pyplot as plt
import numpy as np
N = len(kmeans.cluster_centers_[0])
angles=np.linspace(0, 2*np.pi, N, endpoint=False) # 设置雷达图的角度,用于平分切开一个圆面
angles=np.concatenate((angles, [angles[0]])) # 为了使雷达图一圈封闭起来
fig = plt.figure(figsize=(7,7)) # 设置画布大小
ax = fig.add_subplot(111, polar=True) # 这里一定要设置为极坐标格式
sam = ['r-', 'o-', 'g-', 'b-', 'p-'] # 样式
lab = [] # 图例标签名
for i in range(len(kmeans.cluster_centers_)):
    values = kmeans.cluster_centers_[i]
    feature = ['F','C','R','L','M'] # 设置各指标名称
    # 为了使雷达图一圈封闭起来,需要下面的步骤
    values=np.concatenate((values,[values[0]]))
    ax.plot(angles, values, sam[i], linewidth=2) # 绘制折线图
    ax.fill(angles, values, alpha=0.25) # 填充颜色
    ax.set_thetagrids(angles * 180/np.pi, feature) # 添加每个特征的标签
    ax.set_ylim(-2, 2) # 设置雷达图的范围
    plt.title('客户群特征分布图') # 添加标题
    ax.grid(True) # 添加网格线
    lab.append('客户群'+str(i))
plt.legend(lab)
plt.show() # 显示图形

Python画出的图如下。

文章未经博主同意,禁止转载!

雷达图的实现(R语言及Python)相关推荐

  1. 记录R语言及python实现地质图形展示

    记录R语言及python实现地质图形展示 一.环境安装 目前环境:r3.3.3 python:3.7.0 遇到问题及解决: 1.no rJava: 安装macjava环境 2.mac 环境打不开ana ...

  2. python是什么语言汇编_编程语言及python介绍

    编程语言及python介绍 1.编程语言分类 机器语言 优点:执行效率高 缺点:开发效率极低,跨平台性差 汇编语言 优点:较机器语言执行效率稍低 缺点:较机器语言开发效率稍高,仍然很低,跨平台性差 高 ...

  3. R语言和python语言的区别在什么地方,各自的应用场景是什么

    R语言和Python语言都是广泛使用的数据分析和科学计算语言,但它们有一些不同之处. R语言是一种专门用于数据分析和统计建模的编程语言.它提供了许多内置的数据结构和函数,可以方便地进行数据处理.可视化 ...

  4. linux服务器上装r,linux服务器安装R语言及Rstudio server

    在linux服务器上使用R语言及Rstudio server cat /etc/redhat-release: 查看服务器系统版本 1. R 程序包获取 查看最新版本的下载链接,使用wget获取 wg ...

  5. python编程语言介绍-编程语言及python介绍

    编程语言及python介绍 1.编程语言分类 机器语言 优点:执行效率高 缺点:开发效率极低,跨平台性差 汇编语言 优点:较机器语言执行效率稍低 缺点:较机器语言开发效率稍高,仍然很低,跨平台性差 高 ...

  6. R语言及RStudio下载安装

    R语言及RStudio下载安装 1. R下载 官网:https://www.r-project.org/ 点击Download 选择清华大学的镜像 点击 先点击base 点击下载 运行 保持默认 安装 ...

  7. R语言和Python连接hive

    连接原理:R语言和Python连接,R中读取的数据可以传递到python中进行处理,同理python中的结果可以传递到R语言中进行,二者满足双向传递.而Python连接hive的方法较多且简单,因此采 ...

  8. 生物学经典blast比对算法,R语言和Python如何实现?

    Blast比对算法原理与实现方式 做生物的同学肯定听说过blast比对这个方法,一般在NCBI等网站上可以在线进行比对,也可以在本地服务器进行比对,那么blast算法究竟是怎么实现对不同序列的比对呢? ...

  9. 数据挖掘r语言和python知乎_Hellobi Live |R语言爬虫实战案例分享:网易云课堂、知乎live、今日头条、B站视频...

    课程名称 R语言爬虫实战案例分享:网易云课堂.知乎live.今日头条.B站视频 网络数据抓取是数据科学中获取数据中的重要途径,但是一直以来受制于高门槛,都是专业程序员的专属技能.直到R语言和Pytho ...

  10. r语言绘制雷达图_用r绘制雷达蜘蛛图

    r语言绘制雷达图 I've tried several different types of NBA analytical articles within my readership who are ...

最新文章

  1. 学生管理系统(SSM简易版)总结
  2. linux php连接orcel,Linux下PHP连接Oracle数据库
  3. 开源开放 | 中国近代历史人物知识图谱
  4. rtsp,rtp,gb28181直接转化为html5播放(二)
  5. 论文翻译:U-Net: Convolutional Networks for Biomedical Image Segmentation
  6. Java、R、JS 最常用,架构师薪资最高!起底中国开发者现状
  7. C++ MFC WebBrowser 探索(二)
  8. Spring MVC 常用注解
  9. 网件使用计算机mac地址吗,网件路由器怎么设置mac地址过滤
  10. 太空帝国5(Space Empires V SE5)攻略
  11. 计算机的组装与维修的知识点总结,计算机组装与维修教学总结
  12. 海康、大华、科达、华为摄像机的二次开发Demo、SDK
  13. python 实现雪容融
  14. 蓝牙速率,距离和组网
  15. 全能卸载优化工具(HiBit Uninstaller)1.4.45汉化便携版
  16. 用户运营 - 获客成本与提高转化率
  17. hdu 5454 Excited Database(线段树)
  18. scum服务器设置网站,SCUM服务器配置详解 参数设置推荐
  19. 【shell笔记】Linux Shell脚本编程入门知识点全面涵盖
  20. [反汇编练习]160个CrackMe之001

热门文章

  1. 电脑新固态硬盘ssd安装win7系统教程
  2. 集合(二):Set : HashSet; LinkedHashSet; TreeSet
  3. 华硕主板装系统蓝屏_装xp系统蓝屏,电脑安装xp系统蓝屏怎么办
  4. Ftp站点访问及FileZilla客户端使用
  5. Codeforces633H-Fibonacci-ish II
  6. 笔记本电脑设置WIFI热点(解决:校园网一个账号只能一台设备登录)
  7. 使用Go语言解析多点触摸协议(MIT)TypeB由ADB调试产生的数据
  8. 万字干货,分布式数据库 HBase 中文入门指南
  9. 实践日记-webpack,入门级打包,可以实操!
  10. 邮箱smtp服务-QQ邮箱163邮箱(保姆级图文)【杂记】