当前位置:首页 > 科技数码

2012奥运会中国奖牌数专题之中国奥运会成绩,知道多少?13张图告诉你

你好,我是彼得~

虽然最近奥运会也是热门事件,但对本届奥运会有很多值得吐槽的地方,所以不想用小岛国的烧鸡操作。

所以彼得从网上收集的我国首次参加1984年夏季奥运会到2016年历届奥运会获奖情况,了解了历届奥运会的成绩。

数据整理成宽表和长表两种形式,进行简单的数据处理和不同方式的可视化图形展示,方便大家了解我国的奥运会成绩。

文中全程使用的绘图工具是高级可视化库:plotly

往期精选

本文使用的数据很简单,但是涉及到了很多之前关于Plotly绘图和Python的文章,推荐阅读:

可视化神器Plotly玩转子图

55个案例:吃透Python字符串格式化

图解Pandas的groupby机制

可视化神器Plotly玩转直方图

可视化神器Plotly玩转气泡图

酷炫!高级可视化神器Plotly玩转饼图

图形预览

看看部分图形效果展示:

导入库

导入的库主要是两种:数据处理和绘图相关

# 数据处理相关 import pandas as pd import numpy as np # 绘图相关 import as px import as go from import make_subplots # 制作多子图

两种形式数据

从网上收集的中国队历届夏季奥运会获奖情况,整理成两种形式:宽表和长表

1、宽表

宽表形式是将字段尽可能多罗列出来

2、长表

长表形式是将字段尽可能减少,同一个字段的数据信息可能出现重复

中国参加了多少届夏季奥运会

主要讲解的是Python中字符串格式化的知识点,3种不同的格式化展示方式:

  • 占位符%s
  • format()
  • f-string

总奖牌数

展示的是中国历届奥运会的总奖牌数变化趋势:

fig = (df,x="地点",y="总数",text="总数") (title="中国获得总奖牌数") ()

从结果的图形中,我们看到2008年是最多的,刚好是100枚毕竟是家门口的比赛

fig = ( df, x="地点", y="总数", color="金牌", size="总数", text="总数" ) ()

男子和女子金牌对比

从结果中我们可以看出来:

  • 1984年第一次参加奥运会,男子金牌数量是高于女子的
  • 此后,每届都是女子高于男子:巾帼不让须眉

多指标变化

fig = go.Figure() ( x=df["年份"].tolist(), y=df["总数"].tolist(), name="总数" )) ( x=df["年份"].tolist(), y=df["金牌"].tolist(), name="金牌" )) ( x=df["年份"].tolist(), y=df["银牌"].tolist(), name="银牌" )) ( x=df["年份"].tolist(), y=df["铜牌"].tolist(), name="铜牌" )) ( x=df["年份"].tolist(), y=df["金牌榜"].tolist(), name="金牌榜" )) ( x=df["年份"].tolist(), y=df["男子金牌"].tolist(), name="男子金牌" )) ( x=df["年份"].tolist(), y=df["女子金牌"].tolist(), name="女子金牌" )) ()

多指标变化

通过子图的形式展示不同指标的变化趋势:

# 两个基本参数:设置行、列 fig = make_subplots(rows=4, cols=2, subplot_titles=["奖牌总数","金牌","银牌","铜牌","金牌榜","男子金牌","女子金牌","金牌占比"]) # 添加数据轨迹 ( x=df["年份"].tolist(), y=df["总数"].tolist(), name="总数" ),1,1) ( x=df["年份"].tolist(), y=df["金牌"].tolist(), name="金牌" ),1,2) ( x=df["年份"].tolist(), y=df["银牌"].tolist(), text=df["银牌"].tolist(), textposition="outside", name="银牌" ),2,1) ( x=df["年份"].tolist(), y=df["铜牌"].tolist(), name="铜牌" ),2,2) ( x=df["年份"].tolist(), y=df["金牌榜"].tolist(), mode="markers+text", text=df["金牌榜"].tolist(), textposition="bottom center", # 位置 name="金牌榜" ),3,1) ( x=df["年份"].tolist(), y=df["男子金牌"].tolist(), name="男子金牌" ),3,2) ( x=df["年份"].tolist(), y=df["女子金牌"].tolist(), name="女子金牌" ),4,1) ( x=df["年份"].tolist(), y=df["金牌占比"].tolist(), mode="lines+markers", text=df["金牌占比"].tolist(), textposition="top center", name="金牌占比" ),4,2) # 设置图形的宽高和标题 (height=600, width=800, title_text="奥运会奖牌可视化") ()

雷达图

雷达图展示的是不同年份的获奖情况

