之前在一些数据分析案例中看到用 Go 语言绘制的雷达图,非常的漂亮,就想着用matlibplot.pyplot也照着画一个,遗憾的是matlibplot.pyplot模块中没有直接绘制雷达图的函数,不过可以基于‘polar’图形特征来改进,下面就记录一下如何绘制雷达图。

import numpy as np
import matplotlib.pyplot as plt
# 用于正常显示中文
plt.rcParams['font.sans-serif'] = 'SimHei'
#用于正常显示符号
plt.rcParams['axes.unicode_minus'] = False# 使用ggplot的绘图风格,这个类似于美化了,可以通过plt.style.available查看可选值,你会发现其它的风格真的丑。。。
plt.style.use('ggplot')# 构造数据
values = [2.6,2.1,3.4,3,4.1]
feature = ['个人能力','QC知识','解决问题能力','服务质量意识','团队精神']# 设置每个数据点的显示位置,在雷达图上用角度表示
angles=np.linspace(0, 2*np.pi,len(values), endpoint=False)# 拼接数据首尾,使图形中线条封闭
values=np.concatenate((values,[values[0]]))
angles=np.concatenate((angles,[angles[0]]))# 绘图
fig=plt.figure()
# 设置为极坐标格式
ax = fig.add_subplot(111, polar=True)
# 绘制折线图
ax.plot(angles, values, 'o-', linewidth=2)
# 填充颜色
ax.fill(angles, values, alpha=0.25)# 设置图标上的角度划分刻度,为每个数据点处添加标签
ax.set_thetagrids(angles * 180/np.pi, feature)# 设置雷达图的范围
ax.set_ylim(0,5)
# 添加标题
plt.title('活动前后员工状态表现')
# 添加网格线
ax.grid(True)plt.show()

一般我们用雷达图时,是为了比较两组数据,因此看一下如何用雷达图比较两组数据

values_2=[1.7,4.1,3.3,2.6,3.8]
values_2=np.concatenate([values_2,[values_2[0]]])fig=plt.figure()
ax = fig.add_subplot(111, polar=True)
ax.plot(angles, values, 'o-', linewidth=2,label='活动前')
ax.fill(angles, values, alpha=0.25)ax.plot(angles, values_2, 'o-', linewidth=2,label='活动后')
ax.fill(angles, values_2, alpha=0.25)ax.set_thetagrids(angles * 180/np.pi, feature)
ax.set_ylim(0,5)
plt.title('活动前后员工状态表现')
plt.legend(loc='best')
ax.grid(True)
plt.show()

不过说实话,这个图形并不怎么美观,个人感觉主要是背景颜色得换一下。之前还看到有人用pygal库(pygal库绘制世界地图信息挺不错)绘图库绘制雷达图

import pygal# 调用Radar这个类,并设置雷达图的填充,及数据范围
radar_chart = pygal.Radar(fill = True, range=(0,5))
# 添加雷达图的标题
radar_chart.title = '活动前后员工状态表现'
# 添加雷达图各顶点的含义
radar_chart.x_labels = ['个人能力','QC知识','解决问题能力','服务质量意识','团队精神']# 绘制两条雷达图区域
radar_chart.add('活动前', [3.2,2.1,3.5,2.8,3])
radar_chart.add('活动后', [4,4.1,4.5,4,4.1])# 保存图像
radar_chart.render_to_file('radar_chart.svg')

这个图就好看很多,而且还是可以交互显示信息的图形。

