用matplotlib画个图系列——雷达图
2019-12-19 本文已影响0人
不分享的知识毫无意义
这个系列将结合笔者的工作经验进行更新,各种图出现会比较随机。
- 雷达图使用场景
雷达图适合多个指标之间的比较,找出比较强势或者弱智的指标,可以对一个对象使用,也可以对两个对象进行比较。最具有代表性的一个应用场景是球员各项能力值的比较,如果画一个雷达图,我们可以明显的看出来球员的优势项和弱势项。 - 雷达图作图
关键的几步包括:构建极坐标的角度、构造闭合的数据、设置坐标轴位置、设置数据位置等,一般要画极坐标的图,可以参考这篇文章。
import numpy as np
import matplotlib.pyplot as plt
dataLength = 5
label = np.array(['内部一致性','外部公平性','薪资满意度','福利满意度','晋升满意度'])
data = np.array([0.65,0.67,0.87,0.98,0.75])
angles = np.linspace(0, 2*np.pi, dataLength, endpoint=False)
data = np.concatenate((data,[data[0]]))
angles = np.concatenate((angles,[angles[0]]))
fig = plt.figure()
ax = fig.add_subplot(111,polar=True)
ax.set_thetagrids(angles * 180/np.pi, label, fontproperties="SimHei")
ax.plot(angles,data,'bo-',linewidth=2)
ax.set_rlim(0,1)
ax.fill(angles, data, facecolor='r', alpha=0.25)
#ax.set_theta_zero_location('NW')
#ax.set_rlabel_position('55')
ax.set_title("统计结果",fontproperties="SimHei",fontsize=16) #设置标题
plt.show()
-
雷达图展示
雷达图成品