三角洲辅助卡盟新版上线,应有尽有
当前位置:首页 > 游戏攻略> 正文

lpl16年夏季赛决赛

发布时间:06/21 11:07:08
基于LPL2016夏季赛决赛战报的轻量数据可视化实操指南

前置准备:工具安装(零坑,一步到位)

需要的工具均为开源免费软件,全程无需额外配置:

  • Python3.10:直接复制地址下载:https://www.python.org/ftp/python/3.10.11/python-3.10.11-amd64.exe,安装时务必勾选「Add Python to PATH」
  • 依赖包安装:打开Windows命令提示符(按Win+R输入cmd回车),输入以下命令后回车:
pip install requests matplotlib pandas

第一步:获取LPL2016夏决战报原始数据

本次实操使用LPL官方公开的2016夏季赛决赛(EDG vs RNG)战报接口,直接用以下爬虫代码抓取数据并保存为CSV文件:

import requests
import pandas as pd
 LPL官方16夏决战报接口
url = "https://data.lpl.qq.com/rest/2.0/match/v1/match_detail?match_id=10000062"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36"
}
 发送请求获取数据
response = requests.get(url, headers=headers)
data = response.json()
 提取选手KDA核心数据
players = data["data"]["team_sides"][0]["players"] + data["data"]["team_sides"][1]["players"]
kda_data = []
for p in players:
kda_data.append({
"选手名": p["player_name"],
"击杀数": p["kills"],
"死亡数": p["deaths"],
"助攻数": p["assists"]
})
 保存为CSV文件(编码为utf-8-sig避免中文乱码)
df = pd.DataFrame(kda_data)
df.to_csv("lpl16_summer_final_kda.csv", index=False, encoding="utf-8-sig")
print("数据已保存至当前文件夹,文件名为lpl16_summer_final_kda.csv")

操作要点:复制代码到VS Code、PyCharm等Python编辑器,直接点击运行;如果出现请求失败,替换headers里的User-Agent为你浏览器的当前值(Chrome按F12→Network→任意请求→复制Request Headers中的User-Agent)。

第二步:生成选手KDA可视化图表

用以下代码读取刚才生成的CSV数据,自动生成带数值标注的柱状图,清晰展示16夏决所有选手的KDA值:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
 读取CSV数据
df = pd.read_csv("lpl16_summer_final_kda.csv")
 处理KDA计算(死亡为0时直接返回击杀+助攻,避免除零错误)
df["KDA值"] = df.apply(
lambda x: (x["击杀数"] + x["助攻数"]) / x["死亡数"] if x["死亡数"] > 0 else (x["击杀数"] + x["助攻数"]),
axis=1
)
 配置图表字体(解决中文乱码)
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
 创建柱状图
fig, ax = plt.subplots(figsize=(12, 6))
x = np.arange(len(df["选手名"]))
width = 0.5
rects = ax.bar(x, df["KDA值"], width)
 设置图表标签与标题
ax.set_xticks(x)
ax.set_xticklabels(df["选手名"])
ax.set_ylabel("KDA值")
ax.set_title("LPL2016夏季赛决赛选手KDA可视化")
 添加数值标注(显示每个柱子的KDA值)
def add_labels(rects):
for rect in rects:
height = rect.get_height()
ax.annotate(f"{height:.2f}",
xy=(rect.get_x() + rect.get_width()/2, height),
xytext=(0, 3),
textcoords="offset points",
ha="center", va="bottom")
add_labels(rects)
 保存并显示图表
plt.tight_layout()
plt.savefig("lpl16_summer_final_kda.png", dpi=300)
plt.show()

操作要点:直接运行代码,会在当前文件夹生成高分辨率PNG图表,同时弹出图表窗口;如果中文还是乱码,把字体设置里的「SimHei」换成「Microsoft YaHei」即可。

常见问题快速解决

1. 爬虫请求403错误

替换headers的User-Agent为当前浏览器的UA,步骤:Chrome按F12→切换到Network面板→刷新页面→点击任意请求→在Request Headers中找到User-Agent,复制后替换代码里的对应值。

2. CSV文件打开乱码

用记事本打开时,选择「编码→UTF-8」;代码里已设置encoding="utf-8-sig",避免了大部分乱码问题。

3. 除零错误(KDA计算出错)

代码里已做特殊处理,当选手死亡数为0时,KDA直接等于击杀+助攻,无需修改代码。

整个操作流程无复杂步骤,从工具安装到生成图表仅需10分钟左右,零编程基础也可完成。

版权保护: 本文由 741卡盟 原创,转载请保留链接: http://741ka.com/gamenews/23617.html