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

文章目录

  • 前言
  • 1. 导入模块
  • 2. 数据爬取
  • 3. 地图展示
    • 3.1 2020东京奥运会奖牌数世界分布
    • 3.2 2020东京奥运会金牌世界分布
    • 3.3 2020东京奥运会金、银、铜世界分布
  • ️‍ 4. 可视化项目源码+数据
  • 推荐阅读

前言

大家好,我是 【Python当打之年】

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

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

先看看效果:
爬虫+可视化 | 动态展示2020东京奥运会奖牌世界分布_第1张图片

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. 数据爬取

数据来源于某视频网站接口,如下图:

爬虫+可视化 | 动态展示2020东京奥运会奖牌世界分布_第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 = ['国家', '金牌', '银牌', '铜牌', '奖牌']

结果:

爬虫+可视化 | 动态展示2020东京奥运会奖牌世界分布_第3张图片

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()

效果:
爬虫+可视化 | 动态展示2020东京奥运会奖牌世界分布_第4张图片

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()

效果:
爬虫+可视化 | 动态展示2020东京奥运会奖牌世界分布_第5张图片

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

效果1:
爬虫+可视化 | 动态展示2020东京奥运会奖牌世界分布_第6张图片

效果2:

爬虫+可视化 | 动态展示2020东京奥运会奖牌世界分布_第7张图片

️‍ 4. 可视化项目源码+数据

网盘: https://pan.baidu.com/doc/share/Olj4d~aKuXT7AF0cq01MrQ-437060019167360
提取码: pyra


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

推荐阅读

Pandas+Pyecharts | 北京某平台二手房数据分析+可视化
Pandas+Pyecharts | 2021中国大学综合排名分析+可视化
可视化 | Python绘制高颜值台风地理轨迹图
可视化 | 用Python分析近5000个旅游景点,告诉你假期应该去哪玩
可视化 | Python精美地图动态展示近20年全国各省市GDP
可视化 | Python陪你过520:在你身边,你在身边
爬虫 | Python送你王者荣耀官网全套皮肤
爬虫 | 用python构建自己的IP代理池,再也不担心IP不够用啦!
技巧 | 20个Pycharm最实用最高效的快捷键(动态展示)
技巧 | 5000字超全解析Python三种格式化输出方式【% / format / f-string】
技巧 | python定时发送邮件(自动添加附件)
爬虫 | Python送你王者荣耀官网全套皮肤
爬虫 | 用python构建自己的IP代理池,再也不担心IP不够用啦!

文章首发微信公众号 “Python当打之年” ,每天都有python编程技巧推送,希望大家可以喜欢
在这里插入图片描述

你可能感兴趣的:(Python可视化系列,Python爬虫,Pyecharts系列,可视化,数据可视化,python)