python绘图:利用matlibplot绘制雷达图
之前在一些数据分析案例中看到用 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绘制雷达图相关推荐
- python【Matlibplot绘图库】利用matlibplot绘制雷达图
文章目录 1.基本构造 2.比较功能 1.基本构造 之前在一些数据分析案例中看到用 Go 语言绘制的雷达图,非常的漂亮,就想着用matlibplot.pyplot也照着画一个,遗憾的是matlibpl ...
- 霍兰德人格分析:利用Python第三方库matplotlib绘制雷达图
美国约翰霍普金斯大学霍兰德教授认为,个人职业兴趣特性与职业之间应有一种内在的对应关系.根据兴趣的不同,人格可分为研究型(I).艺术型(A).社会型(S).企业型(E).传统型(C).现实型(R)六个维 ...
- 利用Canvas绘制雷达图
雷达图(蜘蛛网图)是一种常见的数据分析图表,本文采用canvas来绘制雷达图,并最终封装成一个小组件.首先来看一下最终的效果图: 如何画正多边形 以正五边形雷达图为例(其他任意正多边形也一样),如下图 ...
- Python中利用Matplotlib绘制多图并合并展示
有个需求就是利用Matplotlib画几个像模像样的统计图然后合并在一张图中,因为此前很少用这方面的东西,所以折腾了不少时间,今天介绍一下. 1.subplot多合一 其实,利用python 的mat ...
- Python中使用matplotlib绘制雷达图
示例代码: # encoding: utf-8 import pandas as pd import numpy as np import matplotlib.pyplot as pltplt.rc ...
- 三种方法绘制雷达图,用最快的时间做出最好看的可视化图表
雷达图是通过多个离散属性比较对象的最直观工具,掌握绘制雷达图的方法将会为生活和工作带来乐趣. 本例数据来源于网络,某大学本科一年级不同分院学生在五种核心通识能力方面的数据,使用多个工具来绘制多级雷达图 ...
- python制作雷达图_如何利用Python matplotlib绘制雷达图
本篇文章介绍使用matplotlib绘制雷达图. 雷达图也被称为网络图,蜘蛛图,星图,蜘蛛网图,是一个不规则的多边形.雷达图可以形象地展示相同事物的多维指标,雷达图几乎随处可见,应用场景非常多. 一. ...
- python雷达图数据_PYTHON绘制雷达图代码实例
这篇文章主要介绍了PYTHON绘制雷达图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.雷达图 import matplotlib.py ...
- python话雷达图-PYTHON绘制雷达图代码实例
这篇文章主要介绍了PYTHON绘制雷达图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.雷达图 import matplotlib.py ...
最新文章
- 普通平键的主要尺寸有_?办公桌分类及尺寸介绍
- java.lang.NoClassDefFoundError: org/springframework/dao/support/DaoSupport
- 基于Hexo+GitHub Page搭建免费个人博客教程
- RK3288_Android7.1的gpio按键驱动浅析
- 假定CSomething是一个类,执行下面这些语句之后,内存里创建了____个CSomething对象。...
- QTtabbar只有几个选项, 没有“Qttabar”这个选项
- vhdl变量除法_在VHDL中实现高精度快速除法
- 为什么你不能体面地做自己
- 基于注解和EasyExcel指定单元格下拉选内容
- 解决visio和office365冲突,无法安装visio问题
- Django中的Model(操作表) - 第五轻柔的code - 博客园
- Fumark支持SLI双卡测试设置
- 丽江文化旅游学院易腾创想Java实训第14组总结
- MacBook Pro USB口可以识别U盘却不能识别手机?
- Windows服务器更改远程端口3389
- 计算机网络技术第七章
- 飞机飞行速度测量的原理简介
- V3D中神经元SWC颜色对照图及色彩搭配
- 第二类换元法之三角代换习题
- win7文件服务器ntfs 权限,win7系统中把fat32转换ntfs 出现“访问被拒绝,因为您没有足够的权限。你必须调...