前言
雷达图是一种以二维形式展示多维数据的图形。雷达图由中心向外辐射出多条坐标轴,每个多维数据在每一维度上的数值都占一条坐标轴,并和相邻坐标轴上的数据点连接起来,形成一个不规则的多边形。整个图形形似蜘蛛网,因此又名为“蜘蛛图”。其非常适合显示性能,各属性的能力对比。
程序
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
# 因Matplotlib 对中文的显示不是很友好,需设置字体
font = FontProperties(fname='/Library/Fonts/Arial Unicode.ttf', size=10)
# Label
labels = np.array(['专业', '学习', '协作', '表达', '执行力', '创造力'])
# Value
data = np.array([8, 9, 9, 7, 9, 7])
angles = np.linspace(0, 2*np.pi, len(labels), endpoint=False)
data = np.hstack((data, [data[0]]))
angles = np.hstack((angles, [angles[0]]))
fig = plt.figure(figsize=(2, 2))
ax = fig.add_subplot(111, polar=True)
ax.plot(angles, data, 'ro-', linewidth=2)
ax.set_thetagrids(angles * 180/np.pi, labels, fontproperties=font)
plt.ylim(1, 10)
plt.title("", fontsize=12, fontproperties='SimHei')
plt.savefig('capacity.png', bbox_inches='tight', pad_inches=0.1)
plt.show()
结果
代码可以去我的GitHub下载。