import as go categories = ['金牌','银牌','铜牌'] fig = go.Figure() polar( r=df.iloc[0,2:5].tolist(), theta=categories, fill='tonext', name='洛杉矶-1984' )) polar( r=df.iloc[1,2:5].tolist(), theta=categories, fill='tonext', name='汉城-1988' )) polar( r=df.iloc[2,2:5].tolist(), theta=categories, fill='tonext', name='巴塞罗那-1992' )) polar( r=df.iloc[3,2:5].tolist(), theta=categories, fill='tonext', name='亚特兰大-1996' )) polar( r=df.iloc[4,2:5].tolist(), theta=categories, fill='tonext', name='悉尼-2000' )) polar( r=df.iloc[5,2:5].tolist(), theta=categories, fill='tonext', name='雅典-2004' )) polar( r=df.iloc[6,2:5].tolist(), theta=categories, fill='tonext', # ['none', 'toself', 'tonext'] name='北京-2008' )) polar( r=df.iloc[7,2:5].tolist(), theta=categories, fill='tonext', name='伦敦-2012' )) polar( r=df.iloc[8,2:5].tolist(), theta=categories, fill='tonext', name='里约热内卢-2016' )) ( polar=dict( radialaxis=dict( visible=True, range=[0, 54] )), showlegend=True ) ()

小结:从雷达图的不同维度顶端触角,就可以观察到各自的最大值,比如金牌和铜牌最多的就是北京奥运会,银牌最多的是伦敦奥运会

⚠️:上面的图形都是基于宽表形式的数据,下面是基于长表形式

金银铜牌对比

3种不同奖牌的地点(年份)对比情况:

(df2, x="地点", y="数量", color="奖牌", text="数量", barmode="group" )

多子图-不同年份的3种奖牌数

# 不共享y轴 fig = ( df2, x="排名", y="数量", color="奖牌", size="数量", facet_col="年份", facet_col_wrap=3 ) #(matches=None) # 不共享y轴 ()

图形解释:

  1. 横坐标:整体的排名。越靠左,数值越小,排名靠前。可以看到北京奥运会是最棒的:整体排名靠左
  2. 纵坐标:每个奖牌的数量,气泡越大,数量越多。银牌是2012年伦敦,铜牌是2008年北京(看点的高度)

3种奖牌整体占比

3种奖牌不同年份占比

3种奖牌在不同届奥运会的占比情况:

# 两个基本参数:设置行、列 fig = make_subplots(rows=3, cols=3, horizontal_spacing=0.08, vertical_spacing=0.1, column_widths=[0.4,0.4,0.4], specs=[[{"type":"domain"},{"type":"domain"},{"type":"domain"}], [{"type":"domain"},{"type":"domain"},{"type":"domain"}], [{"type":"domain"},{"type":"domain"},{"type":"domain"}] ], subplot_titles=["1984-洛杉矶","1988-汉城","1992-巴塞罗那","1996-亚特兰大", "2000-悉尼","2004-雅典","2008-北京","2012-伦敦","2016-里约热内卢"]) ( labels=df2["奖牌"][:3].tolist(), values=df2["数量"][:3].tolist(), name="1984-洛杉矶" ),1,1) ( labels=df2["奖牌"][:3].tolist(), values=df2["数量"][3:6].tolist(), name="1988-汉城" ),1,2) ( labels=df2["奖牌"][:3].tolist(), values=df2["数量"][6:9].tolist(), name="1992-巴塞罗那" ),1,3) ( labels=df2["奖牌"][:3].tolist(), values=df2["数量"][9:12].tolist(), name="1996-亚特兰大" ),2,1) ( labels=df2["奖牌"][:3].tolist(), values=df2["数量"][12:15].tolist(), name="2000-悉尼" ),2,2) ( labels=df2["奖牌"][:3].tolist(), values=df2["数量"][15:18].tolist(), name="2004-雅典" ),2,3) ( labels=df2["奖牌"][:3].tolist(), values=df2["数量"][18:21].tolist(), name="2008-北京" ),3,1) ( labels=df2["奖牌"][:3].tolist(), values=df2["数量"][21:24].tolist(), name="2012-伦敦" ),3,2) ( labels=df2["奖牌"][:3].tolist(), values=df2["数量"][24:27].tolist(), name="2016-里约热内卢" ),3,3) (hole=0.2) ()

从图形可以看出来:

  • 北京奥运会占比最高:51%;其次是雅典奥运会
  • 1988年的汉城奥运会最低,才17.9%

3种奖牌旭日图

(df2,path=["奖牌","地点"], values="数量", color="年份", color_continuous_scale="RdBu" )

根据3种奖牌的旭日图,能够看到3种奖牌各自的排序:

  • 金牌:北京、伦敦、雅典
  • 银牌:伦敦、亚特兰大、巴塞罗那
  • 铜牌:北京、里约热内卢、伦敦

总结

本文通过不同的可视化图形展示了我国的获奖情况,数据显示在北京奥运会中取得成绩是最亮眼的;其次,女子的金牌一直都是高于男子,女队员真的是巾帼不让须眉。希望在这次奥运会中国队再创辉煌!中国队,yyds!

1.《2012奥运会中国奖牌数专题之中国奥运会成绩,知道多少?13张图告诉你》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《2012奥运会中国奖牌数专题之中国奥运会成绩,知道多少?13张图告诉你》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/2071188.html

上一篇

2018刑侦科推理试题,干货看这篇!这是中国警察考的刑侦科试题,想当福尔摩斯的来试试

下一篇

【00后女孩当妈】“高考可以再来,但妈妈只有一个!”红河这个00后姑娘的故事让人心疼……

关于2012奥运会中国奖牌数我想说巨大惊喜!东京奥运会又一大项结束:中国赛艇1金2铜,创3大历史

关于2012奥运会中国奖牌数我想说巨大惊喜!东京奥运会又一大项结束:中国赛艇1金2铜,创3大历史

2012奥运会中国奖牌数相关介绍,北京时间7月30日,东京奥运会赛艇项目全部结束,最终14枚金牌成为东道主,中国队给外界带来了巨大的惊喜,女子8人独轮有掌舵决赛,再次获得白银。因此,该项目最终以1金、2铜结束,建立了三大历史。(威廉莎...

2012奥运会中国奖牌数专题之老司机奥运速成手册丨中国跳水,为何被称为梦之队?

2012奥运会中国奖牌数专题之老司机奥运速成手册丨中国跳水,为何被称为梦之队?

2012奥运会中国奖牌数相关介绍,资料图:雅加达亚运会跳水比赛落下帷幕,比赛结束后拍摄了中国跳水队家属照片。 中新社记者 杜洋 摄 中新网客户端北京7月25日电(刘星晨) 以一套套近乎完美的动作结束所有轮次,清澈的水中泛起点点涟漪,中...

2012奥运会中国奖牌数看这里!回顾近三年奥运会奖牌数,中国2016年注定低迷。

2012奥运会中国奖牌数看这里!回顾近三年奥运会奖牌数,中国2016年注定低迷。

2012奥运会中国奖牌数相关介绍,2016年夏季奥运会在巴西如期举行,直到8月21日结束,今年中国军团就是这样。好的第二名稳定下来了。现在,金牌得主第三名,这第三名能否保住还是个未知数。 一、2016年的奥运会中国军团将是低迷的。为什...

【2012奥运会中国奖牌数】专题独家!北京奥运中国选手奖牌明细榜(订正版) 金榜第1 奖牌3罚3补

【2012奥运会中国奖牌数】专题独家!北京奥运中国选手奖牌明细榜(订正版) 金榜第1 奖牌3罚3补

2012奥运会中国奖牌数相关介绍,#《闪光瞬间》主题随笔第二阶段# 单个会话中最 2008年北京奥运会是中国首次举办奥运会。 中国代表团以48枚金牌、22枚银牌、30枚铜牌首次冲至金牌榜首位。奖牌数也首次突破100枚大关。 中国本获5...

关于2012奥运会中国奖牌数我想说盘点|38金32银18铜!中国奥运代表团交出出色答卷

  • 关于2012奥运会中国奖牌数我想说盘点|38金32银18铜!中国奥运代表团交出出色答卷
  • 关于2012奥运会中国奖牌数我想说盘点|38金32银18铜!中国奥运代表团交出出色答卷
  • 关于2012奥运会中国奖牌数我想说盘点|38金32银18铜!中国奥运代表团交出出色答卷

【2012奥运会中国奖牌数】专题盘点|38金32银18铜!中国奥运代表团交出出色答卷

  • 【2012奥运会中国奖牌数】专题盘点|38金32银18铜!中国奥运代表团交出出色答卷
  • 【2012奥运会中国奖牌数】专题盘点|38金32银18铜!中国奥运代表团交出出色答卷
  • 【2012奥运会中国奖牌数】专题盘点|38金32银18铜!中国奥运代表团交出出色答卷

2012奥运会中国奖牌数,干货看这篇!盘点|38金32银18铜!中国奥运代表团交出出色答卷

  • 2012奥运会中国奖牌数,干货看这篇!盘点|38金32银18铜!中国奥运代表团交出出色答卷
  • 2012奥运会中国奖牌数,干货看这篇!盘点|38金32银18铜!中国奥运代表团交出出色答卷
  • 2012奥运会中国奖牌数,干货看这篇!盘点|38金32银18铜!中国奥运代表团交出出色答卷

2012奥运会中国奖牌数专题之不被注意的残奥会——中国历届残奥会奖牌数

  • 2012奥运会中国奖牌数专题之不被注意的残奥会——中国历届残奥会奖牌数
  • 2012奥运会中国奖牌数专题之不被注意的残奥会——中国历届残奥会奖牌数
  • 2012奥运会中国奖牌数专题之不被注意的残奥会——中国历届残奥会奖牌数