【Python基础】Python画王者荣耀英雄能力雷达图
生活随笔
收集整理的這篇文章主要介紹了
【Python基础】Python画王者荣耀英雄能力雷达图
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
現(xiàn)有以下表格,我需要畫(huà)成第二張圖中的雷達(dá)圖(類(lèi)似fifa足球、王者榮耀里面的那種球員能力圖)
雷達(dá)圖函數(shù)用到以下包:
import?math import?numpy?as?np import?matplotlib.pyplot?as?plt import?matplotlib.colors?as?mcolors導(dǎo)入中文相關(guān)字體
#?導(dǎo)入中文 import?matplotlib.font_manager?as?font_managerfont_dirs?=?['./font'] font_files?=?font_manager.findSystemFonts(fontpaths=font_dirs) font_list?=?font_manager.createFontList(font_files) font_manager.fontManager.ttflist.extend(font_list) plt.rcParams['font.family']?=?'SimHei'#?啟用主題 plt.style.use('ggplot')獲取極徑范圍
#?獲取極徑范圍 def?get_range(data_list):max?=?min?=?0for?_,?data?in?data_list.items():for?v?in?data:if?v?<?min:min?=?vif?v?>?max:max?=?vreturn?[min,?max]生成能力分布圖
#?生成能力分布圖 def?generate_ability_map(abilities,?data_list,?rows=3):min,?max?=?get_range(data_list)#?根據(jù)能力項(xiàng)等分圓angles?=?np.linspace(0,?2?*?np.pi,?len(abilities),?endpoint=False)angles?=?np.append(angles,?angles[0])#?生成n個(gè)子圖fg,?axes?=?plt.subplots(math.ceil(len(data_list)?/?rows),?rows,?subplot_kw=dict(polar=True),figsize=(9,9))#?調(diào)整子圖間距plt.subplots_adjust(wspace?=0.6,?hspace?=0.6)#?打散為一維數(shù)組axes?=?axes.ravel()#?獲取所有支持的顏色colors?=?list(mcolors.TABLEAU_COLORS)#?循環(huán)繪制i?=?0for?name,?data?in?data_list.items():data?=?np.append(np.array(data),?data[0])ax?=?axes[i]#?繪制線(xiàn)條ax.plot(angles,?data,?color=colors[i])#?填充顏色ax.fill(angles,?data,?alpha=0.7,?color=colors[i])#?設(shè)置角度ax.set_xticks(angles)#?設(shè)置坐標(biāo)軸名稱(chēng)ax.set_xticklabels(abilities)#?設(shè)置名稱(chēng)ax.set_title(name,?size=10,?color='black',?position=(0.5,?0.4))#?設(shè)置極徑最小值ax.set_rmin(min)#?設(shè)置極徑最大值(最大值加0.1,要不線(xiàn)條最外圈線(xiàn)顯示不完全)ax.set_rmax(max?+?0.1)i?=?i?+?1plt.show()調(diào)用:
#數(shù)據(jù) abilities?=?['靈活性',?'功能性',?'平穩(wěn)性',?'安全性',?'耐用性',?'經(jīng)濟(jì)性'] super_heros?=?{'固定點(diǎn)降落':?[2,1,5,5,4,3],'任意點(diǎn)降落':?[5,5,2,3,3,4],'局部最優(yōu)點(diǎn)降落':?[4,5,4,4,3,4], }#畫(huà)圖 generate_ability_map(abilities,?super_heros)程序運(yùn)行后,得到文中開(kāi)始的圖:
總結(jié)
以上是生活随笔為你收集整理的【Python基础】Python画王者荣耀英雄能力雷达图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 聊聊工业界做机器学习的里程碑
- 下一篇: websocket python爬虫_p