實踐:
#引入第三方庫 import numpy as np import matplotlib.pyplot as plt import matplotlib matplotlib.rcParams['font.family']='SimHei'#字體 radar_labels=np.array(['研究型(I)','藝術型(A)','社會型(S)',\ '企業型(E)','常規型(C)','現實型(R)'])#類型 #數據 data=np.array([[0.40,0.32,0.35,0.30,0.30,0.88], [0.85,0.35,0.30,0.40,0.40,0.30], [0.43,0.89,0.30,0.28,0.22,0.30], [0.30,0.25,0.48,0.85,0.45,0.40], [0.20,0.38,0.87,0.45,0.32,0.28], [0.34,0.31,0.38,0.40,0.92,0.28]]) #處理 data_labels=('藝術家','實驗員','工程師','推銷員','社會工作者','記事員') angles=np.linspace(0,2*np.pi,6,endpoint=False) data=np.concatenate((data,[data[0]])) angles=np.concatenate((angles,[angles[0]])) fig=plt.figure(facecolor="white") plt.subplot(111,polar=True) plt.plot(angles,data,'o-',linewidth=1,alpha=0.2) plt.fill(angles,data,alpha=0.25) plt.thetagrids(angles*180/np.pi,radar_labels)#這里會報錯,因為使用的是庫的最新版本,其方法內部是不需要使用到frac,去掉即可。 plt.figtext(0.52,0.95,'霍蘭德人格分析',ha='center',size=20) legend=plt.legend(data_labels,loc=(0.94,0.80),labelspacing=0.1) plt.setp(legend.get_texts(),fontsize='large') plt.grid(True) plt.savefig('holland_radar.jpg') plt.show
運行結果: