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

如何从地图生成函数返回fig对象,实现自定义设置后再保存?

问题解决:正确返回matplotlib Figure对象实现自定义参数后保存地图

问题原因

你当前的代码中,调用makemap函数时没有将返回的Figure对象赋值给fig变量,导致后续执行fig.savefig时找不到该变量;而尝试return fig()是错误操作,因为fig是matplotlib的Figure实例,并非可调用函数,因此触发报错。

解决方案

只需将makemap函数的返回值赋值给fig变量,之后就可以进行用户自定义参数修改,最后执行保存操作。修改后的完整代码示例如下:

def makemap(n, s, e, w):
    fig, ax = ox.plot_graph(G, node_size=0, dpi=1200, bgcolor="#000038", save=False, edge_color=roadColors, edge_linewidth=roadWidths, edge_alpha=1)
    fig.tight_layout(pad=0)
    return fig

# 调用函数并接收返回的fig对象
fig = makemap(north, south, east, west)

# 加入用户交互逻辑,比如询问修改背景色
user_bgcolor = input("请输入新的背景色(如#FFFFFF):")
if user_bgcolor:
    fig.set_facecolor(user_bgcolor)

# 执行保存操作
fig.savefig(f"{place}.png", dpi=1200, bbox_inches='tight', format="png", facecolor=fig.get_facecolor())

关键说明

  • 必须将makemap的返回值赋值给fig变量,这样后续代码才能引用到生成的Figure实例
  • 用户交互部分可以根据需求扩展,比如修改边缘颜色、线宽等参数,直接通过fig或ax对象调整即可
  • 保存时使用fig.get_facecolor()可确保图片背景色与修改后的设置一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 22:20:31