【数据可视化】画个简单的雷达图
2019-08-20 本文已影响0人
清梦载星河
镇楼图(图片源自unsplash)
相关方法
- plt.subplot(polar=True) : 设置极坐标轴
- ax.set_thetagrids() : 设置网格和标签
- ax.set_theta_offset() : 设置起始坐标轴的角度
示例代码
%matplotlib inline
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 数据
volt = [100,150,15,100]
saryn = [125,100,225,150]
# 标签
labels = [u'生命',u'护盾',u'护甲',u'能量']
fig = plt.figure(figsize=(16,9))
axes = plt.subplot(111,polar=True)
plt.title(u"Volt&Saryn的基础战甲属性对比")
#将圆均分为4份
dataLenth = 4
#角度
angles = np.linspace(0,
2 * np.pi,
dataLenth,
endpoint=False)
# 闭合数据
volt = np.append(volt,volt[0])
saryn = np.append(saryn,saryn[0])
angles = np.append(angles,angles[0])
#画图
axes.plot(angles,volt,color='r',label='volt')
#填充
axes.fill(angles,volt,color='r',alpha=0.1)
axes.plot(angles,saryn,color='g',label='saryn')
axes.fill(angles,saryn,color='g',alpha=0.1)
#设置格网或标签
axes.set_thetagrids(angles*180/np.pi,labels)
#设置偏移角度
axes.set_theta_offset(np.pi/4)
# 生成图例
plt.legend(loc="upper right")