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

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

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

一、引言

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

二、数据展示

三、环境准备

确保安装了必要的库:

bash 复制代码
pip install pandas pyecharts

四、完整可运行代码

4.1 数据加载与处理

python 复制代码
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 积分榜 - 黑金条形

python 复制代码
# 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 积分雷达图

python 复制代码
# 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 胜/平/负 桑基图

python 复制代码
# 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 积分仪表盘

python 复制代码
# 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 进球效率漏斗图

python 复制代码
# 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 球队名称词云图

python 复制代码
# 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 净胜球双轴

python 复制代码
# 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 组合大屏

python 复制代码
# 组合大屏
# 创建图表
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 的文件,打开该文件即可查看可视化大屏。

bash 复制代码
python dashboard.py

六、效果展示

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


七、总结

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

相关推荐
SickeyLee4 小时前
BI 系统数据看板全解析:让数据可视化驱动业务决策
信息可视化·数据挖掘·数据分析
万能的小裴同学5 小时前
星痕共鸣数据分析2
c++·数据分析
Jacob02345 小时前
很多数据分析师写对了 SQL,却忽略了这件更重要的事
后端·sql·数据分析
医工交叉实验工坊6 小时前
R 语言绘制六种精美热图:转录组数据可视化实践(基于 pheatmap 包)
开发语言·信息可视化·r语言
海哥编程6 小时前
Python 数据分析(一):NumPy 基础知识
python·数据分析·numpy
洁洁!6 小时前
ModelWhale+数据分析 消费者行为数据分析实战
数据挖掘·数据分析·红城堡
德育处主任7 小时前
p5.js 线段的用法
javascript·数据可视化·canvas
saadiya~9 小时前
Vue + WebSocket 实时数据可视化实战:多源融合与模拟数据双模式设计
vue.js·websocket·信息可视化
云天徽上16 小时前
【数据可视化-70】奶茶店销量数据可视化:打造炫酷黑金风格的可视化大屏
python·信息可视化·数据分析·数据可视化·pyecharts
JosieBook16 小时前
【开源】WpfMap:一个基于WPF(Windows Presentation Foundation)技术构建的数据可视化大屏展示页面
信息可视化·wpf