用雷达图绘制员工绩效
一、demo
def radar(table,m,n): """ 参数:tables工作表 ; m,n:绘图对象,即绘制第几行至第几行 """ import matplotlib.pyplot as plt import matplotlib.pyplot import numpy as np matplotlib.rcParams['font.family'] = 'SimHei' matplotlib.rcParams['font.sans-serif'] = ['SimHei'] radar_labels = np.array(table.row_values(0,1,end_colx=None)) Attr = 8 lt=[] for i in range(m,n): lt.append(table.row_values(i,1,end_colx=None)) data = np.array(lt) data = data.T data_labels= (table.col_values(0,m,end_rowx=n)) angels = np.linspace(0,2*np.pi,Attr,endpoint = False) data = np.concatenate((data,[data[0]])) angels = np.concatenate((angels,[angels[0]])) fig = plt.figure(facecolor='white') plt.subplot(111,polar = True) plt.plot(angels,data,'o-',linewidth = 1) a = data_labels legend=plt.legend(a,loc= (1.2,0.80),labelspacing=0.1) plt.setp(legend.get_texts(),fontsize='small') plt.fill(angels,data,color = 'g',alpha =0.1) plt.thetagrids(angels*180/np.pi,radar_labels) #添加最外层指标 plt.figtext(0.5,1.0,'员工业绩分析',ha='center',size =10) plt.grid(True) # plt.savefig('holland_radar.JPG') plt.show()
if __name__=='__main__': import xlrd data = xlrd.open_workbook('业绩指标衡量.xlsx') table = data.sheet_by_name('Sheet1') #radar(table,1,7) #可以将所员工绘制在同一个雷达图中 for i in range(1,7): radar(table,i,i+1)
结果:截取最后一张图

二、所用数据

浙公网安备 33010602011771号