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

如何用GeoPandas为印尼地图海域设水色?facecolor参数无效

解决GeoDataFrame绘图时海域颜色不生效的问题

你遇到的问题是因为GeoDataFrame.plot()的color参数会覆盖facecolor,且海域本身不在provinces数据范围内,需要先给绘图轴设置背景色作为海域,再绘制陆地图层。

修改后的代码如下:

#@title Province plot
import matplotlib.pyplot as plt

# 创建绘图轴并设置背景色为海域颜色
fig, ax = plt.subplots(figsize=(10, 10))
ax.set_facecolor('#a0cfff')

# 在指定轴上绘制陆地,设置陆地颜色及边界样式
provinces.plot(ax=ax, color='#6b8e23', linewidth=0.5, edgecolor='black')

# 设置地图标题
plt.title('Map of Indonesia Provinces')

# 显示图形
plt.show()

关键说明:

  • 先创建独立的绘图轴ax,将其背景色设为海域色#a0cfff,这部分就对应地图的海域区域。
  • 调用provinces.plot()时通过ax=ax指定绘图轴,用color参数直接定义陆地填充色#6b8e23,避免参数覆盖问题。
  • 无需使用facecolor参数,color已直接作用于GeoDataFrame中的陆地要素。

内容的提问来源于stack exchange,提问作者Muhammad Ikhwan Perwira

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 16:23:10