Pyecharts 地图与柱状图组合:展示中国各省 GDP 数据
Pyecharts 地图与柱状图组合展示中国各省 GDP 数据
本文将使用 Pyecharts 库将地图和柱状图结合,展示中国各省 GDP 数据,并利用时间线功能实现动态展示。地图显示各省 GDP 总量,柱状图展示各省 GDP 排名。
代码实现
from pyecharts import options as opts
from pyecharts.charts import Bar, Grid, Map, Timeline
import pandas as pd
datas = pd.read_csv('2001-2019各省GDP数据.csv', encoding='gbk')
def get_gdp_map2(datas):
# 创建时间线
tl = Timeline()
# 播放的速度,单位毫秒(ms)
tl.add_schema(play_interval=500, symbol='emptydiamond')
# 创建地图和柱状图
maps = []
bars = []
for i in range(2001, 2020):
# 创建地图
map_chart = (
Map()
.add('全国各省GDP(亿元)', datas[['地区', str(i) + '年']].values.tolist(), 'china')
.set_global_opts(
title_opts=opts.TitleOpts(title='{}年全国各省GDP(亿元)'.format(i)),
visualmap_opts=opts.VisualMapOpts(is_show=True, max_=110000, is_piecewise=True),
)
)
# 创建柱状图
bar_chart = (
Bar()
.add_xaxis(datas['地区'].values.tolist())
.add_yaxis('GDP(亿元)', datas[str(i) + '年'].values.tolist())
.set_global_opts(
title_opts=opts.TitleOpts(title='{}年各省GDP排名'.format(i)),
visualmap_opts=opts.VisualMapOpts(is_show=False),
xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-45))
)
)
maps.append(map_chart)
bars.append(bar_chart)
# 将地图和柱状图放入Grid组件中
grid = (
Grid()
.add(
maps[0],
grid_opts=opts.GridOpts(pos_top='center', pos_right='55%', width='45%')
)
.add(
bars[0],
grid_opts=opts.GridOpts(pos_left='55%', pos_bottom='5%', width='45%')
)
)
for i in range(1, len(maps)):
grid.add(maps[i], grid_opts=opts.GridOpts(pos_top='center', pos_right='55%', width='45%'))
grid.add(bars[i], grid_opts=opts.GridOpts(pos_left='55%', pos_bottom='5%', width='45%'))
# 将Grid组件添加到时间线中
tl.add(grid, '{}年'.format(i))
# 生成html文件
tl.render('2001-2019年全国各省GDP.html')
get_gdp_map2(datas)
使用说明
- 将以上代码保存为 Python 文件,例如
gdp_map_bar.py - 准备数据文件
2001-2019各省GDP数据.csv,包含各省份的 GDP 数据,每列代表年份,每行代表省份 - 运行 Python 文件
python gdp_map_bar.py - 代码会生成 HTML 文件
2001-2019年全国各省GDP.html,打开该文件即可查看动态效果
功能说明
- 代码使用 Pyecharts 库创建地图和柱状图
- 地图使用
Map类,柱状图使用Bar类 - 使用
Grid组件将地图和柱状图放在同一张画布的不同位置 - 使用
Timeline组件实现时间线动画效果,展示不同年份的 GDP 数据 - 柱状图使用
xaxis_opts设置 X 轴标签旋转,避免标签重叠
结果展示
运行代码后,生成的 HTML 文件会展示动态效果:
- 地图中,不同颜色的省份代表不同的 GDP 总量
- 柱状图中,柱子的高度代表各省 GDP 排名
- 时间线控制播放动画,可以查看不同年份的 GDP 数据变化
总结
本文通过 Pyecharts 库将地图和柱状图结合,并利用时间线功能,实现展示中国各省 GDP 数据的动态效果,方便用户进行数据分析和理解。
原文地址: https://www.cveoy.top/t/topic/eTAo 著作权归作者所有。请勿转载和采集!