2021-08-13——最终项目(待完善)-对比21世纪中美两国在夏季奥运会上的奖(金)牌数量

news/2024/11/28 21:50:04/

21世纪中国与美国夏季奥运会金牌变化图

数据爬取——腾讯体育网

所用excel表格数据为自制(最后对比使的文件数据有更改)

奥运会金牌数(中国)奖牌总数
2020东京3888
2016里约2670
2012伦敦3891
2008北京51100
2004雅典3263
2000悉尼2858
奥运会金牌数(美国)奖牌总数
2020东京39113
2016里约46121
2012伦敦46104
2008北京36110
2004雅典36101
2000悉尼3793

C:\Users\86157\Desktop\工作簿1.xlsx

使用pandas和matplotlib 模块

1.首先绘制中国奖牌变化图

import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel(r"C:\Users\86157\Desktop\奖牌对比.xlsx")                 #导入Excel文件
x=[1,2,3,4,5,6]
y1=df['奖牌总数']
y2=df['金牌数']
fig = plt.figure()
plt.rcParams['font.sans-serif']=['SimHei']  #解决中文乱码
plt.rcParams['axes.unicode_minus'] = False  #用来正常显示负号
ax1 = fig.add_subplot(111)                  #添加子图
plt.title('中国奥运(金)奖牌数的变化')                   #图表标题
#图表x轴标题
plt.xticks(x,['2020东京','2016里约','2012伦敦','2008北京','2004雅典','2000悉尼'])
# ax1.bar(x,y1,label='left')
ax1.set_ylabel('奖牌总数(枚)')           #y轴标签
plt.bar(x,y1,width=0.7,align='center',color='b',alpha=0.7)
for a,b in zip(x,y1):plt.text(a,b,format(b,''),ha='left',va='bottom',fontsize=9,color='b',alpha=0.9)
ax2 = ax1.twinx()                       #共享x轴添加一条y轴坐标轴
ax2.plot(x,y2,color='y',linestyle='--',marker='o',linewidth=2,label=u"金牌数")
ax2.set_ylabel(u"金牌数")
for a,b in zip(x,y2):plt.text(a, b+0.02, '%.f' % b, ha='center', va= 'bottom',fontsize=10,color='red')
plt.show()

运行结果如下:

2.相同方法,绘制美国奖牌变化图 

import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel(r"C:\Users\86157\Desktop\奖牌对比.xlsx",sheet_name='美国奖牌')                 #导入Excel文件
x=[1,2,3,4,5,6]
y1=df['奖牌总数']
y2=df['金牌数']
fig = plt.figure()
plt.rcParams['font.sans-serif']=['SimHei']  #解决中文乱码
plt.rcParams['axes.unicode_minus'] = False  #用来正常显示负号
ax1 = fig.add_subplot(111)                  #添加子图
plt.title('美国奥运(金)奖牌数的变化')                   #图表标题
#图表x轴标题
plt.xticks(x,['2020东京','2016里约','2012伦敦','2008北京','2004雅典','2000悉尼'])
# ax1.bar(x,y1,label='left')
ax1.set_ylabel('奖牌总数(枚)')           #y轴标签
plt.bar(x,y1,width=0.7,align='center',color='y',alpha=0.7)
for a,b in zip(x,y1):plt.text(a,b,format(b,''),ha='left',va='bottom',fontsize=9,color='b',alpha=0.9)
ax2 = ax1.twinx()                       #共享x轴添加一条y轴坐标轴
ax2.plot(x,y2,color='c',linestyle='-.',marker='o',linewidth=2,label=u"金牌数")
ax2.set_ylabel(u"金牌数(枚)")
for a,b in zip(x,y2):plt.text(a, b+0.02, '%.f' % b, ha='center', va= 'bottom',fontsize=10,color='red')
plt.show()

3.将两张图标放置在一页图表中进行比较 

