python数据可视化之地图绘制案例分析

在数据可视化领域,地理信息的展示有着无可替代的价值。本篇笔记将通过Python的pyecharts库实现一个中国直辖市GDP数据的地图分布可视化示例,帮助读者了解如何利用该工具进行地图数据渲染。

1. 导入所需模块

首先,我们需要导入pyecharts库中的相关组件:

如何安装请看上一篇博客pyhon数据可视化之折线图案例讲解

python 复制代码
from pyecharts.charts import Map
from pyecharts.options import ToolboxOpts, TitleOpts

Map是用于创建地图图表的对象,而ToolboxOptsTitleOpts分别用于配置图表的工具箱选项和标题选项。

2. 初始化地图对象与数据准备

定义一个Map对象,并准备各直辖市及其对应的GDP数值数据:

复制代码
a = Map()

# 数据集:直辖市名称与其对应的GDP数据(单位:亿元)
date = [
    ("北京市", 31723.1),
    ("上海市", 33019.23),
    ("天津市", 12252.61),
    ("重庆市", 22243.88)
]

3. 设置全局属性

接下来设置图表的基本样式和交互功能:

复制代码
a.set_global_opts(
    # 标题配置
    title_opts=TitleOpts(
        title="全国城市GDP(单位亿元)统计地图",  # 标题内容
        pos_bottom="1%",  # 标题距页面底部距离为1%
        pos_left="center"  # 标题水平居中显示
    ),
    
    # 工具箱配置
    toolbox_opts=ToolboxOpts(is_show=True)  # 启用并显示工具箱
)

4. 绑定数据到地图

现在将GDP数据绑定到地图上,使用的是中国的省份级地图:

复制代码
a.add(
    "地图统计",  # 系列名称
    date,  # 数据列表
    "china"  # 地图区域为中国(省份级)
)

5. 渲染生成HTML文件

最后一步是将绘制好的地图图表渲染成HTML文件以便查看和分享:

复制代码
a.render()  # 默认会在当前目录下生成一个HTML文件

完整代码如下

python 复制代码
# 导入PyEcharts库中的Map图表模块以及全局配置选项模块
from pyecharts.charts import Map
from pyecharts.options import ToolboxOpts, TitleOpts

# 初始化一个Map图表对象,用于绘制中国地图分布数据
a = Map()

# 定义直辖市及其对应的GDP数据
date = [
    ("北京市", 31723.1),
    ("上海市", 33019.23),
    ("天津市", 12252.61),
    ("重庆市", 22243.88)
]

# 设置图表的全局属性,包括标题和工具箱
a.set_global_opts(
    # 设置图表标题,内容为"全国城市GDP(单位亿元)统计地图"
    title_opts=TitleOpts(title="全国城市GDP(单位亿元)统计地图",
                         # 标题距离页面底部的距离设定为1%
                         pos_bottom="1%",
                         # 标题水平居中显示
                         pos_left="center"),

    # 启用并显示工具箱,提供交互功能如保存、缩放等
    toolbox_opts=ToolboxOpts(is_show=True)
)

# 将上述GDP数据添加到地图中,地区名称对应数据值
a.add(
    # 系列名称为"地图统计"
    "地图统计",
    # 数据列表
    date,
    # 使用的地图区域为中国(省份级)
    "china"
)

# 渲染图表并生成HTML文件展示结果,文件名默认与图表对象关联
a.render()

在html页面中找到浏览器图标点击运行

运行结果如下:

说明:工具箱中的按钮可以进行操作;地图可以放大缩小。读者自行体验。

相关推荐
jufeng13072 分钟前
【系列:TDengine 工业物联网实战:从零搭起可运行系统 · 第 4 篇】
python·时序数据库·tdengine·asyncio
努力搬砖的咸鱼7 分钟前
意图理解:让Agent从需求描述自动生成Pytest测试策略
人工智能·python·ai·单元测试·pytest·agent
2601_9563198819 分钟前
2026年下半年,量化学习要把交易认知和技术实现接起来
人工智能·python
EW Frontier26 分钟前
【雷达信号处理】5 个阵元追平 16 个阵元:稀疏阵列 STAP 的实测报告【附python+matlab代码】
python·matlab·信号处理·雷达·mimo·稀疏阵列·stap
YWL39 分钟前
OpenLayers测距测面:完整测量工具
前端·javascript·vue.js·信息可视化·openlayers
卷无止境1 小时前
FastAPI的测试事件在测什么?
后端·python·fastapi
selfsongs1 小时前
Python学习之——multiprocessing 多进程编程
python
卷无止境1 小时前
FastAPI CLI 你需要认识这把命令行利器
后端·python·fastapi
新知图书1 小时前
7.3 面向Agent的提示词设计方法论
人工智能·数据分析·agent·ai agent·智能体
云泽8081 小时前
Python 开发环境搭建全指南:从 Python 安装到 PyCharm 配置详解
开发语言·python·pycharm