当前位置: 首页 > news >正文

【数据可视化-72】苏超第七轮战罢:黑金大屏下的足球数据洞察(含完整代码、数据和大屏)

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907

💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

在这里插入图片描述

【数据可视化-72】苏超第七轮战罢:黑金大屏下的足球数据洞察(含完整代码、数据和大屏)

    • 一、引言
    • 二、数据展示
    • 三、环境准备
    • 四、完整可运行代码
      • 4.1 数据加载与处理
      • 4.2 积分榜 - 黑金条形
      • 4.2 积分雷达图
      • 4.3 胜/平/负 桑基图
      • 4.4 积分仪表盘
      • 4.5 进球效率漏斗图
      • 4.6 球队名称词云图
      • 4.7 净胜球双轴
      • 4.8 组合大屏
    • 五、运行代码
    • 六、效果展示
    • 七、总结

一、引言

  在足球的世界里,数据可视化是解读比赛的一把钥匙。介于苏超的火热程度,本文将使用2025年苏超第七轮结束后的积分数据集,通过Python和Pyecharts库,打造一个炫酷的黑金风格可视化大屏,深入分析球队排名、进球效率、净胜球等多个维度,揭示数据背后的内在问题。

二、数据展示

三、环境准备

  确保安装了必要的库:

pip install pandas pyecharts

四、完整可运行代码

4.1 数据加载与处理

import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import (Bar, Page, Line, Pie, WordCloud, Radar, Funnel, Gauge, Liquid, TreeMap, Sankey
)
from pyecharts.globals import ThemeType# 读数据
df = pd.read_csv("苏超第七轮战罢球队统计数据.csv", encoding='GBK')# 数据预处理
df['净胜球'] = df['进球数'] - df['失求数']
df['场均进球'] = df['进球数'] / df['比赛场次']
df['场均失球'] = df['失求数'] / df['比赛场次']

4.2 积分榜 - 黑金条形

# 1. 积分榜 - 黑金条形
bar_rank = (Bar(init_opts=opts.InitOpts(theme=ThemeType.DARK, bg_color="black")).add_xaxis(df['排名'].astype(str).tolist()).add_yaxis("积分", df['积分'].tolist(), category_gap="60%").set_global_opts(title_opts=opts.TitleOpts(title="积分榜 · 黑金条形"),xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),yaxis_opts=opts.AxisOpts(name="积分"),)
)

4.2 积分雷达图

# 2. 积分雷达图
radar = (Radar(init_opts=opts.InitOpts(theme=ThemeType.DARK, bg_color="#000")).add_schema(schema=[opts.RadarIndicatorItem(name=n, max_=10) for n in df['队名']]).add("积分", [df['积分'].tolist()],color="#00FFFF").set_global_opts(title_opts=opts.TitleOpts(title="积分雷达"))
)

4.3 胜/平/负 桑基图

# 3. 胜/平/负 桑基图
sankey = (Sankey(init_opts=opts.InitOpts(theme=ThemeType.DARK, bg_color="black")).add("赛果", [list(z) for z in zip(df['胜场数'], df['平场数'], df['负场数'])],linestyle_opt=opts.LineStyleOpts(opacity=0.5, curve=0.5, color="source")).set_global_opts(title_opts=opts.TitleOpts(title="胜-平-负流向"),)
)

4.4 积分仪表盘

# 4. 积分仪表盘
gauge = (Gauge(init_opts=opts.InitOpts(theme=ThemeType.DARK, bg_color="black")).add("", [("积分", df['积分'].max())],min_=0, max_=100,axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(color=[(0.3, "#FF0000"), (0.7, "#FFFF00"), (1, "#00FF00")], width=30))).set_global_opts(title_opts=opts.TitleOpts(title="积分上限仪表盘"))
)

4.5 进球效率漏斗图

# 5. 进球效率漏斗图
funnel = (Funnel(init_opts=opts.InitOpts(theme=ThemeType.DARK, bg_color="black")).add("场均进球", [list(z) for z in zip(df['队名'], df['场均进球'])],label_opts=opts.LabelOpts(position="inside")).set_global_opts(title_opts=opts.TitleOpts(title="进球效率漏斗"))
)

4.6 球队名称词云图

