咪哥杂谈
本篇阅读时间约为6分钟。
序言
前一阵写了关于王者的一些系列文章,从数据的获取到数据清洗,数据落地,都是为了本篇的铺垫。
明天来实现一下,瞧瞧不同维度得到的推论。
环境打算
本次实验用到的图形库为pyecharts。
pip install pyecharts
Echarts是一个由百度开源的数据可视化,凭着着良好的交互性,精美的图表设计,得到了诸多开发者的认可。
而Python是一门富于抒发力的语言,很适宜用于数据处理。当数据剖析遇上数据可视化时,pyecharts诞生了。
github-pyecharts官网文档
以下实验环境,均处于JupyterNotebook中,关于JupterNotebook安装教程,移步:
数据剖析的两个概念
数据剖析里,先来了解下两个比较基础的概念:维度(Dimensions)和测度(Measures)。
假如你用过可视化的工具,一定对其不陌生,例如Tableau、Kibana等。
简单的来说,测度描述的是数据表中的数值数据,而维度描述的则是类别数据。
举个板栗。
假定你家是开商店的,每位季度要对不同商品进行销售额统计。
我们常见的一些有含意的名词、时间、地理位置等离散型数据适用于维度。
那这儿的商品名称,如苹果,梨,板栗等可以作为维度。
连续型数据适用于测度,如数字。
此时,这种不同商品的卖出数目,则作为测度。
荣耀剖析
明白了上述概念,下边分别定下不同的维度来进行剖析做图。
PS:关于pyecharts的代码不进行贴出,后续给出源码地址。
1.王者荣耀中,英雄不同定位,英雄数目分别是多少?
按照读取Excel中position,获取不同英雄定位的数目。
图形:
王者荣耀一共97个英雄,前几天更新了赛季,新增一名天秤。实际上可以看见,官方游戏企划对“法师”还是比较偏爱的。
牧师类英雄为何多?
猜想:在众多moba游戏中,对线是所有位置可玩性最高的,也是全场能带动节奏的关键位置。不论从最早第一款dota还是到现今联通端的王者荣耀。
上单选手的操作决定左右着游戏全局的迈向,不论是前期,中期,还是后期。
玩的好的对线玩家,中前期可以带节奏carry全场,带玩家迈向胜利。
例如我中学同事的貂蝉
,1000多场,大部份场次拿此英雄就早已赢了一半了。
2.王者荣耀中,那个英雄无武器下跑的最快?
王者97个英雄里,你绝对想不到的竟然是盾山
和梦奇
跑的是最快的(应当是最瘦状态的时侯)。
这个图清晰的显示了不仅这两个英雄联通速率额外的快,其余的英雄虽然相差不到那里去。
PS:对比下循声之靴,最实惠的王者衣服,看下它的属性。
属性:
3.王者荣耀中,那个坦克无武器下血量最多?
坦克里的英雄,亚瑟
是血量最多的。仔细看,这堆坦克的血量最低是八戒
,差值600血量,要晓得600的血量前期顶小半个红莲外套了:
红莲外套基础属性:
武器技能
再来看下平均值,关于平均值,在图中画出了一条线,此线是所有英雄算下来的平均数,可以见到只有2个坦克的初始血量设定高于平均值,分别是钟无艳和猪八戒。
但不得不说,尽管低,但在对应的英雄技能上,有所填补,例如钟无艳的防御套,八戒的回血功能。
4.王者荣耀中,那个英雄无武器下化学防御最高?
最高化学防御150,庄周
:
最低化学防御83,小脆皮哥斯拉,啊不对,安琪拉,女生最爱的英雄
:
化学防御意味着哪些呢?普通功击对其导致的伤害,假定双方牧师都没魔法值了,这么安琪拉一定是对A不过敌方的。。。(尽管傻蛋牧师就会去普通功击~)
5.什么英雄推荐玩?
按照18183游戏网提供的数据,画出以下雷达图,根据定位不同来看。
用pyecharts画了三天的图,发觉还是有缺点的,维度这一项,假如好多,用代码来实现是没有办法实现的!(研究三天没研究下来,看了官方文档也没找到。。)
所以我只能在测度上加了一层英雄名称,以下雷达图在英雄名称是没有数值的,
18183游戏网,牧师推荐:
最饱和属性,嫦娥
:
18183游戏网,战士推荐:
最饱和属性,盘古
:
18183游戏网,坦克推荐:
最饱和属性,猪八戒
:
18183游戏网,天秤推荐:
最饱和属性,伽罗
:
18183游戏网,辅助推荐:
最饱和属性,瑶
:
18183游戏网,刺客推荐:
最饱和属性,荆轲
:
综上所述,雷达图虽然很容易能够看出什么数值比较突出。
瑶这个英雄如今在王者段位中,真的是仍然被ban,通常拿不到。阿轲是在白金左右段位的中单,挺好上分。嫦娥虽然仍然在牧师中很强势,只不过甚少有人爱用她,算是一个法坦。
那我自己找出的数据维度,暂时就那么多。
用到的几个pandas方式
1.df['position'].value_counts()
Df读取某列的值,但是根据内容进行分组计数。如下:
2.df[df['position']=='坦克']['name']
筛选,position为坦克的英雄名称。如下:
3.df['最大生命'].mean()
Mean,平均值的意思,求最大生命的平均值,画出平阳线。
总结
以上,就是本次通过数据找下来的几个维度点。
后台和一些同学沟通交流了下,本次数据虽然维度还是过分少,例如一些武器上的数据,没有进行爬取,英雄本身的等级成长值,也没有,假如你有更好的维度,欢迎留言区留言阐述~
关于notebook的源代码,上传到github了,后台回复关键词荣耀代码即可获得!
▼
往期精彩回顾
▼
pyspider爬取王者荣耀数据(下)
你点的每位在看,我都认真当作了喜欢
版权声明
本文仅代表作者观点,不代表百度立场。
内容来源于互联网,信息真伪需自行辨别。如有侵权请联系删除。
发表评论