Python使用Pyecharts绘制动态地图:Map与Geo实战教程

Ruby
Ruby
发布时间:2026-10-13| 5人浏览过
原创

本文介绍如何利用Python库Pyecharts绘制动态地图。通过安装pyecharts及对应地图数据包,结合pandas处理CSV数据,使用Geo组件的effectScatter类型生成带有发散动画效果的HTML动态地图。示例展示了如何循环处理月度数据,批量生成展示城市酒店分布的动态网页文件,适用于需要可视化地理分布数据的开发场景。

Pyecharts动态地图入门

许多从事数据可视化的开发者都熟悉Echarts,但对于主要使用Python的小白用户而言,Pyecharts是一个功能强大的工具。以下是一个关于如何使用该库实现动态地图的具体实践案例。

假设我们拥有一组虚拟数据,记录了全国各城市的酒店数量。现在的问题是,如何在地图上直观地展示这些数据?

环境安装与配置

首先,在Python环境中需要安装Pyecharts库。

安装完成后,还需添加相应的地图数据包以支持地理渲染。

安装Pyecharts后,根据实际需求(如城市、省份等)下载对应的地图包。以下整理了相关包列表,用户可根据需要选择下载。


pip install pyecharts
pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
pip install echarts-china-counties-pypkg
pip install echarts-china-misc-pypkg

数据可视化实现

完成安装后,即可开始绘制图形。


from pyecharts import Bar
from pyecharts import Map, Geo
import pandas as pd 
#读取数据
inpath = 'D:/Users/traindatas/map_2.csv' #数据路径
data = pd.read_csv(inpath , header = 'infer') #读取数据
 
#浏览数据
data.head()

数据展示如下:这里演示的是2019年1月至9月每月城市酒店数量的变化情况,其中每个月的数据以该月的1号作为代表。

由于每个城市包含9条数据,因此需要通过循环生成9张MAP地图,以展示每个月各城市的具体情况。


#取出日期
IsDuplicated = data['effectdate'] 
list_of_month = list(IsDuplicated.drop_duplicates())
 
#循环,做出每个月的分布图
for month in list_of_month:
 # 城市酒店数
 df = data[data['effectdate'] == month]
 indexs = list(df['cityname'])
 values = list(df['masterhotelid'])
 
 geo = Geo("全国酒店分布", str(month) + "全国酒店分布", title_color="#fff", title_pos="center", width=1200, height=600, background_color='#404a59')
 
 # type="effectScatter", is_random=True, effect_scale=5 使点具有发散性
 geo.add("全国酒店分布", indexs, values, type="effectScatter", is_random=True, effect_scale=5, visual_range=[0, 900],visual_text_color="#fff", symbol_size=15, is_visualmap=True, is_roam=False)
 
 
 #geo.show_config()
 filepath = 'D:/Users/pythonfeature/map/' +str(month) + '_month.html'
 geo.render(path=filepath)

这样便在指定文件夹下生成了9张图表。我们随机打开一张查看:虽然本地图片中的点是动态的,但由于HTML文件无法直接上传预览,这里展示了一张导出的PNG静态图片,读者可自行尝试查看动态效果。

下图即为上述代码生成的9张图表,文件格式为HTML。

打开其中一张图片进行查看~

当然,Pyecharts提供的图形种类非常丰富,后续还将分享其他类型的图形绘制方法。

以上就是本文的全部内容,希望对各位的学习有所帮助,也欢迎大家继续支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。