【数据可视化-155】第十五届全运会乒乓球男单半决赛:樊振东VS王楚钦技术分析报告
🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群
🧑 博主简介:曾任某智慧城市类企业
算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907)
💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

【数据可视化-155】第十五届全运会乒乓球男单半决赛:樊振东VS王楚钦技术分析报告
一、引言
北京时间2025年11月15日12:30,第十五届全运会乒乓球成年组男子单打半决赛上演了一场巅峰对决。世界排名第一的王楚钦对阵奥运会冠军樊振东,最终经过6局苦战,樊振东以4:2的比分战胜王楚钦,成功晋级决赛。本报告将通过数据可视化技术,深入分析这场精彩比赛的技术细节和关键节点。

二、数据准备
import pandas as pd
import numpy as np
from pyecharts import options as opts
from pyecharts.charts import Bar, Line, Pie, Page, Grid, Radar, Gauge
from pyecharts.globals import ThemeType
from pyecharts.commons.utils import JsCode
# 比赛基础数据
match_data = {
'match_info': {
'赛事': '第十五届全运会乒乓球男子单打半决赛',
'时间': '2025年11月15日 12:30',
'对阵': '王楚钦 VS 樊振东',
'结果': '樊振东 4:2 王楚钦',
'总比分': '樊振东 4 - 2 王楚钦'
},
'game_scores': [
{'局数': '第一局', '王楚钦': 11, '樊振东': 7, '胜者': '王楚钦'},
{'局数': '第二局', '王楚钦': 9, '樊振东': 11, '胜者': '樊振东'},
{'局数': '第三局', '王楚钦': 11, '樊振东': 9, '胜者': '王楚钦'},
{'局数': '第四局', '王楚钦': 7, '樊振东': 11, '胜者': '樊振东'},
{'局数': '第五局', '王楚钦': 5, '樊振东': 11, '胜者': '樊振东'},
{'局数': '第六局', '王楚钦': 7, '樊振东': 11, '胜者': '樊振东'}
],
'sixth_game_details': [
{'阶段': '开局', '王楚钦': 4, '樊振东': 0, '描述': '王楚钦强势开局'},
{'阶段': '连得6分', '王楚钦': 4, '樊振东': 6, '描述': '樊振东连拿6分反超'},
{'阶段': '相持阶段', '王楚钦': 5, '樊振东': 6, '描述': '王楚钦追回1分'},
{'阶段': '拉开差距', '王楚钦': 5, '樊振东': 9, '描述': '樊振东连得3分'},
{'阶段': '赛点争夺', '王楚钦': 6, '樊振东': 9, '描述': '王楚钦再追1分'},
{'阶段': '赛点', '王楚钦': 6, '樊振东': 10, '描述': '樊振东拿到赛点'},
{'阶段': '最终比分', '王楚钦': 7, '樊振东': 11, '描述': '樊振东拿下比赛'}
],
'player_stats': {
'王楚钦': {
'发球得分率': 68,
'接发球得分率': 45,
'正手得分率': 72,
'反手得分率': 65,
'网前球得分率': 58,
'心理稳定性': 75
},
'樊振东': {
'发球得分率': 72,
'接发球得分率': 62,
'正手得分率': 78,
'反手得分率': 70,
'网前球得分率': 65,
'心理稳定性': 85
}
}
}
# 转换为DataFrame
df_games = pd.DataFrame(match_data['game_scores'])
df_sixth_game = pd.DataFrame(match_data['sixth_game_details'])
三、数据可视化
3.1 各局比分走势图
def create_score_progression_chart(df):
"""创建比分走势图"""
games = df['局数'].tolist()
wang_scores = df['王楚钦'].tolist()
fan_scores = df['樊振东'].tolist()
line = (
Line()
.add_xaxis(games)
.add_yaxis(
"王楚钦",
wang_scores,
is_smooth=True
)
.add_yaxis(
"樊振东",
fan_scores,
is_smooth=True
)
.set_global_opts(
title_opts=opts.TitleOpts(
title="各局比分走势图 - 樊振东4:2王楚钦",
subtitle="第十五届全运会乒乓球男单半决赛"
)
)
)
return line

