Matplotlib中如何保留Shapefile边缘颜色并设置填充为透明
仅为Shapefile添加边框(无填充)的实现方法
当然可以实现仅显示Shapefile边框、不保留填充效果的需求,以下是几种常用工具的操作方式:
1. QGIS操作步骤
- 加载目标Shapefile到QGIS中
- 在图层列表右键点击该图层,选择「属性」
- 切换到「符号化」选项卡:
- 将「填充」选项设置为「无填充」,或把填充透明度拉到100%
- 保留「边框」样式配置,按需调整边框的颜色、宽度等参数
- 点击「确定」即可看到仅显示边框的效果
2. ArcGIS操作步骤
- 在ArcMap/ArcGIS Pro中添加目标Shapefile图层
- 打开图层的「符号系统」设置:
- 在「填充符号」设置里选择「无颜色」作为填充色
- 配置「轮廓」的颜色、线宽等属性
- 应用设置后,图层就会仅显示边框
3. Python代码实现(GeoPandas + Matplotlib)
如果需要批量或代码化处理,可通过GeoPandas结合Matplotlib实现:
import geopandas as gpd import matplotlib.pyplot as plt # 读取目标Shapefile target_gdf = gpd.read_file("your_target_shapefile.shp") # 读取基础Shapefile base_gdf = gpd.read_file("your_base_shapefile.shp") # 创建绘图对象 fig, ax = plt.subplots(figsize=(10, 10)) # 绘制基础图层(按需设置填充样式) base_gdf.plot(ax=ax, color='lightgray') # 绘制仅带边框的目标图层 target_gdf.plot(ax=ax, facecolor='none', edgecolor='black', linewidth=1.5) # 显示图形 plt.show()
按上述方式设置后,目标Shapefile只会显示边框线条,不会有填充色,可满足你在基础图层内部叠加带边框区域的需求。
内容的提问来源于stack exchange,提问作者Ashley Grinstead
相关产品推荐
相关产品推荐

