当前位置: 首页 > news >正文

【数据可视化-100】使用 Pyecharts 绘制人口迁徙图:步骤与数据组织形式

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907

💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

在这里插入图片描述

【数据可视化-100】使用 Pyecharts 绘制人口迁徙图:步骤与数据组织形式

    • 1. 简介
    • 2. 数据格式
    • 3. 绘图步骤
      • 3.1 安装 Pyecharts
      • 3.2 准备数据
      • 3.3 绘制地图
    • 4. 完整代码
      • 4.1 代码说明
    • 5. 运行结果


1. 简介

  人口迁徙图是一种展示人口流动情况的可视化图表,通常用于分析人口迁移的来源地和目的地。pyecharts 是一个强大的 Python 数据可视化库,支持多种图表类型,包括地图和地理坐标系,非常适合绘制人口迁徙图。

2. 数据格式

  人口迁徙图的数据通常包含以下几部分:

  1. 起点城市和终点城市:表示人口迁移的来源地和目的地。
  2. 迁移人数:表示从起点城市到终点城市的人口数量。

  数据格式示例:

data = [("广州", "上海", 55),("广州", "北京", 66),("广州", "杭州", 77),("广州", "重庆", 88),("河南", "江苏", 99),("河南", "浙江", 111),("河南", "上海", 121),("河南", "广东", 131),
]

3. 绘图步骤

3.1 安装 Pyecharts

  确保你已经安装了 pyecharts。如果尚未安装,可以通过以下命令安装:

pip install pyecharts

3.2 准备数据

  根据实际需求准备人口迁徙的数据。数据格式如上所示。

3.3 绘制地图

  使用 pyechartsGeo 模块来绘制人口迁徙图。

4. 完整代码

  以下是完整的代码示例:

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 代码说明

  1. 数据准备

    • data 是一个包含起点城市、终点城市和迁移人数的列表。
  2. 创建 Geo 对象

    • 使用 Geo 创建一个地理坐标系图表。
    • init_opts 设置主题为暗色主题,宽度为1000px,高度为600px。
    • add_schema(maptype="china") 指定地图类型为“中国”。
  3. 添加数据

    • 使用 add 方法添加数据。
    • ChartType.EFFECT_SCATTER 表示绘制起点和终点的散点效果。
    • ChartType.LINES 表示绘制迁徙线路。
    • effect_opts 设置迁徙线路的样式,如符号大小和颜色。
    • linestyle_opts 设置线路的样式,如曲线程度。
  4. 设置样式

    • itemstyle_opts 设置地图底图的样式。
    • label_opts 设置标签的显示状态,这里设置为不显示。
  5. 全局配置

    • title_opts 设置标题为“人口迁徙图”。
  6. 渲染图表

    • 使用 render 方法将图表渲染为一个 HTML 文件,文件名为 population_migration_map.html

5. 运行结果

  运行上述代码后,会生成一个名为 population_migration_map.html 的文件,你可以用浏览器打开这个文件查看生成的人口迁徙图。图中会显示从起点城市到终点城市的人口迁徙线路,线路的粗细和颜色会根据迁移人数的大小变化。

pyecharts迁徙图


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

http://www.xdnf.cn/news/1364653.html

相关文章:

  • Linux下的软件编程——网络编程(http)
  • 基于git的场景解决
  • DeepSeek 14B模型本地部署与预训练实现方案
  • 从零开始学习单片机15
  • MySQL常见报错分析及解决方案总结(1)---Can‘t connect to MySQL server on ‘localhost‘(10061)
  • 什么是事件循环(Event Loop)?浏览器和 Node.js 中的事件循环有什么区别?
  • 维度建模 —— 雪花模型 和 星型模型的优缺点
  • 冯·诺依曼架构:现代计算机的基石与瓶颈
  • Linux驱动开发笔记(七)——并发与竞争(下)——自旋锁信号量互斥体
  • k8s笔记03-常用操作命令
  • vite 项目创建、插件配置
  • JBL音响代理——河北正娱科技的声学精品工程
  • 智慧城市SaaS平台/交通设施运行监测系统之桥梁运行监测、城市道路塌陷风险运行监测系统架构内容
  • 网络编程--TCP/UDP Socket套接字
  • 验证码流程
  • 【AI解读源码系列】ant design mobile——Space间距
  • 京东API分类接口实战指南:获取各类商品信息
  • 【大模型本地运行与部署框架】Ollama的API交互
  • Spring拦截器中@Resource注入为null的问题
  • PAT乙级_1120 买地攻略_Python_AC解法_含疑难点
  • 6.3Element UI 的表单
  • 【python断言插件responses_validator使用】
  • 分布式系统与单机系统的优劣势对比
  • Reachability Query
  • Linux系统编程——进程 | 线程
  • 直播美颜SDK技术解析:人脸美型功能的算法原理与实现方案
  • TCP与HTTP协议以及爬虫
  • 如何在Debian服务器上设置Node.js日志轮转
  • cs61a中的递归小例子
  • 创建高效MCP客户端:多服务器环境解决方案指南