Python 绘制中国城市数据地图可视化 您所在的位置:网站首页 城市旅游地图绘制软件 Python 绘制中国城市数据地图可视化

Python 绘制中国城市数据地图可视化

2024-07-11 02:35| 来源: 网络整理| 查看: 265

本内容来自:https://gairuo.com

说明

《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。

本内容来自:https://gairuo.com

用 Python 绘制中国城市地图数据主要用于对地理数据进行可视化分析。这种方法可以帮助您更直观地了解数据的分布情况,并为您提供关于数据之间的相关性的更深入的理解。例如,您可以通过使用地图数据绘制中国城市人口分布图,以了解每个城市的人口数量和密度。您还可以通过使用地图数据绘制中国城市的经济数据,以了解每个城市的经济活动情况,包括贸易额、工业产值等。本例,我们利用 pandas 和 pyecharts 来完成相关需求。

需求

首先生成测试数据,并读取为 pandas 的 DataFrame,随机数据用 Python 内置的 random。

import pandas as pd import random random.seed(66) random.seed(66) cities = ['北京市', '上海市', '广州市', '深圳市', '天津市', '武汉市', '重庆市', '成都市', '东莞市', '西安市', '沈阳市', '青岛市', '大连市', '宁波市', '厦门市', '长沙市', '哈尔滨市', '南京市', '郑州市', '合肥市', '苏州市', '常州市', '无锡市', '昆明市', '南昌市', '南宁市', '济南市', '长春市', '福州市', '佛山市', '温州市', '石家庄市', '太原市', '唐山市', '烟台市', '中山市', '泉州市', '南通市', '扬州市', '徐州市', '盐城市', '淄博市', '洛阳市', '柳州市', '泰州市', '丽江市', '海口市', '三亚市', '长治市', '桂林市', '大庆市', '兰州市', '贵阳市', '南阳市', '邯郸市', '保定市', '呼和浩特市', '沧州市', '廊坊市', '衡阳市', '商丘市', '南充市', '临沂市', '漯河市', '阜阳市', '景德镇市', '江门市', '茂名市', '惠州市', '芜湖市', '淮安市', '马鞍山市', '绵阳市', '乌鲁木齐市', '拉萨市', '西宁市', '德阳市', '绍兴市', '金华市', '嘉兴市'] df = pd.DataFrame({'城市': cities, '数值': [random.randint(1, 20) for i in cities] }) df.head() ''' 城市 数值 0 北京市 3 1 上海市 10 2 广州市 14 3 深圳市 8 4 天津市 15 '''

数据生成完成,接下来我们开始分析如何完成需求。

思路

Pyecharts是一款开源的 Python 图表绘制库,支持多种图表类型的绘制,例如饼图,折线图,散点图,条形图,柱形图等。同时它还支持生成地图图表。

使用 Pyecharts 生成地图图表需要以下步骤:

安装 Pyecharts 库:可以使用 pip 命令进行安装:pip install pyecharts 导入需要的模块:导入 Map 模块以及其相关配置选项: from pyecharts import options as opts from pyecharts.charts import Map 数据准备:需要准备地图所需的数据,通常是城市数据和对应的数值数据。 生成地图:使用 Map 模块的 add 方法,配置地图的相关选项,例如标签,图例,视觉效果等。 呈现地图:调用 render 方法,或者使用 render_notebook 方法将地图呈现在 Jupyter Notebook 中。

以上是生成地图图表的基本流程。Pyecharts 提供了丰富的配置选项,可以根据需要调整图表样式。

在这个需求中,我们用它来完成。

代码

先导入相关的库,同时将 Notebook 设置为我们使用的 jupyterlab:

from pyecharts import options as opts from pyecharts.globals import CurrentConfig from pyecharts.charts import Map import pandas as pd CurrentConfig.NOTEBOOK_TYPE = 'jupyter_lab'

先将数据构造成 pyecharts 需要的列表对为元素的列表,这里用到 pandas 的应用方法操作:

data = df.loc[:, '城市':].apply(list, axis=1).to_list() data ''' [['北京市', 3], ['上海市', 10], ['广州市', 14], ... ['金华市', 20], ['嘉兴市', 17]] '''

接下来编写地图展示功能:

c = ( Map(init_opts=opts.InitOpts(width='1100px', height='1000px')) .add( '城市', data, "china-cities", label_opts=opts.LabelOpts(is_show=False), is_map_symbol_show=False, ) .set_global_opts( visualmap_opts=opts.VisualMapOpts(min_=0, max_=20, is_show=False), legend_opts=opts.LegendOpts(is_show=False) ) # .render("map_china_cities.html") )

分别在不同的 jupyterlab 单元格执行以下代码就可以看到地图可视化效果。

c.load_javascript() c.render_notebook()

以上 Python 代码主要是使用了 pyecharts 库和 pandas 库来绘制中国地图,并将某个城市的数据可视化展示。

首先,导入了 pyecharts 库中的选项、全局变量、地图图表等模块。 然后,将 pyecharts 全局配置环境设置为 Jupyter Lab 环境。 接着,使用 pandas 库构造随机数据,以 DataFrame 结构存入变量 "df" 中。 然后,调用 head() 函数展示 "df" 的前几行数据。 定义变量 "data",将 "df" 中除了 '城市' 以外的数据列,通过 apply() 函数转换为列表,并调用 to_list() 函数转换为 Python 列表。 然后,使用 Map 类创建地图图表,并设置图表的大小、标题、数据源等。 通过 set_global_opts() 函数设置图表的全局配置选项,如:设置可视化范围、图例等。 Map 实例创建时初始化了图形的宽和高 然后用 add() 方法给实例添加一个数据内容 数据名称为城市 数据传入我们构造好的 data 图形类型为中国城市 标签设置为不显示,即不显示城市名 不显示城市符号 再进行全局配置 设计虚拟映射功能的最大值和最小值,根据我们的随机生数据最大值为20;不显示DataFrame下角的映射调节工具 设置图例为不显示 最后,通过 render_notebook() 函数将图表展示在 JupyterLab 的 Notebook 中。

这样就完成发需求,可以修改以上参数的值重新执行查看结果以理解它们的作用。

(完)

相关内容 Python 基础使用案例 2021-11-10 00:00:05 pandas 实战案例集 2024-02-11 21:59:56 pyecharts:Python ECharts 可视化绘图库 2021-11-28 19:36:43

更新时间:2023-02-23 09:56:10 标签:pandas python pyecharts 地图



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有