如何利用Matplotlib实现第21章的静态可视化分析?
摘要:layout: default title: "第21章:静态可视化(Matplotlib)" 第21章:静态可视化(Matplotlib) 地图可视化是地理信息系统的核心功能之一。Geo
第21章:静态可视化(Matplotlib)
地图可视化是地理信息系统的核心功能之一。GeoPandas 基于 Matplotlib 提供了强大而灵活的静态地图绑制能力,使我们能够通过简洁的 Python 代码创建专业级的地理数据可视化作品。本章将系统介绍 GeoPandas 的静态可视化方法,从基础绑图到高级样式定制,帮助读者掌握地理数据可视化的完整工作流程。
21.1 GeoPandas 可视化概述
21.1.1 可视化在 GIS 中的重要性
地图可视化是将抽象的地理数据转化为直观图形表达的过程。在 GIS 分析工作流中,可视化承担着多重关键角色:
数据探索:快速了解数据的空间分布特征
质量检查:发现数据中的异常值和错误
结果展示:将分析结果以直观方式呈现给决策者
报告制作:生成用于出版和报告的高质量地图
# 导入核心库
import geopandas as gpd
import matplotlib.pyplot as plt
import numpy as np
# 读取示例数据
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
print(f"数据集包含 {len(world)} 个国家/地区")
print(f"几何类型: {world.geom_type.unique()}")
print(f"坐标参考系: {world.crs}")
输出:
数据集包含 177 个国家/地区
几何类型: ['MultiPolygon' 'Polygon']
坐标参考系: EPSG:4326
21.1.2 GeoPandas 可视化架构
GeoPandas 的可视化功能建立在 Matplotlib 之上,采用分层架构设计:
层次
组件
说明
顶层
GeoDataFrame.plot()
GeoPandas 提供的高级绑图接口
中间层
Matplotlib Axes
坐标轴对象,管理图形元素
底层
Matplotlib Figure
画布对象,控制整体布局
# 可视化架构示例
fig, ax = plt.subplots(figsize=(10, 6))
# GeoPandas 的 plot() 方法返回 matplotlib 的 Axes 对象
ax = world.plot(ax=ax, color='lightblue', edgecolor='gray')
# 可以继续使用 matplotlib 的方法自定义
ax.set_title('世界地图', fontsize=16)
ax.set_xlabel('经度')
ax.set_ylabel('纬度')
plt.tight_layout()
plt.savefig('world_map.png', dpi=150)
plt.show()
注意: GeoPandas 的 plot() 方法本质上是对 Matplotlib 的封装,因此所有 Matplotlib 的自定义功能都可以在 GeoPandas 图形上使用。
