"六边形战士"雷达图是怎样画出来的
大家认识这张图吧!
图片来源于网络
乒乓球大佬马龙无论是从力量、速度、技巧、发球、防守、经验六个方面都是边框撑爆,不得不说,在日本乒乓球选手面前马龙就是神一样的存在啊,就像游戏里面的大Boss一样的又很又慕啊!
那么,大家知道这这样的雷达图是怎样的生成出来的吗?
实际上,想生成这样的图是很简单的。而且我们可以借用很多工具来实现。比如我们前面用来生成疫情地图的Tableau或者PowerBi、FineBi等商业工具都可以轻松的绘出,而作为具有强大三方库社区的Python语言来讲,自然也肯定能够实现这样的图。接下来,我们就用Python也实现一下这样的“六边形战士”雷达图。
首先,我们先来剖析一下在可视化时候实现雷达图的原理。实际上雷达图就是一个简单的折线图,但是,不同的是,我们将这个折线图映射到了极坐标上,那么,也就得到了雷达图。
顺便讲一下,雷达图作用是什么呢?既然看得懂“六边形战士”,那么,相信你知道就看懂了雷达图,没错,我们从”六边形战士“马龙的实力雷达图上发现,马龙无论是在力量、速度、技巧、发球、防守、还是经验方面都是无可挑剔。也就是说,雷达图实际上也就是像折线图一样,我们能够看出各横坐标对应的数值的代表情况,但是,如果我们知道,通常折线图横坐标和纵坐标一般只各自代表一个属性变量,而且,就算我们从内心接收纵轴画几个属性标量的数值,但是我们会发现那样出的图并不直观,就像下面这样。
相信这样的图,我们内心是接受不了的吧!
但是,想像一下,如果我们将这个折线图映射到极坐标上,那么,我们要了解的信息是不是自然一目了然呢?因此,雷达图正式这样的作用,当我们需要对几个属性(属性不多)的数据进行比较时,从折线图上和直方图上都不能很合适的情况下,我们就可以采用雷达图来进行可视化,这样更加一目了然。当然,我们还可以用它来用在很多其他的应用场景。
讲完雷达图的作用和可视化原理,下面,我们正式开画。
使用matplotlib来进行可视化
1、导入数据
# 导入数据分析三大神器
import numpy as np
import pandas