数据可视化案例 :球员能力图

数据可视化案例 :球员能力图

  • 如果要在python的py文件里面写中文,则必须要添加一行声明文件编码的注释,否则python会默认使用ASCII编码并且在字体前面+u。
#_*_ conding:utf-8 _*

球员能力图

数据可视化案例 :球员能力图_第1张图片
代码

#_*_ 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()

你可能感兴趣的:(数据可视化案例 :球员能力图)