大家好,我是 【Python当打之年(点击跳转)】
2023年8月8日,第三十一届世界大学生夏季运动会闭幕式在四川省成都市隆重举行。本届大运会中国体育代表团获得103枚金牌、178枚奖牌,名列金牌榜和奖牌榜首位,这是中国队参加历届大运会以来,所获金牌数的最高纪录,中国也因此成为大运会历史上第二个在一届大运会上金牌总数破百的国家。
本期利用 python 的 pyecharts 可视化库分析 成都大运会奖牌数据,希望对大家有所帮助,希望对大家有所帮助,如有疑问或者需要改进的地方可以联系小编。
涉及到的库:
Pandas — 数据处理
Pyecharts — 数据可视化
import pandas as pd
from pyecharts.charts import Line
from pyecharts.charts import Bar
from pyecharts.charts import Funnel
from pyecharts.charts import Map
from pyecharts.charts import WordCloud
from pyecharts import options as opts
df1 = pd.read_csv('成都大运会奖牌榜.csv')
df2 = pd.read_csv('./成都大运会奖牌榜奖牌明细.csv')
df2.info()
df2['日期'] = df2['日期'].astype('str')
df2['日期'] = pd.to_datetime(df2['日期'])
df2['日期_s'] = df2['日期'].astype('str')
def get_bar1(x_data,y_data1,y_data2):
bar1 = (
Bar()
.add_xaxis(x_data)
.add_yaxis('中国奖牌',y_data2,category_gap=20)
.add_yaxis('其他国家奖牌',y_data1,category_gap=20)
.extend_axis(yaxis=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter="{value}%")))
.set_global_opts(
legend_opts=opts.LegendOpts(is_show=True,pos_top='15%',pos_right='40%'),
title_opts=opts.TitleOpts(
title='1-每日奖牌数量分布',
subtitle='-- 制图@公众号:Python当打之年 --',
pos_top='1%',
pos_left="1%",
),
)
)
line = (
Line()
.add_xaxis(x_data)
.add_yaxis("中国奖牌比例", y_data3, yaxis_index=1, z_level=1,symbol_size=8,
label_opts=opts.LabelOpts(color='#00B8D4')
)
)
bar1.overlap(line)
def get_bar2(x_data,y_data1,y_data2,y_data3):
bar2 = (
Bar(init_opts=opts.InitOpts(theme='dark',width='1000px', height='800px',bg_color='#0d0735'))
.add_xaxis(x_data)
.add_yaxis("金牌数️", y_data1, stack="stack1")
.add_yaxis("银牌数",y_data2, stack="stack1")
.add_yaxis("铜牌数",y_data3, stack="stack1")
.set_global_opts(
title_opts=opts.TitleOpts(
title='2-奖牌榜单TOP20金银铜牌分布',
subtitle='-- 制图@公众号:Python当打之年 --',
pos_top='1%',
pos_left="1%",
),
legend_opts=opts.LegendOpts(pos_right="20%", pos_top="25%", orient="vertical")
)
.reversal_axis()
)
def get_map(datas):
m = (
Map()
.add("", datas, "world",is_map_symbol_show=False)
.set_global_opts(
title_opts=opts.TitleOpts(
title='5-各国奖牌数量地图分布',
subtitle='-- 制图@公众号:Python当打之年 --',
pos_top='1%',
pos_left="1%",
),
visualmap_opts=opts.VisualMapOpts(
is_show=True,
pos_left='10%',
pos_bottom='10%'
),
)
)
点击跳转:【全部可视化项目源码+数据】
以上就是本期为大家整理的全部内容了,赶快练习起来吧,原创不易,喜欢的朋友可以点赞、收藏也可以分享(注明出处)让更多人知道。