文章目录
- 前言
- 1. 导入模块
- 2. 数据爬取
- 3. 地图展示
-
- 3.1 2020东京奥运会奖牌数世界分布
- 3.2 2020东京奥运会金牌世界分布
- 3.3 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:
以上就是本期为大家整理的全部内容了,赶快练习起来吧,原创不易,喜欢的朋友可以点赞、收藏也可以分享让更多人知道。