爬虫+可视化 | 动态展示2020东京奥运会奖牌世界分布

文章目录

前言

2020东京奥运会已落下帷幕,中国军团共获得88枚奖牌,其中38枚金牌、32枚银牌、18枚铜牌,金牌榜和奖牌榜仅次于美国,排名第2。

本期主要利用pyecharts给大家展示奥运会金牌、银牌、铜牌以及奖牌总数的世界地图分布,希望对你有所帮助。

先看看效果:在这里插入图片描述

1. 导入模块

​
import requests
import json
import pandas as pd
from pyecharts.charts import Map, Timeline
from pyecharts import options as opts
from pyecharts.commons.utils import JsCode
from pyecharts.globals import ThemeType

 升级 pyecharts 包:
可视化部分需要用到 pyecharts==1.9.0,已安装其他低版本的需要升级,如果未安装过pyecharts,直接pip安装就是最新版本。

2. 数据爬取

数据来源于某视频网站接口,如下图:在这里插入图片描述

爬取部分比较简单,这里不做具体分析,仅给出爬取代码:

url = 'https://app-sc.miguvideo.com/vms-livedata/olympic-medal/total-table/15/110000004609'
r = requests.get(url, timeout=30)
r.raise_for_status()
r.encoding = r.apparent_encoding
datas = r.json()['body']['allMedalData']

df = pd.DataFrame()
for data in datas:
    df = df.append([[
        data['countryName'],
        data['goldMedalNum'],
        data['silverMedalNum'],
        data['bronzeMedalNum'],
        data['totalMedalNum']]])
df.columns = ['国家', '金牌', '银牌', '铜牌', '奖牌']

 结果:

在这里插入图片描述

 

3. 地图展示

3.1 2020东京奥运会奖牌数世界分布

代码:

m0 = (
    Map()
    .add("奖牌数", [list(z) for z in zip(df['国家'].values, df['奖牌'].values)], "world", is_map_symbol_show=False,
         is_roam=False, name_map=name_map)
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(
        title_opts=opts.TitleOpts(title="2020东京奥运会奖牌数世界分布"),
        legend_opts=opts.LegendOpts(is_show=False),
        visualmap_opts=opts.VisualMapOpts(is_show=True, max_=120,
                                          is_piecewise=True,
                                          split_number = 8,
                                         ),
    )
)
m0.render_notebook()

效果:在这里插入图片描述

3.2 2020东京奥运会金牌世界分布

代码:

m1 = (
    Map()
    .add("金牌", [list(z) for z in zip(df['国家'].values, df['金牌'].values)], "world", is_map_symbol_show=False,
         is_roam=False, name_map=name_map)
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(
        title_opts=opts.TitleOpts(title="2020东京奥运会金牌世界分布"),
        legend_opts=opts.LegendOpts(is_show=False),
        visualmap_opts=opts.VisualMapOpts(is_show=True, max_=40,
                                          is_piecewise=True,
                                          split_number = 8,
                                          range_color=['#FFFFE0', '#FFA07A', '#CD5C5C', '#8B0000']
                                         ),
    )
)
m1.render_notebook()

 效果:在这里插入图片描述

3.3 2020东京奥运会金、银、铜世界分布

效果1:

在这里插入图片描述

 效果2:在这里插入图片描述

 以上就是本期为大家整理的全部内容了,赶快练习起来吧,原创不易,喜欢的朋友可以点赞、收藏也可以分享让更多人知道。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值