import pandas as pd
import matplotlib.pyplot as pltdf=pd.read_excel(r"C:\Users\86157\Desktop\奖牌对比.xlsx",sheet_name='中国奖牌')                 #导入Excel文件
x=[1,2,3,4,5,6]
y1=df['金牌数']
y2=df['金牌数2']
fig = plt.figure()
plt.rcParams['font.sans-serif']=['SimHei']  #解决中文乱码
plt.rcParams['axes.unicode_minus'] = False  #用来正常显示负号
ax1 = fig.add_subplot(111)                  #添加子图
plt.title('奥运(金)奖牌数对比')                   #图表标题
#图表x轴标题
plt.xticks(x,['2020东京','2016里约','2012伦敦','2008北京','2004雅典','2000悉尼'])
# ax1.bar(x,y1,label='left')
ax1.set_ylabel('奖牌总数(枚)')           #y轴标签ax1.plot(x,y1,color='c',linestyle='-.',marker='o',linewidth=2,label=u"金牌数")
ax1.set_ylabel(u"金牌数(枚)")
for a,b in zip(x,y1):plt.text(a, b+0.02, '%.f' % b, ha='center', va= 'bottom',fontsize=10,color='red')ax1.plot(x,y2,color='b',linestyle='--',marker='o',linewidth=2,label=u"金牌数")
ax1.set_ylabel(u"金牌数(枚)")
for a,b in zip(x,y2):plt.text(a, b+0.02, '%.f' % b, ha='center', va= 'bottom',fontsize=10,color='red')
plt.legend(['中国金牌数','美国金牌数'])       #图例
plt.show()

运行结果如下所示:

简单的数据对比

美国的夏季奥运会的金牌数量保持在较高的水平。除2008年的本土作战外,中国大陆体育代表团的金牌数一直略低于美国的金牌数。


http://www.ppmy.cn/news/354590.html

相关文章

为2020东京奥运会不被黑客攻击,日本人下了血本

黑客职业是怎样的?黑客主要通过bug赏金建立成功的职业生涯,黑客正在成为世界上最赚钱的工作之一,在美国的收入超过医生和建筑师。医生平均收入198,000美元,建筑师平均收入116,000美元; 与此同时,收入最高的黑客正在赚取…

08奥运会圣火采地

希腊奥委会2月27日举行会议,一致通过决定,由演员玛利亚娜芙普利都担任第二十九届北京奥运会圣火采集仪式最高祭司。 玛利亚是自1936年开始圣火采集仪式以来的第十位最高女祭司,是第九位夏季奥运会圣火采集仪式最高女祭司。 按计划&#xff0c…

袁永福对北京奥运会的评论

[袁永福(http://www.xdesigner.cn/ )原创,转载请注明出处] 随着2008年第29届北京夏季奥运会闭幕式的结束,北京奥运会已经结束了,可以盖棺定论了。 中国政府为这次奥运会动用了三千多亿的投入,其中大部分用于北京城市建设&#xff…

北京奥运会各国美女帅哥旗手

北京奥运会各国美女帅哥旗手 俄罗斯:莎拉波娃 6月24日,俄罗斯就已经宣布"网坛第一美女"莎拉波娃将出任北京奥运会俄罗斯代表团的旗手!她也是俄罗斯第一位女旗手 法国:托埃斯唐盖 托埃斯唐盖是男子划艇运动员&#xff0c…

东京奥运会闭幕式,中国队88枚奖牌收官!

北京时间8月8日晚,第32届夏季奥林匹克运动会在日本东京举行闭幕式。苏炳添作为中国代表团旗手,举着五星红旗出场。运动员就位后,现场灯光变暗,灯光特效在空中呈现出了,奥运光之五环,随着奥运主火炬塔里的奥…

Web前端大作业—里约热内卢奥运会(html+css+javascript)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

东京奥运会完美收官,来看看这届奥运会都有哪些人工智能黑科技

东京奥运会闭幕式 8月8日晚,雨后东京湾的天幕上出现了“双彩虹”,新国立竞技场一片欢腾。16天前,在这里,全球见证了奥林匹克五环旗的缓缓升起。过去16天里,在奥林匹克精神的感召下,上万名运动员在东京奥运…

NEC面部识别技术助力夏季听障奥运会入场安全

近日,NEC集团宣布NEC土耳其公司为在土耳其萨姆松举办的第23届夏季听障奥运会提供了面部识别入场管理系统。 夏季听障奥运会是面向有听觉障碍的残障人士的体育赛事,每四年举办一次。今年的夏季听障奥运会在7月18日~30日期间举办,来…