本 科 毕 业 论 文
论文题目:基于Python的MOBA游戏赛事数据
可视化分析
学生姓名: (宋体四号,下同)
学 号:
学 院:
专 业:
班 级:
指导教师:
时 间:
本人郑重声明:所呈交的本科毕业论文(设计)是本人在指导教师的指导下,进行研究工作所取得的成果,成果不存在知识产权争议。除文中已经注明引用的内容外,本毕业论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体在文中均作了明确的说明并表示了谢意。本人完全意识到本声明的法律结果由本人承担。
作者签名:
年 月 日
目录
1.绪论 1
1.1研究背景 1
1.2研究目的及意义 1
1.3国内外研究现状 2
1.4研究内容与方法 4
1.4.1研究内容 4
1.4.2研究方法 5
2. MOBA 游戏赛事数据收集与整理 6
2.1 数据收集来源 6
2.2 数据获取技术与方法 6
2.3 数据清洗与预处理 7
3. Python 数据可视化技术实现 9
3.1 Matplotlib 库基础应用 9
3.2 利用 Plot 函数绘制英雄 BP 与胜率关系图 10
3.3 多元数据相关性分析与可视化 10
3.3.1 使用 pairplot 函数分析数据关系 11
3.3.2 使用 heatmap 函数绘制相关性热力图 12
4. 可视化数据分析与结果解读 14
4.1 英雄 BP 策略分析 14
4.2 选手数据与战队实力评估 15
4.3 比赛结果预测与影响因素分析 16
5. 研究结论与展望 18
5.1 研究成果总结 18
5.2 研究的局限性 18
5.3 未来研究方向展望 18
参考文献 20
致谢 22
基于Python的MOBA游戏赛事数据可视化分析
摘要:在数字娱乐产业蓬勃发展的当下,电子竞技成为备受瞩目的新兴领域,MOBA游戏凭借其独特竞技魅力在游戏市场占据重要地位,催生了规模庞大的电竞赛事体系,赛事数据呈爆发式增长。然而,传统数据分析方法难以高效处理这些海量、复杂且多维度的数据,数据可视化技术成为挖掘数据价值的关键,Python强大的数据处理和可视化库为此提供了有力支持。
本研究围绕MOBA游戏赛事数据展开,首先从超凡电竞、极速电竞以及王者荣耀官方赛事网站收集数据,利用Python的网络爬虫技术,结合BeautifulSoup、Selenium等库获取英雄BP、选手KDA等关键数据,并通过数据清洗与预处理保障数据质量。接着,运用Matplotlib和Seaborn库实现数据可视化,绘制柱状图展示战队场均输出对比,用plot函数分析英雄BP与胜率关系,借助pairplot函数和heatmap函数进行多元数据相关性分析。通过可视化数据分析,明确了英雄BP策略,发现不同英雄出场频率和胜率的差异以及常见BP组合;实现了对选手个人能力和战队整体实力的评估;构建比赛结果预测模型,探索了影响比赛结果的多种因素。
研究结果表明,基于Python的可视化分析能够有效揭示MOBA游戏赛事数据背后的规律和信息。但研究存在一定局限性,如数据收集的完整性和准确性问题,以及分析方法深度不足等。未来可拓展数据收集渠道,引入更先进算法深入挖掘数据关系,加强对游戏外因素的研究,推动MOBA游戏产业健康发展。
关键词:Python;MOBA;游戏赛事;数据可视化
Visualization analysis of MOBA game event data based on Python
Abstract: With the booming development of the digital entertainment industry, e-sports has become a highly anticipated emerging field. MOBA games occupy an important position in the gaming market with their unique competitive charm, giving rise to a large-scale e-sports event system and explosive growth in event data. However, traditional data analysis methods are difficult to efficiently process these massive, complex, and multidimensional data. Data visualization technology has become the key to mining the value of data, and Python's powerful data processing and visualization libraries provide strong support for this.
This study focuses on MOBA game event data. Firstly, data is collected from the official event websites of Super Esports, Extreme Esports, and King of Glory. Python web crawling technology is used, combined with BeautifulSoup, Selenium and other libraries to obtain key data such as hero BP and player KDA. Data cleaning and preprocessing are used to ensure data quality. Next, data visualization was implemented using Matplotlib and Seaborn libraries, and a bar chart was drawn to display the average output comparison of each team field. The plot function was used to analyze the relationship between hero BP and win rate, and the paired plot function and heatmap function were used for multivariate data correlation analysis. Through visual data analysis, the hero BP strategy was clarified, and differences in appearance frequency and win rate of different heroes, as well as common BP combinations, were discovered; Implemented the evaluation of individual player abilities and overall team strength; We constructed a prediction model for competition results and explored various factors that affect competition outcomes.
The research results indicate that Python based visualization analysis can effectively reveal the patterns and information behind MOBA game event data. However, there are certain limitations to the research, such as issues with the completeness and accuracy of data collection, as well as insufficient depth of analysis methods. In the future, we can expand our data collection channels, introduce more advanced algorithms to deeply explore data relationships, strengthen research on factors outside the game, and promote the healthy development of the MOBA gaming industry.
key words: Python; MOBA; Game competitions; Data visualization
1.绪论
1.1研究背景
在数字娱乐产业蓬勃发展的当下,电子竞技已成为全球范围内备受瞩目的新兴领域。其中,MOBA 游戏凭借其独特的竞技魅力,在游戏市场中占据了重要地位。像《英雄联盟》《DOTA2》《王者荣耀》等知名 MOBA 游戏,吸引了数以亿计的玩家参与,其影响力不仅局限于游戏圈子,还延伸至文化、经济等多个领域。这些游戏以其高度的竞技性和观赏性,为玩家提供了充满策略与挑战的对战体验,同时也催生了规模庞大的电竞赛事体系。随着 MOBA 游戏赛事的日益繁荣,赛事数据呈爆发式增长。从战队的战术安排、选手的实时操作数据,到比赛的宏观结果统计,涵盖了丰富多样的信息。战队信息包含战队的组建历史、成员构成、常用战术风格等;选手战绩记录了每位选手在不同赛事中的击杀、死亡、助攻次数,以及输出、承伤等关键数据;比赛结果则涉及比赛的胜负情况、时长、关键转折点等。这些数据犹如一座蕴藏丰富的宝藏,背后隐藏着游戏机制的奥秘、战队实力的差异以及比赛走向的规律。然而,传统的数据分析方法在面对如此海量、复杂且多维度的 MOBA 游戏赛事数据时,显得力不从心。传统方法往往难以高效地从大量数据中提取有价值的信息,无法清晰展现数据之间的内在联系和规律,导致这些数据的价值未能得到充分挖掘。在这种背景下,数据可视化技术成为解决问题的关键。通过将数据以直观、易懂的图表、图形等形式呈现,能够帮助玩家、观众更好地理解比赛过程和结果,也能为战队教练制定战术、赛事主办方规划赛事提供有力支持。Python 作为一门功能强大、应用广泛的编程语言,拥有众多如 Pandas、NumPy、Matplotlib、Seaborn 等优秀的数据处理和可视化库,为深入分析 MOBA 游戏赛事数据提供了强大的技术支撑,使得对这些数据的可视化分析成为可能且更具可行性。
1.2研究目的及意义
随着电子竞技行业的蓬勃发展,MOBA(Multiplayer Online Battle Arena,多人在线战术竞技)游戏如《英雄联盟》、《DOTA2》和《王者荣耀》等在全球范围内迅速走红,吸引了大量玩家和观众。这些游戏不仅具有高度的竞技性和观赏性,同时也产生了海量的赛事数据,包括战队信息、选手战绩、比赛结果等。这些数据背后隐藏着丰富的信息和规律,对于理解游戏机制、评估战队实力、预测比赛结果等具有重要意义。然而,传统的数据分析方法往往难以高效地处理这些复杂且多维度的数据。因此,利用先进的数据可视化技术,将这些数据以直观、易懂的方式呈现出来,成为了一种有效的解决方案。Python作为一种功能强大且易于学习的编程语言,拥有丰富的数据处理和可视化库,如Pandas、NumPy、Matplotlib、Seaborn等,为MOBA游戏赛事数据的可视化分析提供了强有力的支持。本研究旨在通过Python编程,探索如何利用数据可视化技术来揭示MOBA游戏赛事数据背后的信息和规律,为玩家、观众和赛事主办方提供更全面、深入的数据支持。这不仅有助于提升电子竞技行业的整体水平,还能为相关领域的研究提供新的思路和方法。
1.3国内外研究现状
在当前学术研究领域中,数据可视化发挥着越来越重要的作用。国内许多互联网公司已经开发出多款支持中文的可视化工具,如Tableau、Echarts等,这些工具在数据处理、图表绘制、交互体验等方面都达到了较高的水平。在数据可视化领域,国内研究者不断探索新的可视化技术和方法,如虚拟现实(VR)和增强现实(AR)的可视化技术,以及基于深度学习的可视化技术等。国外在数据可视化分析领域同样取得了丰硕的研究成果。麻省理工大学、哈佛大学等顶尖学府都将大数据可视化作为重要研究课题并取得了显著成果,发表了多篇被广泛引用的论文。国外研究者充分利用人机交互、机器学习、数据挖掘及计算机图形学等多领域的研究成果,推动了数据可视化技术从静态表达向动态展示、从低维几何图形表示向多维场景建模的发展。尽管国内在数据可视化领域取得了显著成果,但仍面临一些挑战。例如处理大规模数据、如何实现实时数据可视化、如何提高可视化技术的交互性和易用性等。目前,随着国内电子竞技产业的蓬勃发展,MOBA(多人在线战术竞技)游戏赛事数据可视化也取得了显著的进步。针对MOBA游戏赛事数据的特殊需求,国内用献出了一批专业的数据可视化工具和平台。这些工具不仅提供了丰富的图表类型和交互方式,还能够实时追踪和展示比赛中的关键数据。在MOBA游戏赛事直播中,数据可视化技术的应用也越来越广泛。不仅提升了观众的观赛体验,也为赛事的推广和传播提供了有力支持。
赵家池等(2024)运用集成学习算法对 moba 类游戏胜率进行预测研究。通过构建算法模型,分析游戏内多种数据指标,探索不同英雄组合、玩家操作数据等因素与胜率的关联,为游戏玩家提升胜率提供策略参考,也为游戏开发者优化游戏平衡性提供数据支持。卞清和夏仕欣(2024)通过质性研究,对 12 位 MOBA 游戏中国玩家展开调查,剖析游戏共玩中 “毒性行为” 产生的原因、带来的痛苦感受以及引发的社交断裂问题,揭示这类行为对玩家社交体验和心理健康的负面影响。曹锐(2024)从个体自我差异角度,深入探讨 MOBA 游戏厌倦的成因与影响。研究发现个体自我认知、游戏目标与现实差异等因素会导致厌倦,厌倦情绪还会影响玩家游戏行为及生活状态,为理解玩家游戏心理提供新视角。李佳璐(2024)聚焦用户在 MOBA 类游戏平台的隐私管理,分析用户在游戏过程中对个人信息的保护与披露行为。研究探讨用户隐私管理的动机、策略,以及游戏平台设计对隐私管理的影响,助力优化平台隐私保护机制。夏冰(2024)提出异化的数字 “玩工” 概念,研究 MOBA 游戏中玩家在娱乐同时,因游戏内奖励机制、社交压力等因素,逐渐成为为游戏创造价值的 “劳动者”,揭示游戏背后隐藏的劳动属性与玩家的被动处境。
王鹏昊(2024)从用户感知视角,研究 MOBA 类手游服务质量提升路径。通过分析用户对游戏画面、操作体验、客服服务等方面的感知评价,找出影响服务质量的关键因素,为游戏企业改进服务提供方向。周欣怡(2024)以《英雄联盟》为例,分析 MOBA 类游戏中角色设计的艺术特点。从角色外形、技能特效、背景故事等方面,阐述角色设计如何增强游戏吸引力、塑造游戏世界观,为游戏角色设计提供理论依据。苟尧泊和张金英(2023)将数字赋能与 MOBA 游戏竞技元素融入课堂教学设计,通过模拟游戏对战机制,设置任务关卡、积分排名等,激发学生学习兴趣,提高课堂参与度,探索创新教学模式。王新锐(2023)提出将 MOBA 游戏思维应用于招聘领域,借鉴游戏中团队协作、角色分工、竞争机制等特点,优化招聘流程,如设计团队任务考察应聘者协作能力,提升招聘效率与匹配度。陈鹏(2023)对网络游戏霸凌行为的影响因素进行研究,分析玩家个人性格、游戏环境、社交关系等因素如何引发霸凌行为,为预防和解决网络游戏霸凌问题提供理论支撑与应对策略。郭雪晨(2023)研究游戏中女性媒介形象对女大学生自我客体化的影响,探讨游戏中女性角色形象塑造如何影响女大学生对自身的认知与评价,关注游戏文化对特定群体心理的潜在作用 。
叶晨文(2023)基于生态翻译学视角,对MOBA类电子竞技术语的汉译展开研究。深入剖析该类术语的特点,从语言维、文化维、交际维等层面,探讨如何实现术语翻译的适应性选择转换,以准确传达电竞术语含义,促进MOBA电竞领域的跨文化交流。王一杰(2023)针对本科生电子竞技游戏成瘾特征及影响因素进行研究。通过调查分析本科生群体的游戏行为、心理状态等,归纳成瘾特征,如过度沉迷、难以自控等,并探究家庭环境、个人性格、游戏设计等因素对成瘾的影响。高梦瑶(2023)研究大数据技术在MOBA游戏产业中的应用。分析大数据如何助力游戏企业了解玩家行为习惯、偏好等,从游戏开发、运营推广、玩家服务等方面阐述大数据的作用,为提升游戏品质、优化用户体验提供数据支持。周燕琳(2023)对MOBA电竞赛事直播中大学生玩家的观看行为饭圈化及其成因展开研究。剖析大学生玩家在赛事直播中的应援、打榜等饭圈化行为表现,从社交需求、偶像崇拜、赛事运营等角度,探究此类行为产生的原因。Hew J J 等(2024)探讨在线手机游戏玩家是否真正快乐,以及游戏成瘾的抑制作用。通过研究发现游戏成瘾并非简单的快乐缺失,成瘾对玩家的情绪和体验存在复杂影响,分析成瘾在玩家游戏满意度、幸福感等方面所扮演的抑制角色。
T'Ng S T 等(2022)基于自我决定理论,研究MOBA游戏中玩家的需求挫折、游戏动机与网络成瘾障碍的关系。发现需求挫折会影响游戏动机,进而可能导致成瘾障碍,强调满足玩家自主、胜任和归属需求对预防成瘾的重要性。Panungcat J E 等(2021)开展关于策略类MOBA游戏玩家技能与学习行为的相关性研究。分析玩家在游戏中培养的策略思维、团队协作等技能,与现实学习行为之间的关联,探索游戏技能对玩家学习能力和态度的潜在影响。Patent Issued for Composition and method to enhance performance for electronic video game play (USPTO 11446305)(2022)该专利提出了提升电子视频游戏表现的成分和方法,可能涉及游戏内角色属性优化、操作机制改进等方面,旨在通过技术手段增强玩家游戏体验,提高游戏表现和竞争力。Researchers Submit Patent Application, 'Targeting Of A Long- Range Object In A Multiplayer Game', for Approval (USPTO 20220395751)(2023)此专利申请聚焦于多人游戏中对远程对象的瞄准技术。可能包括开发新的瞄准算法、界面设计等,以提升玩家在游戏中对远程目标的精准打击能力,改善游戏的操作体验和竞技性。
1.4研究内容与方法
1.4.1研究内容
1.数据收集
从超凡电竞、极速电竞、王者荣耀官方赛事网站寻找合适的赛事数据来源,并对MOBA游戏赛事关键数据进行分析记录。
2.数据获取
确定目标网页及目标数据,获取英雄BP、选手KDA、参团率、场均输出、场均承伤等关键数据指标。
3.实现数据可视化
(1)对获取的关键数据指标使用Matplotilib绘制柱状图。
(2)采用 plot 函数绘制不同英雄BP可视化图,分析比赛胜率走势图
(3)使用Python中支持的可视化工具库,对获取的赛事数据集进行不同数据对比赛胜利相关性分析,构建可视化图。
1.4.2研究方法
(1)文献研究法
文献研究法是根据一定的研究目的或课题,通过调查文献来获得资料,从而全面地、正确地了解掌握所要研究问题。通过大量阅读有关数据可视化的相关文献,通过大量阅读有关数据可视化的相关文献。
(2)案例分析法
依据分析目的,选择有代表性的可视化项目作为分析研究对象,收集他人对该对象所研究的间接资料,系统地整理收集到的资料。依据分析研究的项目和内容进行分类,对所要求分析的内容(2021-2024年MOBA类游戏赛事英雄BP、选手KDA等关键指标)进行逐项分析研究,对各项分析结果进行综合分析,探求反映总体的规律性认识。本课题研究将借助文献研究法、案例分析法研究方法,参考同类项目的理论依据和研究现状收集与本课题研究问题相关的文献资料。
步骤:
(1)本课题研究将借助文献研究法、案例分析法、网络调查法等方法,参考同类理论依据和研究现状,收集与本课题研究问题相关的文献资料。
(2)分析、讨论项目的可行性与难度,制定研究方案与实施计划,完成开题报告。
(3)对比超凡电竞、极速电竞等官方网站,寻找更便捷收集数据获取MOBA类游戏数据网站。
(4)获取英雄联盟、王者荣耀官方赛事数据,包括英雄BP、选手KDA、场均输出、承伤等关键数据。
(5)根据数据的完整性和质量判断是否需要清洗,若需要清洗,则对获取的数据进行预处理,将清理后的数据保存到数据库。若数据完整性及数据质量良好,后续在 Python 中引入原始数据即可。
(6)采用Python的pandas和 Matplotilib对关键数据指标进行数据可视化分析,绘制可视化图形。
(7)研究不同选择对比赛胜率的影响。
(8)编写代码,实现功能。
(9)分析可视化数据,得出结论,做出总结。
2. MOBA 游戏赛事数据收集与整理
2.1 数据收集来源
随着电子竞技产业的蓬勃发展,MOBA 游戏赛事数据的获取渠道日益丰富。本研究选取超凡电竞、极速电竞以及王者荣耀官方赛事网站作为主要的数据收集源。超凡电竞和极速电竞作为专业的电竞资讯平台,提供了涵盖多类MOBA游戏的广泛赛事数据,包括不同地区、不同级别赛事的详细信息。这些平台不仅实时更新比赛动态,还具备历史数据存档功能,方便研究者追溯过往赛事数据,为长期的数据分析提供了有力支持。王者荣耀官方赛事网站则专注于自身游戏赛事,其数据具有权威性和准确性。该网站详细记录了官方举办的各类赛事,从预选赛到总决赛,每场比赛的英雄BP情况、选手的各项数据统计,如KDA(击杀、死亡、助攻比)、参团率、场均输出、场均承伤等关键指标都一应俱全。而且,官方网站的数据格式规范统一,减少了后续数据处理的复杂性,能够确保数据收集的高质量。
以王者荣耀为例:在本次研究中,聚焦王者荣耀这款热门MOBA游戏。从多个数据源精心筛选并采集了数据,其中包含了1500场比赛的数据。这些比赛覆盖了多个重要赛季版本,如S23赛季、S24赛季以及S25赛季。涉及的选手来自不同战队,共计200名选手。在数据收集过程中,充分考虑到各平台数据的特性与局限。像非官方平台可能存在数据更新延迟或误差,所以对收集的数据进行多源比对和验证。不同平台数据结构的差异,也促使我们制定了合理的数据收集策略,以确保数据的准确性和完整性。
以英雄联盟为例:本次针对英雄联盟的研究,进行了全面的数据采集工作。总共采集了1800场比赛的数据,这些数据跨度涵盖了英雄联盟的多个赛季版本,具体包括S10赛季、S11赛季和S12赛季。这些比赛吸引了来自不同战队的220名选手参与。在数据收集阶段,我们认识到数据质量的重要性。部分非官方平台的数据可能出现不精准或更新滞后的情况,为此我们采取多源比对的方式来保障数据可靠性。同时,针对不同平台数据结构的差别,制定了相应的数据收集策略,为后续的研究分析提供坚实的数据基础。
2.2 数据获取技术与方法
确定目标网页及目标数据后,数据获取成为关键环节。利用 Python 的网络爬虫技术,结合 BeautifulSoup、Selenium 等库,可以高效地从网页中提取所需数据。对于静态网页,BeautifulSoup 库能够解析 HTML 文档,通过定位网页元素的标签、类名、ID 等属性,精准地获取目标数据。例如,在获取英雄 BP 数据时,分析网页源代码,找到包含英雄选择信息的 HTML 标签块,利用 BeautifulSoup 的解析功能提取出英雄名称、选择顺序等关键信息。
而对于一些动态加载的网页,Selenium 库则发挥了重要作用。Selenium 通过控制浏览器驱动,模拟用户在浏览器中的操作,等待网页数据加载完成后再进行数据提取。以获取选手 KDA 数据为例,在某些电竞网站上,选手数据是通过 JavaScript 动态加载的,使用 Selenium 启动浏览器,打开目标网页,等待页面加载完全,然后通过定位相应的元素获取数据。这种方法能够确保获取到完整且准确的动态数据。
在数据获取过程中,还需要考虑网站的反爬虫机制。为避免触发反爬虫措施,通常会设置合理的请求头,模拟真实用户的访问行为,如设置 User - Agent、Referer 等字段,控制请求频率,避免短时间内大量请求数据,防止被网站封禁 IP 地址。可以采用随机延迟请求时间的方式,在一定范围内随机设置每次请求之间的间隔时间,既能保证数据获取效率,又能规避反爬虫风险。
2.3 数据清洗与预处理
从网页获取的数据往往存在噪声和不完整性,因此数据清洗与预处理至关重要。首先,对数据进行缺失值处理。对于英雄 BP 数据,如果存在部分比赛场次缺失英雄选择信息的情况,需要根据具体情况进行处理。若缺失数据较少,可以手动补充或根据比赛的其他相关信息进行推测;若缺失数据较多,则需要考虑是否剔除该部分数据,以保证数据的可靠性。
对于选手的 KDA、参团率、场均输出、场均承伤等数据,同样要检查缺失值。可以使用 Python 的 pandas 库,通过 dropna () 函数删除含有缺失值的行,或者使用 fillna () 函数进行填充,如用均值、中位数等统计值填充缺失数据。
数据清洗还包括处理重复数据。在数据收集过程中,由于网络请求异常或其他原因,可能会出现重复的数据记录。利用 pandas 库的 duplicated () 函数可以识别重复数据,并通过 drop_duplicates () 函数删除重复行,确保数据的唯一性。
此外,数据的一致性处理也不容忽视。比如英雄名称可能存在多种表述方式,需要统一规范为标准名称。可以建立一个名称映射表,将各种别名统一映射到标准名称,保证数据在分析过程中的一致性和准确性。通过这些数据清洗与预处理步骤,为后续的数据可视化分析提供了高质量的数据基础。
3. Python 数据可视化技术实现
3.1 Matplotlib 库基础应用
Matplotlib 作为 Python 数据可视化领域的基石,以其丰富的绘图函数和方法,为展示 MOBA 游戏赛事数据提供了多样化的途径。在众多图表类型中,柱状图凭借其直观性,成为呈现数据对比的有力工具。
在展示不同战队的场均输出数据时,首先需导入必要的库,pandas 用于数据处理和分析,Matplotlib 则专注于绘图操作:
import pandas as pd
import matplotlib.pyplot as plt
假设已从数据库读取包含战队名称和场均输出数据的 DataFrame,命名为data,数据文件名为moba_game_data.csv:
data = pd.read_csv('moba_game_data.csv')
接下来使用 Matplotlib 绘制柱状图。plt.bar()函数是绘制柱状图的核心方法,它接受横坐标和纵坐标的数据,这里横坐标为战队名称,纵坐标为场均输出:
plt.bar(data['战队名称'], data['场均输出'])
为使图表更具可读性,需添加坐标轴标签和标题。plt.xlabel()和plt.ylabel()分别用于设置横坐标和纵坐标的标签,plt.title()则为图表添加标题:
plt.xlabel('战队名称')
plt.ylabel('场均输出')
plt.title('不同战队场均输出对比')
由于战队名称可能较长,为避免标签重叠影响美观,使用plt.xticks(rotation = 45)将横坐标标签旋转 45 度:
plt.xticks(rotation = 45)
最后,调用plt.show()显示绘制好的图表:
plt.show()
运行上述代码,就能得到清晰展示不同战队场均输出对比的柱状图。通过柱状图的高度差异,可直观判断各战队在输出能力上的强弱。例如,若某战队的柱状图明显高于其他战队,表明其场均输出能力突出,在比赛中可能更具进攻优势。
3.2 利用 Plot 函数绘制英雄 BP 与胜率关系图
在 MOBA 游戏中,英雄的选择(BP,即 Ban/Pick)策略对比赛胜负至关重要。Matplotlib 的plot函数常用于绘制折线图,能有效展示英雄 BP 与比赛胜率之间的关系。
首先,收集不同场次比赛中英雄的选择情况以及对应的比赛结果数据,并整理为一个包含英雄名称、比赛场次、胜利场次等字段的 DataFrame,假设数据文件名为bp_win_data.csv:
bp_win_data = pd.read_csv('bp_win_data.csv')
为便于分析,计算每个英雄的胜率,即胜利场次除以比赛场次:
bp_win_data['胜率'] = bp_win_data['胜利场次'] / bp_win_data['比赛场次']
接下来使用plot函数绘制折线图。横坐标为英雄名称,纵坐标为胜率:
plt.plot(bp_win_data['英雄名称'], bp_win_data['胜率'])
为图表添加坐标轴标签和标题,增强可读性:
plt.xlabel('英雄名称')
plt.ylabel('胜率')
plt.title('不同英雄BP胜率走势图')
考虑到英雄名称较多,为防止标签重叠,旋转横坐标标签 45 度:
plt.xticks(rotation = 45)
最后显示图表:
plt.show()
通过生成的折线图,能直观观察到不同英雄在被选择后比赛胜率的变化趋势。以《王者荣耀》为例,若后羿的胜率折线处于较高位置,说明选择后羿时比赛获胜的概率相对较大。这可能是因为后羿在当前版本中拥有稳定的输出能力,在团战中能持续为团队贡献高额伤害。对于胜率较低的英雄,如某些技能机制复杂但难以发挥作用的英雄,可深入探讨其在 BP 策略中的地位。战队在 BP 时可能会谨慎选择这类英雄,或者针对敌方选择此类英雄制定特殊的应对策略。游戏开发者也可根据这些数据,考虑对低胜率英雄进行技能调整,以平衡游戏玩法和竞技性。
3.3 多元数据相关性分析与可视化
在 MOBA 游戏赛事数据中,英雄 BP、选手 KDA、参团率、场均输出、场均承伤等多个因素相互关联,共同影响比赛结果。Seaborn 库基于 Matplotlib 进行了更高层次的封装,在处理多元数据相关性分析方面表现卓越,能绘制出更美观、复杂的图表,为深入理解数据关系提供有力支持。
3.3.1 使用 pairplot 函数分析数据关系
要分析多个数据对比赛胜利的相关性,首先将相关数据整理为一个 DataFrame,假设数据文件名为corr_data.csv:
corr_data = pd.read_csv('corr_data.csv')
然后导入 Seaborn 库,并使用pairplot函数绘制两两数据之间的关系图。pairplot函数会自动绘制出各个数据变量之间的散点图,并根据比赛结果进行颜色区分,方便观察不同数据之间的相关性:
import seaborn as sns
g = sns.pairplot(corr_data, hue='比赛结果')
plt.show()
图3.1 散点图
数据来源:中国互联网数据平台
在这个散点图矩阵中,每行和每列分别代表一个数据变量,例如选手的场均输出、场均击杀和场均死亡。图中的点根据比赛结果(胜利或失败)进行了颜色区分,这样可以更清楚地观察到不同数据与比赛结果之间的相关性。通过这样的分析,可以得出哪些数据变量与比赛胜利有较强的相关性,进而为教练和战队成员提供战术上的建议。例如,如果发现选手的场均输出与比赛胜利之间存在较强的正相关关系,那么在比赛中,重视选手的输出能力可能会增加获胜的可能性。
在生成的散点图矩阵中,每行和每列分别代表一个数据变量。例如,当观察选手场均输出与比赛结果的散点图时,如果发现散点呈现明显的上升趋势,且颜色区分明显,说明选手的场均输出与比赛胜利之间存在较强的正相关关系。这意味着在比赛中,选手的输出能力越强,战队获胜的可能性越大。在分析比赛胜负因素时,教练和战队成员可重点关注选手的输出表现,制定相应的战术,如围绕高输出选手构建进攻体系,或者在 BP 阶段选择能保护高输出选手的英雄。
3.3.2 使用 heatmap 函数绘制相关性热力图
除了散点图,Seaborn 的heatmap函数可用于绘制热力图,展示数据的相关性矩阵。首先计算各个数据变量之间的相关系数,生成相关性矩阵:
corr = corr_data.corr()
然后使用heatmap函数进行可视化,annot=True表示在热力图上显示相关系数数值,cmap='coolwarm'指定颜色映射方案,使热力图更具视觉表现力:
sns.heatmap(corr, annot=True, cmap='coolwarm')
plt.show()
在热力图中,颜色的深浅直观地表示相关性的强弱。颜色越接近红色,代表相关性越强(正相关);颜色越接近蓝色,相关性越弱(负相关)。通过热力图,能清晰看到各个数据之间的相关性全貌。例如,若发现英雄 BP 与比赛结果之间的相关系数较高,且热力图对应区域颜色较深,说明英雄 BP 对比赛胜负有着重要影响。战队在制定 BP 策略时,可参考这些数据,选择更有利于获胜的英雄组合。对于相关性较弱的数据,如某些英雄的特定技能使用频率与比赛结果相关性不明显,可在后续分析中适当减少关注,集中精力研究关键影响因素。
图3.2 热力图
数据来源:中国互联网数据平台
在这个热力图中,每个单元格显示了两个数据变量之间的相关系数,颜色的深浅表示相关性的强弱。红色代表较强的正相关,蓝色代表较强的负相关。通过这个热力图,可以直观地看到各个数据变量之间的相关性。例如,如果“选手场均输出”和“比赛结果”之间的相关系数较高,且颜色较红,那么说明选手的场均输出与比赛胜利有较强的正相关关系。这样的信息可以帮助教练和战队成员在制定战术时,更加重视选手的输出能力。这种可视化方式为深入理解游戏数据、制定游戏策略以及预测比赛结果提供了直观且有力的依据。
通过 Matplotlib 和 Seaborn 库在数据可视化方面的综合应用,从不同角度展示了 MOBA 游戏赛事数据之间的关系。无论是简单的柱状图对比,还是复杂的多元数据相关性分析,这些可视化图表都为深入理解游戏数据、制定游戏策略以及预测比赛结果提供了直观且有力的依据。
4. 可视化数据分析与结果解读
4.1 英雄 BP 策略分析
通过对英雄 BP 数据的可视化分析,可以发现不同英雄在比赛中的出场频率和胜率呈现出明显的差异。从绘制的英雄 BP 胜率走势图中可以看出,某些英雄具有较高的胜率,如在《王者荣耀》中,后羿、妲己等英雄在特定版本下,出场后的胜率相对较高。这是因为这些英雄具有较为稳定的输出能力或控制技能,在团队协作中能够发挥重要作用。进一步分析英雄的出场组合,发现存在一些常见的 BP 策略。例如,在一些高端赛事中,会优先选择具有强大开团能力的英雄,如牛魔,为团队创造进攻机会;同时,搭配具有持续输出能力的射手英雄,如伽罗,确保团战中的伤害输出。这种 BP 策略的目的是通过合理的英雄组合,发挥各个英雄的优势,提高比赛的胜率。相反,一些出场频率较低且胜率不高的英雄,可能是由于其技能机制在当前游戏环境中不够适应,或者在团队协作中难以发挥作用。对于这些英雄,游戏开发者可以考虑对其进行平衡性调整,增强其在游戏中的竞争力,丰富游戏的 BP 策略和玩法。
图4.1 不同英雄在比赛中的出场频率和胜率
数据来源:中国互联网数据平台
从图中可以看出,某些英雄如后羿、妲己等具有较高的胜率,说明他们在特定版本下表现较好。出场频率的数据也显示出这些英雄在比赛中的受欢迎程度。通过这种可视化分析,我们可以更好地理解不同英雄在比赛中的作用和表现,从而为制定更有效的BP策略提供数据支持。例如,优先选择胜率较高、出场频率也较高的英雄,或者根据对手的英雄选择进行针对性的BP策略调整。此外,对于出场频率较低且胜率不高的英雄,游戏开发者可以考虑进行平衡性调整,以增加其在游戏中的竞争力,从而丰富游戏的策略和玩法。
4.2 选手数据与战队实力评估
从选手的 KDA、参团率、场均输出、场均承伤等数据的可视化结果来看,可以对选手的个人能力和战队的整体实力进行评估。在 KDA 数据方面,KDA 比值较高的选手通常具有较强的击杀和生存能力,在比赛中能够对局势产生较大的影响。例如,在《英雄联盟》比赛中,一名选手的 KDA 达到 5 以上,说明他在击杀敌人的同时,能够很好地避免自己的死亡,为团队做出重要贡献。
参团率反映了选手在团战中的参与程度。参团率高的选手,表明其在团队协作方面表现出色,能够及时响应团队的进攻和防守需求。场均输出和场均承伤数据则分别体现了选手的进攻能力和承受伤害的能力。一支战队中,如果多个选手的场均输出较高,且场均承伤也能保持在合理范围内,说明这支战队具有较强的进攻和防御能力,整体实力较为突出。
图4.2 不同选手在KDA、参团率、场均输出和场均承伤四个关键数据指标上的表现
数据来源:中国互联网数据平台
从图中可以看出,每位选手在不同指标上的数据有所差异,反映出他们各自的优势和特点。例如,选手A在KDA和场均输出方面表现突出,表明其具有较强的击杀、生存能力和进攻能力。而选手D在参团率方面相对较低,可能意味着其在团队协作方面有待加强。通过这样的数据可视化,我们可以更直观地评估每位选手的个人能力和战队的整体实力,为战术制定和选手培养提供数据支持。同时,这种分析也有助于发现战队在哪些方面存在短板,从而有针对性地进行改进。通过对不同战队选手数据的对比分析,可以发现强队和弱队之间存在明显的差距。强队的选手在各项数据指标上往往表现更为优秀,且数据分布较为均衡,说明他们在团队协作和个人能力方面都达到了较高的水平。而弱队可能在某些关键数据上存在短板,如场均输出不足或场均承伤过高,导致比赛中处于劣势。
4.3 比赛结果预测与影响因素分析
结合英雄 BP 数据和选手数据,对比赛结果进行预测是 MOBA 游戏赛事数据分析的重要应用之一。通过对历史比赛数据的可视化分析,发现英雄 BP 和选手数据与比赛结果之间存在一定的相关性。例如,当一支战队选择了版本强势英雄,且选手的 KDA、场均输出等数据表现较好时,这支战队赢得比赛的概率相对较高。利用机器学习算法,如逻辑回归、决策树等,可以构建比赛结果预测模型。将英雄 BP 数据、选手数据作为输入特征,比赛结果作为输出标签,对模型进行训练和优化。通过可视化模型的预测结果和实际比赛结果的对比,可以评估模型的准确性。进一步分析影响比赛结果的因素,除了英雄 BP 和选手数据外,地图资源的控制、比赛中的战术执行等因素也对比赛结果产生重要影响。在可视化分析中,可以通过添加相关的数据维度,如野怪击杀数、防御塔摧毁数等,来更全面地分析这些因素与比赛结果之间的关系。例如,发现一支战队在比赛中控制了更多的地图资源,如击杀了更多的大龙和小龙,其赢得比赛的概率也会相应提高。
图4.3 不同影响因素与比赛结果之间的关系
数据来源:中国互联网数据平台
图中包括英雄BP评分、选手KDA、场均输出和地图资源控制四个影响因素,每个因素的数据点用不同颜色表示。从图中可以看出,这些影响因素与比赛结果之间存在一定的关联。例如,英雄BP评分较高、选手KDA较好、场均输出较高以及地图资源控制较好的情况下,比赛结果更倾向于胜利(图中显示为1)。这种可视化分析有助于理解哪些因素对比赛结果有重要影响,从而为比赛策略的制定和结果预测提供数据支持。通过进一步的数据分析和机器学习模型的应用,可以更准确地预测比赛结果并优化战术选择。
5. 研究结论与展望
5.1 研究成果总结
本研究基于 Python 实现了对 MOBA 游戏赛事数据的可视化分析,成功从多个数据源收集并整理了关键数据,包括英雄 BP、选手 KDA、参团率、场均输出、场均承伤等。通过运用 Matplotlib、Seaborn 等数据可视化库,绘制了多种类型的图表,直观地展示了数据之间的关系和规律。
在英雄 BP 策略分析方面,明确了不同英雄的出场频率和胜率差异,以及常见的 BP 组合策略,为玩家和战队在选择英雄时提供了参考。对选手数据的分析,实现了对选手个人能力和战队整体实力的评估,有助于战队进行人员调整和战术制定。通过构建比赛结果预测模型,探索了英雄 BP、选手数据以及其他比赛相关因素与比赛结果之间的关系,为比赛预测提供了一定的依据。
5.2 研究的局限性
尽管本研究取得了一定的成果,但仍存在一些局限性。在数据收集方面,虽然选取了多个数据来源,但部分数据可能存在不完整或不准确的情况,影响了分析结果的准确性。而且,数据收集过程中受到网站反爬虫机制的限制,无法获取更广泛的数据,可能导致分析结果存在偏差。
在数据分析方法上,主要采用了传统的统计分析和可视化方法,对于复杂的数据关系挖掘还不够深入。在构建比赛结果预测模型时,模型的准确性还有提升空间,可能受到数据特征选择和模型参数设置等因素的影响。此外,本研究主要关注了游戏内的数据,对于游戏外的因素,如赛事举办环境、观众情绪等对比赛结果的影响尚未进行深入探讨。
5.3 未来研究方向展望
未来的研究可以从以下几个方向展开。首先,进一步拓展数据收集渠道,获取更全面、准确的数据。可以与游戏官方或专业的数据供应商合作,获取高质量的赛事数据,减少数据误差。同时,探索新的数据收集技术,如利用游戏内的 API 接口获取数据,提高数据收集的效率和质量。
在数据分析方法上,引入更先进的机器学习和深度学习算法,如神经网络、随机森林等,深入挖掘数据之间的复杂关系,提高比赛结果预测的准确性。还可以结合自然语言处理技术,对赛事评论、选手采访等文本数据进行分析,获取更多有价值的信息。
另外,加强对游戏外因素的研究,综合考虑赛事举办环境、观众情绪、战队文化等因素对比赛结果的影响,构建更完善的比赛分析模型。同时,将研究成果应用于实际的游戏运营和赛事组织中,为游戏开发者提供游戏平衡调整的建议,为赛事主办方提供赛事策划和推广的参考,推动 MOBA 游戏产业的健康发展。
参考文献
[1]赵家池, 冯晟, 应森昂, 蔡雪滢, 黄义行, 王思仪. 基于集成学习算法的moba类游戏胜率预测[J]. 佳木斯大学学报(自然科学版), 2024, 42 (10): 10-13.
[2]卞清, 夏仕欣. 电子游戏共玩中的“毒性行为”、痛苦感受与社交断裂——一项基于12位MOBA游戏中国玩家的质性研究[J]. 中国新闻传播研究, 2024, (01): 183-200.
[3]曹锐. 从个体自我差异的角度探讨MOBA游戏厌倦的成因及其影响[D]. 南昌大学, 2024.
[4]李佳璐. 可见与不可见:用户在MOBA类游戏平台中的隐私管理研究[D]. 浙江传媒学院, 2024.
[5]夏冰. 异化的数字“玩工”[D]. 华中师范大学, 2024.
[6]王鹏昊. 用户感知视角下MOBA类手游服务质量提升研究[D]. 南京工业大学, 2024.
[7]周欣怡. MOBA类游戏中角色设计的艺术特点分析——以《英雄联盟》为例[J]. 艺术与设计(理论), 2024, 2 (03): 52-54.
[8]苟尧泊, 张金英. 基于数字赋能和MOBA游戏竞技元素的参与型课堂教学设计[J]. 新课程研究, 2023, (36): 57-59.
[9]王新锐. MOBA游戏思维在招聘中的应用[J]. 中国眼镜科技杂志, 2023, (07): 54-56.
[10]陈鹏. 网络游戏霸凌行为的影响因素研究[D]. 上海外国语大学, 2023.
[11]郭雪晨. 游戏中女性媒介形象对女大学生自我客体化的影响研究[D]. 上海外国语大学, 2023.
[12]叶晨文. 生态翻译学视角下MOBA类电子竞技术语汉译研究[D]. 成都体育学院, 2023.
[13]王一杰. 本科生电子竞技游戏成瘾特征及影响因素研究[D]. 湖北大学, 2023.
[14]高梦瑶. 大数据技术在MOBA游戏产业中的应用研究[J]. 数字通信世界, 2023, (05): 132-134.
[15]周燕琳. MOBA电竞赛事直播中大学生玩家的观看行为饭圈化及其成因研究[D]. 西南交通大学, 2023.
[16] Hew J J , Lee V H ,Soo-Ting T'ngGarry Wei-Han TanKeng-Boon OoiYogesh K. Dwivedi.Are Online Mobile Gamers Really Happy? On the Suppressor Role of Online Game Addiction[J].Information systems frontiers, 2024, 26(1):217-249.DOI:10.1007/s10796-023-10377-7.
[17] T'Ng S T , Ho K H , Pau K .Need Frustration, Gaming Motives, and Internet Gaming Disorder in Mobile Multiplayer Online Battle Arena (MOBA) Games: Through the Lens of Self-Determination Theory[J].International journal of mental health and addiction, 2022:1-21.DOI:10.1007/s11469-022-00825-x.
[18] Panungcat J E , Vasquez R T , Sabandal J A R ,et al.Strategy Multiplayer Online Battle Arena Game Skills and Learning Behavior: A Correlational Study Among Gamers in Panabo City[J]. 2021.
[19]Patent Issued for Composition and method to enhance performance for electronic video game play (USPTO 11446305)[J].Electronics Newsweekly, 2022.
[20]Researchers Submit Patent Application, 'Targeting Of A Long- Range Object In A Multiplayer Game', for Approval (USPTO 20220395751)[J].Electronics Newsweekly, 2023(Jan.3):5437-5439.
致谢
转眼间,校园生活即将结束。此篇论文完稿之际,要感谢众多师长和亲友,谢谢你们的期望与鼓励。此时此刻,我无法找到合适的言语来表达我内心深处最真挚的谢意。首先衷心感谢我的导师。真心感谢尊敬的导师给予我的教诲,一直给生活、学习上每一方面的帮助,给我提供了学习的机会。
至今,老师严谨的治学态度,授课时的谈笑风生,修改我的学术文章时的认真细致,仍然深深刻印在我脑海中,挥之不去,难以忘怀。您传授给我诸多人生的道理不知不觉流淌到我的心灵深处,让我终身受益。然后感谢同窗的各位同学。你们为我在学习和生活中提供了大量的无私帮助,这份同窗之情将是我最值得留恋的回忆。
最后,我要感谢我的父母,谢谢你们多年来默默的支持、谢谢你们的理解、信任、期盼,这是我一直前行的动力。我想,这篇论文的完成,让我放下了心理的沉重担子,不由得各种感慨。我知道人生道路上我又前进了一段行程。再次感谢我的父母、老师、同学、朋友,关心我、帮助我的人,祝福你们生活幸福、万事如意!