You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Geopandas[Python]创建含4个子图的地理数据可视化图形

单个Figure中创建4个子图展示地理数据的完整方案

没问题,我来帮你搞定这个需求!结合你给出的代码片段,我们可以用Matplotlib的子图布局配合GeoPandas的绘图能力,轻松实现4个子图展示不同GeoJSON数据的效果。

完整可运行代码

import numpy as np
import pandas as pd
import geopandas as gpd
import matplotlib.pyplot as plt
from shapely.geometry import Polygon
from geojson import Point

# 加载所有地理数据(补全你没写完的akc读取逻辑)
ags = gpd.read_file('150824-altglascontainer-mannheim.geojson')
hts = gpd.read_file('standorte_hts_gesamt.geojson')
wlan = gpd.read_file('standorte-wlan-mit-geocode.geojson')
akc = gpd.read_file('你的akc数据文件路径.geojson')  # 替换成你的实际文件路径

# 创建1行4列的子图布局,设置合适的画布尺寸避免拥挤
fig, axes = plt.subplots(nrows=1, ncols=4, figsize=(20, 5))

# 逐个在子图上绘制数据,并添加标题和美化
# 第一个子图:Altglascontainer
ags.plot(ax=axes[0], color='forestgreen', edgecolor='black')
axes[0].set_title('Altglascontainer (Mannheim)', fontsize=10)
axes[0].axis('off')  # 关闭坐标轴让地图更清爽

# 第二个子图:HTS站点
hts.plot(ax=axes[1], color='steelblue', edgecolor='black')
axes[1].set_title('HTS Standorte', fontsize=10)
axes[1].axis('off')

# 第三个子图:WLAN站点
wlan.plot(ax=axes[2], color='darkorange', edgecolor='black')
axes[2].set_title('WLAN Standorte', fontsize=10)
axes[2].axis('off')

# 第四个子图:AKC数据
akc.plot(ax=axes[3], color='crimson', edgecolor='black')
axes[3].set_title('AKC Standorte', fontsize=10)
axes[3].axis('off')

# 自动调整子图间距,防止标题和内容重叠
plt.tight_layout()

# 显示图形,或者保存为图片
plt.show()
# plt.savefig('geo_subplots.png', dpi=300, bbox_inches='tight')  # 可选:保存高清图

关键细节解释

  • 子图初始化:plt.subplots(nrows=1, ncols=4)会生成一个Figure对象和一个包含4个Axes的数组,通过axes[0]到axes[3]就能精准控制每个子图。如果想要2行2列的布局,只需要改成nrows=2, ncols=2, figsize=(12,10)即可。
  • GeoPandas绘图:GeoDataFrame的plot()方法支持指定ax参数,把数据绘制到指定子图上,这是实现多子图展示的核心逻辑。
  • 美化技巧:
    • axis('off')关闭坐标轴,避免地理数据被坐标轴元素干扰,让地图展示更直观。
    • tight_layout()自动调整子图间的间距和边距,解决标题、内容重叠的问题。
  • 点数据适配:如果你的某些数据是点类型(比如WLAN站点),可以修改plot()的样式参数让展示更清晰:
    wlan.plot(ax=axes[2], marker='o', color='darkorange', markersize=4, alpha=0.6)
    

这样就能得到一个布局整齐、展示清晰的多子图地理数据可视化结果啦!

内容的提问来源于stack exchange,提问作者CWhite

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:49:39