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

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

在这里插入图片描述


一、引言

北京时间2025年11月12日10:00,第十五届全运会各项赛事正在激烈进行中。目前金牌榜呈现明显的梯队分布,山东代表团以22枚金牌高居榜首,广东代表团以19枚金牌紧随其后,江苏代表团以15枚金牌位列第三。本文将基于实时数据,对各地区金牌分布进行深度可视化分析。

二、数据准备

import pandas as pd
import numpy as np
from pyecharts import options as opts
from pyecharts.charts import Bar, Map, Pie, Page, Grid, Line
from pyecharts.globals import ThemeType
from pyecharts.commons.utils import JsCode

# 创建数据
data = {
    '排名': list(range(1, 26)),
    '地区': ['山东', '广东', '江苏', '浙江', '上海', '湖北', '四川', '陕西', '福建', '辽宁', 
            '河北', '广西', '山西', '天津', '安徽', '湖南', '北京', '内蒙古', '河南', '云南',
            '香港', '吉林', '贵州', '海南', '西藏'],
    '金牌': [22, 19, 15, 13, 13, 6, 6, 6, 6, 6, 5, 5, 5, 4, 4, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1]
}

df = pd.DataFrame(data)

三、数据可视化

3.1 中国地图金牌分布热力图

def create_gold_medal_map(medal_data):
    """创建金牌分布地图"""
    china_map = (
        Map()
        .add(
            series_name="金牌数量",
            data_pair=medal_data,
            maptype="china"
        )
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title="第15届全运会各省市金牌分布热力图",
                subtitle="数据截止时间:2025.11.12 10:00"
            ),
            visualmap_opts=opts.VisualMapOpts(
                max_=25,
                min_=0
            ),
            legend_opts=opts.LegendOpts(is_show=False)
        )
        .set_series_opts(
            itemstyle_opts=opts.ItemStyleOpts(
                border_color="#000000",
                border_width=0.5
            )
        )
    )
    return china_map

3.2 金牌数量排名条形图

def create_gold_medal_bar_chart(df):
    """创建金牌数量排名条形图"""
    # 按金牌数量排序
    df_sorted = df.sort_values('金牌', ascending=True)
    
    bar = (
        Bar()
        .add_xaxis(df_sorted['地区'].tolist())
        .add_yaxis(
            series_name="金牌数量",
            y_axis=df_sorted['金牌'].tolist()
            )
        )
        .reversal_axis()
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title="全运会金牌数量排名TOP25"
            ),
            xaxis_opts=opts.AxisOpts(
                axislabel_opts=opts.LabelOpts(color="#FFFFFF")
            ),
            yaxis_opts=opts.AxisOpts(
                axislabel_opts=opts.LabelOpts(color="#FFFFFF")
            )
        )
    )
    return bar

3.3 金牌分布梯队饼图

def create_gold_tier_pie_chart(df):
    """创建金牌分布梯队饼图"""
    # 计算各梯队数量
    tier_1 = len(df[df['金牌'] >= 15])  # 第一梯队
    tier_2 = len(df[(df['金牌'] >= 10) & (df['金牌'] < 15)])  # 第二梯队
    tier_3 = len(df[(df['金牌'] >= 5) & (df['金牌'] < 10)])  # 第三梯队
    tier_4 = len(df[(df['金牌'] >= 1) & (df['金牌'] < 5)])  # 第四梯队
    tier_0 = len(all_provinces) - len(df)  # 无金牌省份
    
    tier_data = [
        ("第一梯队(15金以上)", tier_1),
        ("第二梯队(10-14金)", tier_2),
        ("第三梯队(5-9金)", tier_3),
        ("第四梯队(1-4金)", tier_4),
        ("暂未获金", tier_0)
    ]
    
    pie = (
        Pie()
        .add(
            series_name="金牌梯队",
            data_pair=tier_data,
            radius=["30%", "70%"],
            center=["50%", "50%"]
        )
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title="各省市金牌分布梯队分析"
            ),
            legend_opts=opts.LegendOpts(
                orient="vertical",
                pos_left="left"
            )
        )
        .set_series_opts(
            label_opts=opts.LabelOpts(
                formatter="{b}: {c}个地区\n({d}%)",
                color="#FFFFFF"
            )
        )
    )
    return pie

