转载来源:链接 修改部分内容
用 Python 绘制中国城市地图数据主要用于对地理数据进行可视化分析。这种方法可以帮助您更直观地了解数据的分布情况,并为您提供关于数据之间的相关性的更深入的理解。例如,您可以通过使用地图数据绘制中国城市人口分布图,以了解每个城市的人口数量和密度。您还可以通过使用地图数据绘制中国城市的经济数据,以了解每个城市的经济活动情况,包括贸易额、工业产值等。本例,我们利用 pandas 和 pyecharts 来完成相关需求。
需求
首先生成测试数据,并读取为 pandas 的 DataFrame,随机数据用 Python 内置的 random。
数据生成完成,接下来我们开始分析如何完成需求。
思路
Pyecharts是一款开源的 Python 图表绘制库,支持多种图表类型的绘制,例如饼图,折线图,散点图,条形图,柱形图等。同时它还支持生成地图图表。
使用 Pyecharts 生成地图图表需要以下步骤:
- 安装 Pyecharts 库:可以使用 pip 命令进行安装:
pip install pyecharts
- 导入需要的模块:导入 Map 模块以及其相关配置选项:
- 数据准备:需要准备地图所需的数据,通常是城市数据和对应的数值数据。
- 生成地图:使用 Map 模块的 add 方法,配置地图的相关选项,例如标签,图例,视觉效果等。
- 呈现地图:调用 render 方法,或者使用 render_notebook 方法将地图呈现在 Jupyter Notebook 中。
以上是生成地图图表的基本流程。Pyecharts 提供了丰富的配置选项,可以根据需要调整图表样式。
在这个需求中,我们用它来完成。
代码
先导入相关的库,同时将 Notebook 设置为我们使用的 jupyterlab:
先将数据构造成 pyecharts 需要的列表对为元素的列表,这里用到 pandas 的应用方法操作:
接下来编写地图展示功能:
分别在不同的 jupyterlab 单元格执行以下代码就可以看到地图可视化效果。
中国地图可视化
以上 Python 代码主要是使用了 pyecharts 库和 pandas 库来绘制中国地图,并将某个城市的数据可视化展示。
- 首先,导入了 pyecharts 库中的选项、全局变量、地图图表等模块。
- 然后,将 pyecharts 全局配置环境设置为 Jupyter Lab 环境。
- 接着,使用 pandas 库构造随机数据,以 DataFrame 结构存入变量 "df" 中。
- 然后,调用 head() 函数展示 "df" 的前几行数据。
- 定义变量 "data",将 "df" 中除了 '城市' 以外的数据列,通过 apply() 函数转换为列表,并调用 to_list() 函数转换为 Python 列表。
- 然后,使用 Map 类创建地图图表,并设置图表的大小、标题、数据源等。
- 通过 set_global_opts() 函数设置图表的全局配置选项,如:设置可视化范围、图例等。
- 设计虚拟映射功能的最大值和最小值,根据我们的随机数据最大值为20;不显示DataFrame下角的映射调节工具
- 设置图例为不显示
- 数据名称为城市
- 数据传入我们构造好的 data
- 图形类型为中国城市
- 标签设置为不显示,即不显示城市名
- 不显示城市符号
- Map 实例创建时初始化了图形的宽和高
- 然后用 add() 方法给实例添加一个数据内容
- 再进行全局配置
- 最后,通过 render_notebook() 函数将图表展示在 JupyterLab 的 Notebook 中。
这样就完成发需求,可以修改以上参数的值重新执行查看结果以理解它们的作用。