【数据可视化-92】使用 Pyecharts 绘制乡镇街道级地图:以安徽省黄山市休宁县为例(我的老家)
🧑 博主简介:曾任某智慧城市类企业
算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907)
💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

【数据可视化-92】使用 Pyecharts 绘制乡镇街道级地图:以安徽省黄山市休宁县为例(我的老家)
- 一、引言
- 二、准备工作
- 2.1 获取 GeoJSON 数据
- 2.2 生成数据
- 三、绘制地图
- 3.1 初始化地图
- 3.2 渲染地图
- 四、完整代码
- 五、运行结果
- 4.1 地图展示
- 4.2 数据可视化
- 五、总结
一、引言
在数据可视化中,地理信息的展示是极为重要的一环。Pyecharts 提供了强大的地图绘制功能,但默认的地图库仅支持到区县级别。当我们需要绘制乡镇街道级别的地图时,就需要自定义地图数据。本文将详细介绍如何使用 Pyecharts 绘制乡镇街道级地图,以安徽省黄山市休宁县(我的老家)为例,提供完整的代码和分析。
二、准备工作
2.1 获取 GeoJSON 数据
GeoJSON 是一种基于 JSON 的地理信息数据格式,用于表示地理特征和空间数据。我们需要获取休宁县的 GeoJSON 数据。可以从公开的地理信息数据平台(如 GeoJSON.io)下载或通过其他合法途径获取。
假设我们已经获取了休宁县的 GeoJSON 数据,并保存为 休宁县.geojson 文件。
2.2 生成数据
我们需要从 GeoJSON 文件中提取数据,并生成适合 Pyecharts 使用的数据格式。以下是生成数据的代码:
import json
import random
from pyecharts import options as opts
from pyecharts.charts import Map# 读取 GeoJSON 文件
with open('休宁县.geojson', 'r', encoding='utf-8') as f:json_data = json.load(f)# 生成随机数据
datas = [(properties['properties']['name'], random.randint(1, 100)) for properties in json_data['features']]
三、绘制地图
3.1 初始化地图
我们需要使用 Pyecharts 的 Map 组件来绘制地图,并通过 add_js_funcs 方法注册自定义的 GeoJSON 数据。
# 初始化地图
map_chart = (Map(init_opts=opts.InitOpts(width='800px', height='800px', bg_color='#0d0735')).add_js_funcs("echarts.registerMap('emap', {});".format(json_data)).add(series_name="",maptype="emap",data_pair=datas,is_roam=False,is_map_symbol_show=False,).set_global_opts(title_opts=opts.TitleOpts(title="休宁县乡镇街道级地图",subtitle="数据来源:自定义 GeoJSON",item_gap=5,pos_left='center',pos_top='3%',title_textstyle_opts=opts.TextStyleOpts(color="#fff", font_size=16),),legend_opts=opts.LegendOpts(is_show=False),visualmap_opts=opts.VisualMapOpts(pos_right='10%',pos_bottom='5%',max_=100,is_show=True,is_piecewise=True,split_number=5,textstyle_opts=opts.TextStyleOpts(color="#fff"),range_color=["#ffde93", "#ffc107", "#ff9800", "#ff5722", "#f44336"],),)
)
3.2 渲染地图
最后,我们将地图渲染为 HTML 文件,以便查看效果。
# 渲染地图
map_chart.render("休宁县乡镇街道级地图.html")
四、完整代码
以下是完整的代码,可以直接运行:
import json
import random
from pyecharts import options as opts
from pyecharts.charts import Map# 读取 GeoJSON 文件
with open('休宁县.geojson', 'r', encoding='utf-8') as f:json_data = json.load(f)# 生成随机数据
datas = [(properties['properties']['name'], random.randint(1, 100)) for properties in json_data['features']]# 初始化地图
map_chart = (Map(init_opts=opts.InitOpts(width='800px', height='800px', bg_color='#0d0735')).add_js_funcs("echarts.registerMap('emap', {});".format(json_data)).add(series_name="",maptype="emap",data_pair=datas,is_roam=False,is_map_symbol_show=False,).set_global_opts(title_opts=opts.TitleOpts(title="休宁县乡镇街道级地图",subtitle="数据来源:自定义 GeoJSON",item_gap=5,pos_left='center',pos_top='3%',title_textstyle_opts=opts.TextStyleOpts(color="#fff", font_size=16),),legend_opts=opts.LegendOpts(is_show=False),visualmap_opts=opts.VisualMapOpts(pos_right='10%',pos_bottom='10%',max_=100,is_show=True,is_piecewise=True,split_number=5,textstyle_opts=opts.TextStyleOpts(color="#fff"),range_color=["#ffde93", "#ffc107", "#ff9800", "#ff5722", "#f44336"],),)
)# 渲染地图
map_chart.render("休宁县乡镇街道级地图.html")
五、运行结果
运行上述代码后,会生成一个名为 休宁县乡镇街道级地图.html 的文件。打开该文件,可以看到如下效果:

4.1 地图展示
地图展示了安徽省黄山市休宁县的乡镇街道级地理信息,每个街道或乡镇都有不同的颜色表示其数据值。地图背景为黑色,视觉效果炫酷,数据分布一目了然。特别地,这个地图展示了我的老家——休宁县的详细地理信息,让我感到非常亲切。
4.2 数据可视化
通过视觉映射(VisualMap),数据值被分为不同的区间,每个区间用不同的颜色表示。这使得我们能够直观地看到不同街道或乡镇的数据差异。
五、总结
本文详细介绍了如何使用 Pyecharts 绘制乡镇街道级地图,以安徽省黄山市休宁县(我的老家)为例。通过自定义 GeoJSON 数据和 Pyecharts 的强大功能,我们可以轻松实现乡镇街道级地图的绘制。这种方法不仅适用于休宁县,还可以扩展到其他地区,帮助我们更好地展示地理信息数据。
