#_*_ conding:utf-8 _*
球员能力图
#_*_ conding:utf-8 _*_
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
plt.style.use('ggplot')#绘图风格
font=FontProperties(fname=r'c:\windows\fonts\simsun.ttc',size=12) #字体与电脑匹配后正确识别
ability_size=6 #设置6种标签
ability_label=[u'进攻',u'防守',u'盘带',u'速度',u'体力',u'射术']
ax1=plt.subplot(221,projection='polar') #绘制4张极坐标图
ax2=plt.subplot(222,projection='polar')
ax3=plt.subplot(223,projection='polar')
ax4=plt.subplot(224,projection='polar')
player={
'M':np.random.randint(size=ability_size,low=60,high=99),
'H':np.random.randint(size=ability_size,low=60,high=99),
'P':np.random.randint(size=ability_size,low=60,high=99),
'Q':np.random.randint(size=ability_size,low=60,high=99),
}#随机生成6种标签属性值
theta=np.linspace(0,2*np.pi,6,endpoint=False) #极坐标角度划分6分
theta=np.append(theta,theta[0]) #图形封闭
player['M']=np.append(player['M'],player['M'][0]) #M球员特性绘制
ax1.plot(theta,player['M'],'r')
ax1.fill(theta,player['M'],'r',alpha=0.3)
ax1.set_xticks(theta)
ax1.set_xticklabels(ability_label,y=0.05,fontproperties=font)
#y设置标签与极坐标的远近
ax1.set_title(u'梅',fontproperties=font,y=1.01,color='r',size=15)
player['H']=np.append(player['H'],player['H'][0]) #H球员特性绘制
ax2.plot(theta,player['H'],'g')
ax2.fill(theta,player['H'],'g',alpha=0.3)
ax2.set_xticks(theta)
ax2.set_xticklabels(ability_label,y=0.05,fontproperties=font)
#y设置标签与极坐标的远近
ax2.set_title(u'哈',fontproperties=font,y=1.01,color='g',size=15)
player['P']=np.append(player['P'],player['P'][0]) #P球员特性绘制
ax3.plot(theta,player['P'],'b')
ax3.fill(theta,player['P'],'b',alpha=0.3)
ax3.set_xticks(theta)
ax3.set_xticklabels(ability_label,y=0.05,fontproperties=font)
#y设置标签与极坐标的远近
ax3.set_title(u'匹',fontproperties=font,y=1.01,color='b',size=15)
player['Q']=np.append(player['Q'],player['Q'][0]) #Q球员特性绘制
ax4.plot(theta,player['Q'],'y')
ax4.fill(theta,player['Q'],'y',alpha=0.3)
ax4.set_xticks(theta)
ax4.set_xticklabels(ability_label,y=0.05,fontproperties=font)
#y设置标签与极坐标的远近
ax4.set_title(u'切',fontproperties=font,y=1.01,color='y',size=15)
plt.show()