现有的下表应该用第二张图的雷达绘制。(FIFA足球,王者荣耀里的那种球员能力也是)
雷达图函数使用以下软件包:
Import math
Import numpy as NP
Import ma as PLT
导入Import ma as mcolors中文相关字体
#导入中文
Import ma as font_manager
Font_dirs=['/font']
font _ files=(font paths=font _ dirs)
Font_list=(font_files)
(font_list)
[']='SimHei '
#使用主题
(' ggplot ')汇入极直径范围
#导入极直径范围
Def get_range(data_list):
Max=min=0
For _,data in da:
For v in data:
If v min:
Min=v
If v max:
最大值=v
Return [min,max]生成能力图
#生成能力映射
def generate _ ability _ map(abilities、data _ list、rows=3) :
Min,max=get_range(data_list)
#根据能力项目分割圆
Angles=np.linspace (0,2 * np.pi,len (abilities),endpoint=false)
Angles=np.append (angles,angles [0])
# n生成子图
Fg、axes=(len (data _ list)/rows)、rows、subplot _ kw=dict (polar=true)、figsig
#调整子图形间距
_adjust(wspace=0.6,hspace=0.6)
#分成一维数组
Axes=axes.ravel
#导入所有支持的颜色
Colors=Li)
#绘制回路
I=0
For name,data in da:
Data=np.append(data),data[0])
Ax=axes[i]
#绘制直线
Ax.plot (angles,data,color=colors [I])
#填充颜色
Ax.fill (angles、data、alpha=0 . 7、color=colors [I])
#设置角度
Ax.set_xticks(angles)
#设置轴名称
Ax.set_xticklabels(abilities)
#设置名称
Ax.set _ title (name,size=10,color=' black 'position=,0.4)
#设定最小极直径
Ax.set_rmin(min)
#“最大极直径”设置(最大值为0.1,线的最大外环不完整)
Ax.set_rmax(max 0.1)
I=调用I 1:
#数据
abilities=[‘灵活性’、‘功能性’、‘柔软性’、‘安全性’、‘耐久性’、‘经济性’]
Super_heros={
'固定点着陆' [2,1,5,5,4,3],
“任意点着陆”: [5,5,2,3,3,4],
“局部最佳着陆”: [4,5,4,4,3,4],
}
#画画
运行Generate _ ability _ map (abilities,super _ heros)程序后,获得正文开始的图片。
python学习通信组
为了让大家能够更即时地交流,我们创建了python学习交流小组。有学生想进入小组。可以添加以下小助手微信。他会把大家拉到一个小组~