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

OSMNX使用plot_graph生成指定像素宽度图像的问题咨询

参数对应关系说明
  • 基础计算逻辑:图像像素尺寸 = 画布尺寸(单位:英寸) × DPI,理想无适配的场景下figsize=(20,20)加dpi=300会输出6000×6000像素的图像。
  • 你实际输出尺寸和理论值不符的原因:OSMNX的plot_graph方法默认会保留路网的原始地理宽高比,不会强制拉伸图像匹配你设置的正方形figsize,会自动调整画布的有效尺寸避免变形。你当前路网的宽高比为4650:2719≈1.71:1,20×20英寸的正方形画布放不下1.71:1比例的20英寸宽度路网,因此OSMNX自动把有效画布宽度缩小到15.5英寸(15.5×300=4650像素),对应高度缩小到约9.06英寸(9.06×300≈2719像素)。
调整参数实现8500像素宽度的方法

你可以固定DPI不变(300DPI可以保证输出图像的清晰度),先计算所需的画布宽度:

所需画布宽度(英寸)= 目标像素宽度 ÷ DPI = 8500 ÷ 300 ≈ 28.33

由于plot_graph会自动按路网宽高比适配高度,你只要把figsize的第一个参数设为计算得到的宽度,第二个参数随便设置一个大于对应高度的值即可,调整后的代码如下:

fig, ax = ox.plot_graph(G, bgcolor='k', edge_color=ec, node_size=8, edge_linewidth=1, edge_alpha=1, figsize=(28.33, 28.33), dpi=300, save=True, filepath='image.png')
  • 如果需要自定义DPI,按上述公式反推画布宽度即可:比如你要设置DPI为600,对应画布宽度就是8500÷600≈14.17英寸,把figsize第一个值改为14.17即可。
  • 非必要不推荐添加tight=False参数关闭宽高比适配,否则会导致路网被拉伸变形。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 17:45:09