用Python繪製雷達圖
阿新 • • 發佈:2021-01-11
文章目錄
前言
雷達圖是一種以二維形式展示多維資料的圖形。雷達圖由中心向外輻射出多條座標軸,每個多維資料在每一維度上的數值都佔一條座標軸,並和相鄰座標軸上的資料點連線起來,形成一個不規則的多邊形。整個圖形形似蜘蛛網,因此又名為“蜘蛛圖”。其非常適合顯示效能,各屬性的能力對比。
程式
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下載。