# 6. 球队名称词云图
wc = (WordCloud(init_opts=opts.InitOpts(theme=ThemeType.DARK, bg_color="black")).add("", [list(z) for z in zip(df['队名'], [i for i in range(len(df['队名']))])],shape="circle",word_size_range=[20, 100]).set_global_opts(title_opts=opts.TitleOpts(title="球队名称词云"))
)

4.7 净胜球双轴

# 7. 净胜球双轴
line = (Line(init_opts=opts.InitOpts(theme=ThemeType.DARK, bg_color="black")).add_xaxis(df['排名'].astype(str).tolist()).add_yaxis("积分", df['积分'].tolist(), yaxis_index=0).extend_axis(yaxis=opts.AxisOpts(name="净胜球",type_="value",position="right",axislabel_opts=opts.LabelOpts(formatter="{value}"),axisline_opts=opts.AxisLineOpts(linestyle_opts=opts.LineStyleOpts(color="#00FFFF")),splitline_opts=opts.SplitLineOpts(is_show=True, linestyle_opts=opts.LineStyleOpts(color="#fff")),)).add_yaxis("净胜球", df['净胜球'].tolist(), yaxis_index=1).set_global_opts(title_opts=opts.TitleOpts(title="积分 vs 净胜球"))
)

4.8 组合大屏

# 组合大屏
# 创建图表
page = Page(layout=Page.DraggablePageLayout)
page.add(bar_rank, radar, sankey, gauge, funnel, wc, line)
page.render("suzhou_super_league_r7_dashboard.html")

五、运行代码

  将上述代码保存为 dashboard.py,并确保 苏超第七轮战罢球队统计数据.csv 文件位于同一目录下。运行脚本后,将生成一个名为 suzhou_super_league_r7_dashboard.html 的文件,打开该文件即可查看可视化大屏。

python dashboard.py

六、效果展示

  运行上述代码后,你将得到一个包含多个图表的可视化大屏,每个图表都以其独特的方式揭示了数据中的洞察。


七、总结

  通过上述代码,我们成功地将苏超第七轮结束后的积分数据转化为一个炫酷的黑金风格可视化大屏。每个图表都以其独特的方式揭示了数据中的洞察,帮助我们更好地理解足球领域的新趋势和问题。希望这篇文章对你有所帮助,如果你有任何问题或建议,欢迎在评论区留言。

http://www.dtcms.com/a/295766.html

相关文章:

  • Windows 如何更改 ModelScope 的模型下载缓存位置?
  • 低功耗设计双目协同画面实现光学变焦内带AI模型
  • 几个常用的Oxygen编辑器插件
  • Python进阶第三方库之Matplotlib
  • Jenkins最新版本的安装以及集成Allure生成测试报告
  • “适应度”简介
  • 【牛客刷题】和零在一起
  • SQL基础⑫ | 视图篇
  • 学习设计模式《十九》——享元模式
  • ​Excel——SUMPRODUCT 函数
  • LeetCode 2322:从树中删除边的最小分数
  • J2EE模式---业务代表模式
  • 后信创时代,融合数据库成为国产数据库的新锚点
  • MongoDB的操作
  • skywalking应用性能监控
  • 内网穿透的应用-分布式系统观测革命:SigNoz与cpolar的技术协同之道
  • Java从入门到精通!第十三天(IO 流)
  • Web前端:JavaScript every()迭代方法
  • 闲庭信步使用图像验证平台加速FPGA的开发:第三十四课——车牌识别的FPGA实现(6)叠加车牌识别的信息
  • 认识单片机
  • Centos新增磁盘,进行根目录扩容
  • SkyWalking异步采集spring gateway日志
  • 基于Qt和OpenCV的图片与视频编辑器
  • 完整指南:使用Apache htpasswd为Chronograf配置基础认证及功能详解
  • 响应式前端设计:CSS 自适应布局与字体大小的最佳实践
  • spring boot h2数据库无法链接问题
  • 数学基础弱能学好大数据技术吗?
  • JimuReport 积木报表 v2.1.1 版本发布,免费开源的报表和大屏
  • 基于定制开发开源AI智能名片S2B2C商城小程序源码的立减/立得类活动创新设计与应用研究
  • 2025年计算机网络与教育科学国际会议(ICCNES 2025)