雷达图的4种绘制方法
雷达图是通过多个离散属性比较对象的最直观工具,掌握绘制雷达图的方法将会为生活和工作带来乐趣。本例数据来源于网络,某大学本科一年级不同分院学生在五种核心通识能力方面的数据,使用多个工具来绘制多级雷达图,即在一组同心圆上填充不规则五边形,其每个顶点到圆心的距离代表分院学生的某种能力。
本文通过Excel、PowerBI和Python分别绘制雷达图,其中比较有意思的是在PowerBI里运行Python代码,绘制雷达图。下面我们就来一起学习吧。
方法一 Excel绘制
最简单的方法便是使用Excel绘制雷达图,绘图步骤如下图所示,选中数据,插入图表,由于雷达图不是最常用的图表,需要展开所有图表才能找到,展开方式如下图所示。
这里需要注意的是,第6步选择类型后,下面有两个雷达图可供选择,不仔细看,很容易混淆,他类型、颜色等都是一样的。但他们分别将行和列作为维度,即行列倒置,选择时需要仔细看清楚你需要的那个。
选择结束后,就跟其他图表一样了,调整格式即可,如颜色、图例排布,字体大小等等,结果如下。
方法二 PowerBI绘制
PowerBI(简称PB)其实是Excel的升级版中的一个,在Excel增强版里有PowerQuery(简称PQ)功能,这里使用的是PowerBI桌面版,其包含PowerQuery。
首先导入数据到PowerBI内,数据导入有多种方法,因为这里数据量不多,我直接使用复制粘贴的方法。首先创建表,然后直接粘贴数据,最后加载即可。
如果你是第一次绘制雷达图,这一步就是必须的。由于雷达图不是常用的图表,在PB默认的可视化图表选项里没有,所以需要在AppSource里导入视觉对象。具体操作如下图所示,搜索框里输入【Radar Chart】,找到对应的雷达图对象,直接点添加即可。
如果你已经有雷达图,即可直接绘图。先在可视化图表里找到并选择雷达图小图标,再选择数据,最后设置图表样式,按照自己的需求定制样式。
这里的绘图方法也较简单,而且但从样式看,也似乎比在Excel里的漂亮许多。此外,在PB里还可以跟其他图表联动,包括各种切片,这里有兴趣的朋友可以研究研究,这里就不做过多的介绍了。
经过部分样式的调整,最后得到如下的结果。大家看看,这种方式你是否钟意他呢?
方法三 Python绘制
以上两个方法都不需要编程,就能得到精美的雷达图。对于不喜欢或不擅长编程的小伙伴们,可以选择上述两种方式。下面介绍的两种方式,都是需要编程的。不过只要你稍微掌握Python或R语言,这个雷达图还是可以信手捏来的。(下面以Python为例)
下面用绘图模块matplotlib绘制雷达图,具体代码如下所示。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# import matplotlib
# matplotlib.rcParams['font.family']='SimHei'
# matplotlib.rcParams['font.sans-serif']='SimHei'
dataset = pd.DataFrame(data=[[5, 6, 8, 6, 7],[9, 6, 5, 7, 6],[4, 8, 9, 8, 7],[7, 8, 6, 7, 8],[8, 7, 6, 7, 6]],index=['表达与沟通', '团队合作','分析与综合信息 ','创新思维','批判性思维'],columns=['金融学院','文化传媒学院','信息学院 ','管理学院 ','人文教育学院'])
radar_labels=dataset.index
nAttr=5
data=dataset.values #数据值
data_labels=dataset.columns
# 设置角度
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",figsize=(10,6))
plt.subplot(111, polar=True)
# 绘图
plt.plot(angles,data,'o-',linewidth=1.5, alpha= 0.2)
# 填充颜色
plt.fill(angles,data, alpha=0.25)
plt.thetagrids(angles[:-1]*180/np.pi, radar_labels,1.2)
plt.figtext(0.52, 0.95,'大学生通识能力分析', ha='center', size=20)
# 设置图例
legend=plt.legend(data_labels, loc=(1.1, 0.05),labelspacing=0.1)
plt.setp(legend.get_texts(), fontsize='large')
plt.grid(True)
# plt.savefig('tongshi.png')
plt.show()
结果展示。
运用Python绘制雷达图灵活度更大,你可以任意配置你所需要的样式,只要你对代码足够熟悉。
方法四 Python + PowerBI绘制
下面再介绍一种比较有意思绘图方法,就是在PowerBI内运行Python代码,将两者集成在一起。
在使用这个功能之前,你需要确认下本机中是否有Python环境,如果没有,也比较简单,直接安装一个anaconda,PowerBI会自动检测Python环境。
如果你已经有这个环境,你就可以先将数据导入,在来通过Python绘制图形。
具体操作步骤我录了一个小视频,大家可以感受下。这里不得不说PowerBI的强大。这里得到的结果与在jupyter里绘制的图形长得一模一样。他就是跟PowerBI集成到一起了,小编认为,在PowerBI中可以用Python代码绘制PowerBI不能绘制,或难以绘制的一些复杂图形,作为PowerBI的一个补充,这样才是强强联合,否则就是本末倒置了。
OK,今天就介绍到这里,大家可以根据自己的特长或者爱好选择适合自己的绘图方法。
雷达图的4种绘制方法相关推荐
- 雷达图的4种绘制方法,你更喜欢哪个?
????点击关注|选择星标|干货速递???? 雷达图是通过多个离散属性比较对象的最直观工具,掌握绘制雷达图的方法将会为生活和工作带来乐趣.本例数据来源于网络,某大学本科一年级不同分院学生在五种核心通识 ...
- 1过程流程图 3 apqp_如何绘制流程图?这里有3种绘制方法,既简单又高效!1分钟可学会...
工作中,很多小伙伴需要绘制流程图,那么如何绘制流程图呢?其实并不难,今天小编就来给大家分享流程图的3种绘制方法,大家可以根据自己的想法选择最适合自己的那一种哦~ 一.Word制作 1.借助SmartA ...
- 绘制思维导图的技巧与绘制方法
关于思维导图,我们要先了解思维导图的意义更要对我们所绘制的思维导图中心主题以及所能拓展出来的长尾关键词进行归纳,这样在绘制思维导图时会更加简单,操作更加方便点.下面给大家分享绘制思维导图的技巧与绘制方 ...
- tableau货架图制作_举个栗子!Tableau技巧(33):实用漏斗图的三种制作方法
漏斗图适用于业务流程比较规范.周期长.环节多的流程分析,通过漏斗各环节业务数据的比较,能够直观地发现和说明问题所在. 零售电商行业的用户提出分析需求:访客数量→阅览数量→下单数量→付款数量→完成数量, ...
- r语言绘制雷达图_用r绘制雷达蜘蛛图
r语言绘制雷达图 I've tried several different types of NBA analytical articles within my readership who are ...
- 【雷达图】R语言绘制雷达图(ggradar),NBA季后赛数据为例
雷达图简介 雷达图是以从同一点开始的轴上表示的三个或更多个定量变量的二维图表的形式显示多变量数据的图形方法.轴的相对位置和角度通常是无信息的. 雷达图也称为网络图,蜘蛛图,星图,蜘蛛网图,不规则多边形 ...
- python 散点密度图,分组散点密度图的三种实现方法
image.png 在日常工作中,我们经常会进行探索性数据分析(EDA),来查找不同数据间的模式.关系或异常情况,以便为我们后续工作提供参考.散点图就是我们常用的工具之一,它可以让我们看到两个变量之间 ...
- 项目进度成本管控链图流程图模板与绘制方法分享
流程图的使用很广泛在很多地方都会见到,通过流程图我们可以更加直观的明白事情的整个操作过程,我们在平时写作的时候偶尔也会使用到流程图,那么流程图是怎样绘制的呢.下面是分享的项目进度成本管控流程图模板与绘 ...
- python绘制雷达图代码实例-PYTHON绘制雷达图代码实例
这篇文章主要介绍了PYTHON绘制雷达图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.雷达图 import matplotlib.py ...
最新文章
- laravel5 MAC is invalid
- 如何利用输入输出流往文件中不断添加内容
- 软件测试2019:第四次作业—— 性能测试(含JMeter实验)
- 我的业务要不要用人工智能?引入AI前你需要评估的(二)
- 高并发编程-重新认识Java内存模型(JMM)
- Python零基础学习笔记(二十二)—— set
- 嵌入式驱动开发应具备的三大基础
- 关联规则挖掘算法_数据挖掘 | 关联规则分析
- CSS基础必备知识点03
- Objective-C与Swift混编
- 【Kafka】Kafka NIO
- 安装MySQL数据库无法启动服务的完美解决办法
- 数据库无响应(hang住)故障处理思路和方法
- 遗留代码写的烂,我能怎么办?
- JavaScript:时间戳(timestamp)与时间(Date)转换
- java+swing+mysql小型超市管理系统
- 家用路由器与企业路由器有什么区别
- Hinton论文系列-Reducing the dimensionality of data with neural networks
- Goland 导入自定义包问题解决
- 计算机视觉——全景图像拼接