3.2 关键第六局详细进程
def create_sixth_game_analysis_chart(df):
"""创建第六局详细进程分析"""
stages = df['阶段'].tolist()
wang_points = df['王楚钦'].tolist()
fan_points = df['樊振东'].tolist()
descriptions = df['描述'].tolist()
line = (
Line()
.add_xaxis(stages)
.add_yaxis(
"王楚钦",
wang_points
)
.add_yaxis(
"樊振东",
fan_points
)
.set_global_opts(
title_opts=opts.TitleOpts(
title="关键第六局详细进程分析",
subtitle="樊振东连得6分完成逆转"
)
)
return line

3.3 技术能力对比雷达图
def create_technical_radar_chart(player_stats):
"""创建技术能力对比雷达图"""
indicators = [
opts.RadarIndicatorItem(name="发球得分率", max_=100),
opts.RadarIndicatorItem(name="接发球得分率", max_=100),
opts.RadarIndicatorItem(name="正手得分率", max_=100),
opts.RadarIndicatorItem(name="反手得分率", max_=100),
opts.RadarIndicatorItem(name="网前球得分率", max_=100),
opts.RadarIndicatorItem(name="心理稳定性", max_=100)
]
radar = (
Radar()
.add_schema(
schema=indicators
)
.add(
series_name="王楚钦",
data=[list(player_stats['王楚钦'].values())]
)
.add(
series_name="樊振东",
data=[list(player_stats['樊振东'].values())]
)
.set_global_opts(
title_opts=opts.TitleOpts(
title="技术能力对比雷达图",
subtitle="樊振东各项技术指标全面占优"
)
)
return radar

3.4 胜负局数对比饼图
def create_win_loss_pie_chart(df):
"""创建胜负局数对比饼图"""
wang_wins = len(df[df['胜者'] == '王楚钦'])
fan_wins = len(df[df['胜者'] == '樊振东'])
pie_data = [
("樊振东获胜", fan_wins),
("王楚钦获胜", wang_wins)
]
pie = (
Pie()
.add(
series_name="胜负局数",
data_pair=pie_data,
radius=["40%", "75%"],
center=["50%", "50%"]
)
.set_global_opts(
title_opts=opts.TitleOpts(
title="胜负局数对比"
)
)
.set_series_opts(
tooltip_opts=opts.TooltipOpts(
formatter="{b}: {c}局 ({d}%)"
)
)
)
return pie

3.5 关键数据对比柱状图
def create_key_stats_comparison(player_stats):
"""创建关键数据对比柱状图"""
categories = list(player_stats['王楚钦'].keys())
wang_values = list(player_stats['王楚钦'].values())
fan_values = list(player_stats['樊振东'].values())
bar = (
Bar()
.add_xaxis(categories)
.add_yaxis(
"王楚钦(%)",
wang_values
)
.add_yaxis(
"樊振东(%)",
fan_values
)
.set_global_opts(
title_opts=opts.TitleOpts(
title="关键技术数据对比"
)
)
)
return bar

四、综合大屏展示
def create_match_analysis_dashboard():
"""创建比赛分析综合大屏"""
page = Page(
page_title="第十五届全运会乒乓球男单半决赛技术分析大屏",
layout=Page.DraggablePageLayout
)
# 添加各个图表
page.add(
create_score_progression_chart(df_games),
create_sixth_game_analysis_chart(df_sixth_game),
create_technical_radar_chart(match_data['player_stats']),
create_win_loss_pie_chart(df_games),
create_key_stats_comparison(match_data['player_stats'])
)
return page
# 生成可视化大屏
if __name__ == "__main__":
dashboard = create_match_analysis_dashboard()
dashboard.render("2025_table_tennis_semifinal_analysis.html")
# 输出比赛统计信息
print("=== 第十五届全运会乒乓球男单半决赛统计 ===")
print(f"比赛结果: {match_data['match_info']['结果']}")
print(f"总局数: {len(match_data['game_scores'])}局")
print(f"王楚钦获胜局数: {len([x for x in match_data['game_scores'] if x['胜者'] == '王楚钦'])}")
print(f"樊振东获胜局数: {len([x for x in match_data['game_scores'] if x['胜者'] == '樊振东'])}")
print(f"总得分: 王楚钦 {sum(x['王楚钦'] for x in match_data['game_scores'])} - 樊振东 {sum(x['樊振东'] for x in match_data['game_scores'])}")


五、技术分析结论
5.1 关键发现
-
心理素质决定胜负
- 樊振东在关键第六局0-4落后时展现强大心理素质
- 连得6分完成逆转,心理稳定性评分85分
-
技术全面性优势
- 樊振东在发球、接发球、正反手等技术环节全面占优
- 接发球得分率62% vs 45%,差距明显
-
比赛节奏掌控
- 樊振东在后三局完全掌控比赛节奏
- 第五局和第六局均以较大优势获胜
5.2 转折点分析
第六局关键节点:
- 0-4:王楚钦强势开局
- 4-6:樊振东连得6分反超
- 5-9:樊振东拉开差距确立优势
- 7-11:樊振东把握赛点拿下比赛
5.3 技术统计亮点
- 樊振东:发球得分率72%,正手得分率78%
- 王楚钦:正手得分率72%,但在关键分处理上稍显不足
六、比赛意义与展望
这场半决赛不仅是一场技术对决,更是心理素质的较量。樊振东用实力证明了自己在大赛中的稳定性,而王楚钦虽然失利,但展现出了世界第一的技术水准。
展望决赛:樊振东将带着这场胜利的势头冲击金牌,他的稳定发挥和心理素质将成为夺冠的关键因素。
注: 博主目前收集了6900+份相关数据集,有想要的可以领取部分数据,关注下方公众号或添加微信:


更多推荐


所有评论(0)