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

【数据可视化-100】使用 Pyecharts 绘制人口迁徙图:步骤与数据组织形式
-
- [1. 简介](#1. 简介)
- [2. 数据格式](#2. 数据格式)
- [3. 绘图步骤](#3. 绘图步骤)
-
- [3.1 安装 Pyecharts](#3.1 安装 Pyecharts)
- [3.2 准备数据](#3.2 准备数据)
- [3.3 绘制地图](#3.3 绘制地图)
- [4. 完整代码](#4. 完整代码)
-
- [4.1 代码说明](#4.1 代码说明)
- [5. 运行结果](#5. 运行结果)
1. 简介
人口迁徙图是一种展示人口流动情况的可视化图表,通常用于分析人口迁移的来源地和目的地。pyecharts
是一个强大的 Python 数据可视化库,支持多种图表类型,包括地图和地理坐标系,非常适合绘制人口迁徙图。
2. 数据格式
人口迁徙图的数据通常包含以下几部分:
- 起点城市和终点城市:表示人口迁移的来源地和目的地。
- 迁移人数:表示从起点城市到终点城市的人口数量。
数据格式示例:
python
data = [
("广州", "上海", 55),
("广州", "北京", 66),
("广州", "杭州", 77),
("广州", "重庆", 88),
("河南", "江苏", 99),
("河南", "浙江", 111),
("河南", "上海", 121),
("河南", "广东", 131),
]
3. 绘图步骤
3.1 安装 Pyecharts
确保你已经安装了 pyecharts
。如果尚未安装,可以通过以下命令安装:
bash
pip install pyecharts
3.2 准备数据
根据实际需求准备人口迁徙的数据。数据格式如上所示。
3.3 绘制地图
使用 pyecharts
的 Geo
模块来绘制人口迁徙图。
4. 完整代码
以下是完整的代码示例:
python
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.globals import ChartType, SymbolType, ThemeType
# 准备数据
data = [
("广州", "上海", 55),
("广州", "北京", 66),
("广州", "杭州", 77),
("广州", "重庆", 88),
("河南", "江苏", 99),
("河南", "浙江", 111),
("河南", "上海", 121),
("河南", "广东", 131),
]
# 创建 Geo 对象
geo = (
Geo(init_opts=opts.InitOpts(theme=ThemeType.DARK, width="1000px", height="600px"))
.add_schema(
maptype="china",
itemstyle_opts=opts.ItemStyleOpts(color="#1C9048", border_color="#111"),
)
.add(
"广东流出人口",
[("上海", 55), ("北京", 66), ("杭州", 77), ("重庆", 88)],
type_=ChartType.EFFECT_SCATTER,
color="#9F2628",
)
.add(
"广东流出路径",
[("广州", "上海"), ("广州", "北京"), ("广州", "杭州"), ("广州", "重庆")],
type_=ChartType.LINES,
effect_opts=opts.EffectOpts(
symbol=SymbolType.ARROW, symbol_size=6, color="#9F2628"
),
linestyle_opts=opts.LineStyleOpts(curve=0.2),
)
.add(
"河南流出人口",
[("江苏", 99), ("浙江", 111), ("上海", 121), ("广东", 131)],
type_=ChartType.EFFECT_SCATTER,
color="#401183",
)
.add(
"河南流出路径",
[("河南", "江苏"), ("河南", "浙江"), ("河南", "上海"), ("河南", "广东")],
type_=ChartType.LINES,
effect_opts=opts.EffectOpts(
symbol=SymbolType.ARROW, symbol_size=6, color="#401183"
),
linestyle_opts=opts.LineStyleOpts(curve=0.2),
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
title_opts=opts.TitleOpts(title="人口迁徙图"),
)
)
# 渲染图表到 HTML 文件
geo.render("population_migration_map.html")
4.1 代码说明
-
数据准备:
data
是一个包含起点城市、终点城市和迁移人数的列表。
-
创建 Geo 对象:
- 使用
Geo
创建一个地理坐标系图表。 init_opts
设置主题为暗色主题,宽度为1000px,高度为600px。add_schema(maptype="china")
指定地图类型为"中国"。
- 使用
-
添加数据:
- 使用
add
方法添加数据。 ChartType.EFFECT_SCATTER
表示绘制起点和终点的散点效果。ChartType.LINES
表示绘制迁徙线路。effect_opts
设置迁徙线路的样式,如符号大小和颜色。linestyle_opts
设置线路的样式,如曲线程度。
- 使用
-
设置样式:
itemstyle_opts
设置地图底图的样式。label_opts
设置标签的显示状态,这里设置为不显示。
-
全局配置:
title_opts
设置标题为"人口迁徙图"。
-
渲染图表:
- 使用
render
方法将图表渲染为一个 HTML 文件,文件名为population_migration_map.html
。
- 使用
5. 运行结果
运行上述代码后,会生成一个名为 population_migration_map.html
的文件,你可以用浏览器打开这个文件查看生成的人口迁徙图。图中会显示从起点城市到终点城市的人口迁徙线路,线路的粗细和颜色会根据迁移人数的大小变化。

pyecharts迁徙图
希望这篇文章对你有帮助!如果你有实际的人口迁徙数据,只需将 data
替换为真实数据即可。