文章目录

  • 简介
  • 用到的第三方库介绍
  • 代码实例

简介

雷达图是通过多个离散属性,以此来比较对象的最为直观的工具。如果能掌握雷达图的绘制,可以为学习工作以及生活带来便利和乐趣。

用到的第三方库介绍

Numpy库:NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
Matplotlib库:Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。

代码实例

在编写代码前,我们需要对霍兰德职业兴趣理论有一定的了解。这个理论认为人格类型、兴趣、和职业之间有关系,于是将人格分为了现实性、研究型、艺术型、社会型、企业型和常规型。基于上面的分类,因此可以绘制一个展现职业人格类型的雷达图。我们将以工程师、实验员、艺术家、推销员、社会工作者、记事员这六个职业数据为例子绘制图形。

import numpy as np
import matplotlib.pyplot as plt
import matplotlibplt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
radar_labels = np.array(['研究型(I)','艺术型(A)','社会型(S)','企业型(E)','常规型(C)','现实型(R)'])
nAttr = 6
data  =np.array([[0.40,0.32,0.35,0.30,0.30,0.88],[0.85,0.35,0.30,0.40,0.40,0.30],[0.43,0.89,0.30,0.28,0.22,0.30],[0.30,0.25,0.48,0.85,0.45,0.40],[0.20,0.38,0.87,0.45,0.32,0.28],[0.34,0.31,0.38,0.40,0.92,0.28]])
data_labels = ('工程师','实验员','艺术家','推销员','社会工作者','记事员')
angles = np.linspace(0,2*np.pi,nAttr,endpoint=False)
data = np.concatenate((data, [data[0]]))
angles = np.concatenate((angles,[angles[0]]))
fig = plt.figure(facecolor="white")
plt.subplot(111,polar=True)
plt.plot(angles,data,'bo-',color='gray',linewidth=1,alpha=0.2)
plt.plot(angles,data,'o-',linewidth=1.5,alpha=0.2)
plt.fill(angles,data,alpha=0.25)
plt.thetagrids((angles*180/np.pi)[:-1],radar_labels)
plt.figtext(0.52,0.95,'霍兰德人格分析',ha='center',size=20)
legend=plt.legend(data_labels,loc=(0.94,0.80),labelspacing=0.1)
plt.setp(legend.get_texts(),fontsize='small')
plt.grid(True)
plt.savefig('holland_radar.jpg')
plt.show()

属性标签存放在data_labels中,数据存放在data中,np.linspace设置起点0,末值为2π,返回两端点间数值平均分布的长为nAttr的数组angle,他表示一个属性点到下一个属性点笔画需要旋转的角度,取决于nAttr的大小,即雷达图的多边数。np.concatenate函数作用虽然是能够使图片首尾相连,但是在2020年之后的新版本中,matplotlib不需要再进行np.concatenate了,因此需要在plt.thetagrids中对angle进行[:-1]切片,接下来就是设置坐标、颜色等事项。实例的完成图如下所示:

python实例练习(3)多级雷达图绘制相关推荐

  1. python多级雷达图绘制解析_Python实例15:霍兰德人格分析雷达图

    Python实例15:霍兰德人格分析雷达图 雷达图是多特性直观展示的重要方式: 霍兰德认为:人格兴趣与职业之间应有一种内在的对应关系: 人格分类:研究型.艺术型.社会型.企业型.传统型.现实型: 职业 ...

  2. 多级雷达图绘制python_Python 详解雷达图/蛛网图

    雷达图-pyecharts 蛛网图,最早知道是在玩FIFA游戏的时候,球员的能力用蛛网图来表示与比较,那时觉得非常新鲜.后来,在实际的工作中,其实很少用到:一方面,直接提供蛛网图的工具少:另一方面,过 ...

  3. 数据可视化,python英雄联盟个人能力值雷达图绘制。

    英雄联盟(简称LOL)是如今很火的一款由美国拳头游戏(Riot Games)开发的即时战略(MOBA)游戏,游戏由采用5v5组队模式进行比赛.一般以KDA,输出,发育,辅助,生存来反应一个选手各方面的 ...

  4. Python实例7:七段数码管绘制

    Python实例7:七段数码管绘制 基本思路: 绘制单个数字对应的数码管: 获得一串数字,绘制对应的数码管: 获取当前系统时间,绘制对应的数码管: 步骤: 七段数码管由7个基本线条组成:可以有固定顺序 ...

  5. python雷达图详解_Python简单雷达图绘制

    import numpy as np import matplotlib.pyplot as plt import matplotlib matplotlib.rcParams['font.famil ...

  6. python话雷达图-Python简单雷达图绘制

    import numpy as np import matplotlib.pyplot as plt import matplotlib matplotlib.rcParams['font.famil ...

  7. python画雷达图-Python简单雷达图绘制

    import numpy as np import matplotlib.pyplot as plt import matplotlib matplotlib.rcParams['font.famil ...

  8. Python数据可视化之Pygal(雷达图)

    pygal是一个SVG图表库.SVG是一种矢量图格式.全称Scalable Vector Graphics – 可缩放矢量图形.用浏览器打开svg,可以方便的与之交互. import pygal #准 ...

  9. [转载] Python数据可视化库-Matplotlib——折线图绘制

    参考链接: Python Matplotlib数据可视化 plot折线图 # coding:utf-8 import pandas as pd import numpy as np from matp ...

最新文章

  1. 一步一步写自己的SqlHelper类库
  2. 分布式MySQL数据库TDSQL架构分析
  3. python spearman相关系数_Python spearman相关系数不匹配 .
  4. POJ1724 ROADS 费用最短路
  5. C++之vector容器初学(二)——插入和删除
  6. linux网络编程之posix 线程(四):posix 条件变量与互斥锁 示例生产者--消费者问题
  7. 凸优化有关的数值线性代数知识五:作业题
  8. 匹配 边覆盖 独立集 顶点覆盖
  9. Android支持库AndroidX和support-v4、appcompat-v7的前世今生!
  10. 烽火交换机S2000单独划分VLAN的方法
  11. 免费下载C++Prime!
  12. 51nod 1128 正整数分组 V2(二分数组)
  13. CSMA/CD 简要介绍
  14. java 写入excel 追加,Java - 追加excel
  15. 图片如何转换成PDF格式?教你一招快速转换
  16. Hybrid Dilated Convolution学习笔记
  17. JavaEE进阶 - Spring Boot 日志文件 - 细节狂魔
  18. 你所不知的角落,有人在做没有深度学习的AI
  19. 算法学习笔记2:凸包及其解法
  20. 李宏毅机器学习PTT的理解(2)深度学习为甚深?

热门文章

  1. java过滤关键字,敏感词汇
  2. 入职体检(三甲医院)
  3. TI C2000介绍
  4. Linux---Docker镜像使用cx_Oracle连接Oracle数据库
  5. 用python画小鸭_python中的鸭子类型(协议)和接口
  6. java mail 回复邮件_JavaMail - 退回邮件( Bounced Messages)
  7. iOS-图片轮播-SDCycleSCrollView的使用
  8. 维基百科简体中文语料训练word2vec词向量
  9. Linux下录屏软件obs安装
  10. 数字控制增益的放大器的设计