3.4 区域金牌总量对比

def create_region_comparison_chart(df):
    """创建区域金牌总量对比图"""
    # 定义区域分组
    regions = {
        "华东": ['山东', '江苏', '浙江', '上海', '安徽', '福建', '江西'],
        "华南": ['广东', '广西', '海南'],
        "华中": ['湖北', '湖南', '河南'],
        "华北": ['北京', '天津', '河北', '山西', '内蒙古'],
        "西南": ['四川', '贵州', '云南', '西藏', '重庆'],
        "西北": ['陕西', '甘肃', '青海', '宁夏', '新疆'],
        "东北": ['辽宁', '吉林', '黑龙江'],
        "特别行政区": ['香港', '澳门', '台湾']
    }
    
    region_gold = {}
    for region, provinces in regions.items():
        total_gold = 0
        for province in provinces:
            if province in df['地区'].values:
                total_gold += df[df['地区'] == province]['金牌'].values[0]
        region_gold[region] = total_gold
    
    # 转换为列表格式
    region_data = [(region, gold) for region, gold in region_gold.items()]
    region_data.sort(key=lambda x: x[1], reverse=True)
    
    bar = (
        Bar()
        .add_xaxis([x[0] for x in region_data])
        .add_yaxis(
            "金牌总数",
            [x[1] for x in region_data]
        )
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title="各区域金牌总量对比"
            ),
            xaxis_opts=opts.AxisOpts(
                axislabel_opts=opts.LabelOpts(
                    color="#FFFFFF",
                    rotate=45
                )
            )
        )
    )
    return bar

四、综合大屏展示

def create_comprehensive_dashboard():
    """创建全运会金牌榜综合可视化大屏"""
    page = Page(
        page_title="第15届全运会即时金牌榜可视化分析大屏",
        layout=Page.DraggablePageLayout,
        bg_color="#1e1e1e"
    )
    
    # 添加各个图表
    page.add(
        create_gold_medal_map(medal_data),
        create_gold_medal_bar_chart(df),
        create_gold_tier_pie_chart(df),
        create_region_comparison_chart(df)
    )
    
    return page

# 生成可视化大屏
if __name__ == "__main__":
    dashboard = create_comprehensive_dashboard()
    dashboard.render("2025_national_games_gold_medal_dashboard.html")

五、数据分析结论

5.1 关键发现:

  1. 明显的梯队分布:山东、广东、江苏形成第一集团,金牌数均超过15枚
  2. 区域发展不均衡:华东地区金牌总数遥遥领先,体现了该地区体育发展的整体优势
  3. 竞争格局激烈:浙江、上海并列第四,多个地区金牌数相同,竞争十分激烈
  4. 覆盖面广泛:25个地区获得金牌,占全国行政区划的70%以上

5.2 区域分析:

  • 华东地区:体育强省集中,山东、江苏、浙江、上海包揽前五名中的四席
  • 华南地区:广东一枝独秀,以19枚金牌稳居第二
  • 西部地区:四川、陕西表现突出,各有6枚金牌入账
  • 东北地区:辽宁获得6金,吉林1金,黑龙江暂未获金

5.3 梯队特征:

  • 第一梯队(15金以上):3个地区,展现超强竞技实力
  • 第二梯队(10-14金):2个地区,具备冲击第一梯队潜力
  • 第三梯队(5-9金):8个地区,中等实力集团
  • 第四梯队(1-4金):12个地区,基础实力群体

六、未来展望

随着全运会赛程的推进,各代表团的竞争将更加激烈。山东代表团能否保持领先优势?广东、江苏是否能够实现反超?中西部地区的代表团是否有黑马出现?让我们拭目以待后续比赛的精彩表现!

数据说明:本分析基于2025年11月12日10:00的实时数据,后续排名可能发生变化。


  注: 博主目前收集了6900+份相关数据集,有想要的可以领取部分数据,关注下方公众号或添加微信:

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