可视化 | Python精美地图动态展示近20年全国各省市GDP
大家好,我是 👉
本期我们利用Python可视化动态展示2001-2019年全国各省市GDP数据,涉及到pandas数据处理、pyechars数据可视化,希望对你有所帮助。
先看看效果:
🏳️🌈 1. 数据获取
可在线下载到本地,保存为csv或excel格式,用pandas进行读取。
import pandas as pd datas = pd.read_csv(2001-2019各省GDP数据.csv, encoding=gbk)
🏳️🌈 2. 数据可视化
2.1 2019年各省市GDP柱状图(横向)
默认缩放为横向缩放。
代码:
def get_gdp_bar1(datas): c = ( Bar() .add_xaxis(datas[地区].values.tolist()) .add_yaxis(全国各省GDP(亿元), datas[2019年].values.tolist()) .set_global_opts( title_opts=opts.TitleOpts(title=2019年全国各省GDP(亿元)), datazoom_opts=[opts.DataZoomOpts(), opts.DataZoomOpts(type_=inside)], ) .render(2019年全国各省GDP_Bar1.html) )
效果:
2.2 2019年各省市GDP柱状图(纵向)
调整缩放为纵向缩放。
代码:
def get_gdp_bar2(datas): sort_info = datas.sort_values(by=2019年, ascending=True) c = ( Bar() .add_xaxis(sort_info[地区].values.tolist()) .add_yaxis(全国各省GDP(亿元), sort_info[2019年].values.tolist()) .reversal_axis() .set_series_opts(label_opts=opts.LabelOpts(position="right")) .set_global_opts( title_opts=opts.TitleOpts(title=2019年全国各省GDP(亿元)), datazoom_opts=[opts.DataZoomOpts(is_show=True, orient=vertical)], ) .render(2019年全国各省GDP_Bar2.html) )
效果:
2.3 2019年各省市GDP全国地图
地图显示时注意需要对表格中地区数据做去除后缀处理,即将省、市、自治区等去掉,否则无法显示。
代码:
def get_gdp_map1(datas): datas[地区].replace(regex=True, inplace=True, to_replace=[省, 市, 维吾尔自治区, 回族自治区, 壮族自治区, 自治区], value=r) map = ( Map() .add(全国各省GDP(亿元), datas[[地区, 2019年]].values.tolist(), china) .set_global_opts( title_opts=opts.TitleOpts(title=2019年全国各省GDP(亿元)), visualmap_opts=opts.VisualMapOpts(max_=110000), ) ) map.render(2019年全国各省GDP_Map.html)
效果: 默认图例为colorbar。
2.4 2001-2019年每年各省市GDP轮播图
修改图例(分段)、增加时间序列。
代码:
def get_gdp_map2(datas): datas[地区].replace(regex=True, inplace=True, to_replace=[省, 市, 维吾尔自治区, 回族自治区, 壮族自治区, 自治区], value=r) tl = Timeline() # 播放的速度,单位毫秒(ms) tl.add_schema(play_interval=300, symbol=emptydiamond) for i in range(2001, 2020): map0 = ( Map() .add(全国各省GDP(亿元), datas[[地区, str(i) + 年]].values.tolist(), china) .set_global_opts( title_opts=opts.TitleOpts(title={}年全国各省GDP(亿元).format(i)), visualmap_opts=opts.VisualMapOpts(max_=110000,is_piecewise=True), ) ) tl.add(map0, {}年.format(i)) tl.render(2001-2019年全国各省GDP.html)
效果: symbol参数:标记图形,可根据需要设置’circle’, ‘rect’, ‘roundRect’, ‘triangle’, ‘diamond’, ‘pin’, ‘arrow’ 等。
🏳️🌈 3. 可视化项目源码+数据
网盘: https://pan.baidu.com/doc/share/Olj4d~aKuXT7AF0cq01MrQ-437060019167360 提取码: pyra
推荐阅读
下一篇:
自制macOS安装镜像iso虚拟机用