球员能力值图

2025-12-12 18:00:02

品牌赞助动态

#_*_coding:utf-8 _*_import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.font_manager import FontProperties plt.style.use('ggplot')font=FontProperties(fname=r'C:\Windows\Fonts\ST...

#_*_coding:utf-8 _*_import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.font_manager import FontProperties

plt.style.use('ggplot')font=FontProperties(fname=r'C:\Windows\Fonts\STXINGKA.TTF',size=10)ability_size=6ability_label=[u'进攻',u'防守',u'盘带',u'速度',u'体力',u'射术']

ax1=plt.subplot(221,projection='polar')ax2=plt.subplot(222,projection='polar')ax3=plt.subplot(223,projection='polar')ax4=plt.subplot(224,projection='polar')

player={ 'A':np.random.randint(size=ability_size,low=60,high=99), 'B':np.random.randint(size=ability_size,low=60,high=99), 'C':np.random.randint(size=ability_size,low=60,high=99), 'D':np.random.randint(size=ability_size,low=60,high=99),}

theta=np.linspace(0,2*np.pi,6,endpoint=False)

theta=np.append(theta,theta[0])

player['A']=np.append(player['A'],player['A'][0])ax1.plot(theta,player['A'],'r')ax1.fill(theta,player['A'],'r',alpha=0.2)ax1.set_xticks(theta)ax1.set_xticklabels(ability_label,y=0.01,fontproperties=font)ax1.set_title(u'球员A',position=(0.5,0.99),fontproperties=font,color='red',size=20)

player['B']=np.append(player['B'],player['B'][0])ax2.plot(theta,player['B'],'g')ax2.fill(theta,player['B'],'g',alpha=0.2)ax2.set_xticks(theta)ax2.set_xticklabels(ability_label,y=0.01,fontproperties=font)ax2.set_title(u'球员B',position=(0.5,0.99),fontproperties=font,color='green',size=20)

player['C']=np.append(player['C'],player['C'][0])ax3.plot(theta,player['C'],'b')ax3.fill(theta,player['C'],'b',alpha=0.2)ax3.set_xticks(theta)ax3.set_xticklabels(ability_label,y=0.01,fontproperties=font)ax3.set_title(u'球员C',position=(0.5,0.99),fontproperties=font,color='blue',size=20)

player['D']=np.append(player['D'],player['D'][0])ax4.plot(theta,player['D'],'y')ax4.fill(theta,player['D'],'y',alpha=0.2)ax4.set_xticks(theta)ax4.set_xticklabels(ability_label,y=0.01,fontproperties=font)ax4.set_title(u'球员D',position=(0.5,0.99),fontproperties=font,color='yellow',size=20)plt.show()

这是我的代码

以下是效果图:

能力值使用numpy的随机库生成的

最难的还是编码问题,起初把汉字搞上去的时候会出现编码错误,后来在开头加了编码的注释发现还是显示不出来,但是不会报错了

查了好多最后才发现问题不在python,在matplotlib,于是上官网看了一下有个fontproperties的类,可以从系统引入字体路径,才得已解决。