使用 Grid 组件在 Pyecharts 地图中添加柱状图

本文介绍如何使用 Pyecharts 的 Grid 组件,将地图和柱状图显示在同一张画布的不同位置,并实现根据年份动态展示不同年份的全国各省 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()
    tl.add_schema(play_interval=500, symbol='emptydiamond')
    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['地区'].tolist())
            .add_yaxis('GDP(亿元)', datas[str(i) + '年'].tolist())
            .reversal_axis()
            .set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-30)))
        )
        
        # 创建Grid组件,将地图和柱状图显示在同一张画布的不同位置
        grid_chart = (
            Grid()
            .add(map_chart, grid_opts=opts.GridOpts(pos_top='center', pos_right='55%', pos_bottom='5%', pos_left='5%'))
            .add(bar_chart, grid_opts=opts.GridOpts(pos_top='55%', pos_right='55%', pos_bottom='5%', pos_left='5%'))
        )
        
        tl.add(grid_chart, '{}年'.format(i))
        
    tl.render('2001-2019年全国各省GDP.html')

代码解释

  1. 创建地图和柱状图: 首先,分别创建 MapBar 对象,设置对应的数据和样式,其中 Bar 对象使用 reversal_axis() 方法将横纵坐标互换,并将 x 轴标签旋转 -30 度,以便更好地显示省份名称。
  2. 创建 Grid 组件: 使用 Grid 对象将地图和柱状图添加到同一张画布上。通过 grid_opts 参数设置每个图表的位置,pos_toppos_rightpos_bottompos_left 分别表示距离画布上、右、下、左边界的距离。
  3. 添加 Timeline: 使用 Timeline 对象实现动态展示,通过 add_schema 方法设置播放间隔时间和符号样式,通过 add 方法将每个年份的 grid_chart 对象添加到 Timeline 中。

总结

通过以上代码,我们成功地将地图和柱状图显示在同一张画布的不同位置,并实现了根据年份动态展示不同年份的全国各省 GDP 数据,以及排名前十的省份 GDP 数据。你可以根据实际情况调整 Grid 组件的 grid_opts 参数来实现不同的布局效果。

注意: 你需要将 2001-2019各省GDP数据.csv 文件放在代码同目录下,并确保数据文件包含省份名称和对应年份的 GDP 数据。


原文地址: https://www.cveoy.top/t/topic/eSLJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录