python绘图:利用matlibplot绘制雷达图相关推荐

  1. python【Matlibplot绘图库】利用matlibplot绘制雷达图

    文章目录 1.基本构造 2.比较功能 1.基本构造 之前在一些数据分析案例中看到用 Go 语言绘制的雷达图,非常的漂亮,就想着用matlibplot.pyplot也照着画一个,遗憾的是matlibpl ...

  2. 霍兰德人格分析:利用Python第三方库matplotlib绘制雷达图

    美国约翰霍普金斯大学霍兰德教授认为,个人职业兴趣特性与职业之间应有一种内在的对应关系.根据兴趣的不同,人格可分为研究型(I).艺术型(A).社会型(S).企业型(E).传统型(C).现实型(R)六个维 ...

  3. 利用Canvas绘制雷达图

    雷达图(蜘蛛网图)是一种常见的数据分析图表,本文采用canvas来绘制雷达图,并最终封装成一个小组件.首先来看一下最终的效果图: 如何画正多边形 以正五边形雷达图为例(其他任意正多边形也一样),如下图 ...

  4. Python中利用Matplotlib绘制多图并合并展示

    有个需求就是利用Matplotlib画几个像模像样的统计图然后合并在一张图中,因为此前很少用这方面的东西,所以折腾了不少时间,今天介绍一下. 1.subplot多合一 其实,利用python 的mat ...

  5. Python中使用matplotlib绘制雷达图

    示例代码: # encoding: utf-8 import pandas as pd import numpy as np import matplotlib.pyplot as pltplt.rc ...

  6. 三种方法绘制雷达图,用最快的时间做出最好看的可视化图表

    雷达图是通过多个离散属性比较对象的最直观工具,掌握绘制雷达图的方法将会为生活和工作带来乐趣. 本例数据来源于网络,某大学本科一年级不同分院学生在五种核心通识能力方面的数据,使用多个工具来绘制多级雷达图 ...

  7. python制作雷达图_如何利用Python matplotlib绘制雷达图

    本篇文章介绍使用matplotlib绘制雷达图. 雷达图也被称为网络图,蜘蛛图,星图,蜘蛛网图,是一个不规则的多边形.雷达图可以形象地展示相同事物的多维指标,雷达图几乎随处可见,应用场景非常多. 一. ...

  8. python雷达图数据_PYTHON绘制雷达图代码实例

    这篇文章主要介绍了PYTHON绘制雷达图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.雷达图 import matplotlib.py ...

  9. python话雷达图-PYTHON绘制雷达图代码实例

    这篇文章主要介绍了PYTHON绘制雷达图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.雷达图 import matplotlib.py ...

最新文章

  1. 普通平键的主要尺寸有_?办公桌分类及尺寸介绍
  2. java.lang.NoClassDefFoundError: org/springframework/dao/support/DaoSupport
  3. 基于Hexo+GitHub Page搭建免费个人博客教程
  4. RK3288_Android7.1的gpio按键驱动浅析
  5. 假定CSomething是一个类,执行下面这些语句之后,内存里创建了____个CSomething对象。...
  6. QTtabbar只有几个选项, 没有“Qttabar”这个选项
  7. vhdl变量除法_在VHDL中实现高精度快速除法
  8. 为什么你不能体面地做自己
  9. 基于注解和EasyExcel指定单元格下拉选内容
  10. 解决visio和office365冲突,无法安装visio问题
  11. Django中的Model(操作表) - 第五轻柔的code - 博客园
  12. Fumark支持SLI双卡测试设置
  13. 丽江文化旅游学院易腾创想Java实训第14组总结
  14. MacBook Pro USB口可以识别U盘却不能识别手机?
  15. Windows服务器更改远程端口3389
  16. 计算机网络技术第七章
  17. 飞机飞行速度测量的原理简介
  18. V3D中神经元SWC颜色对照图及色彩搭配
  19. 第二类换元法之三角代换习题
  20. win7文件服务器ntfs 权限,win7系统中把fat32转换ntfs 出现“访问被拒绝,因为您没有足够的权限。你必须调...

热门文章

  1. oracle 总转横函数,详解Oracle行列转换函数-pivot函数和unpivot函数-多智时代
  2. insert键与delete键重合了(笔记本)】:如何点击insert?
  3. ospf接口认证配置详解
  4. android+百叶窗动画效果,js实现横向百叶窗效果网页切换动画效果的方法
  5. 支持向量机学习总结( 持续更新)
  6. BurpSuite安装(附安装包)
  7. 传IE8将成为微软最后一款IE核心的浏览器?
  8. python/多进程笔记以及一些理解
  9. Python decimal模块的使用
  10. Windows系统部署LskyPro兰空图床