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

循环中使用fig.savefig生成空白文件问题排查求助

解决绘图显示正常但保存空白的问题

针对你遇到的情况,结合代码和描述,可能的问题和解决办法如下:

  • 重复覆盖同一文件导致异常:你的循环里每次都保存为C:/maps.png,后一次会直接覆盖前一次,频繁写入同一文件可能引发缓存异常,最终生成空白文件。建议给每个时间步生成唯一文件名,比如:

    fig.savefig(f"C:/maps_{time_index}.png", bbox_inches='tight', dpi=300)
    
  • Cartopy渲染未完成就保存:Cartopy的投影绘图需要时间完成渲染,保存时加上dpi参数确保渲染精度,同时每次保存后关闭figure释放资源,避免内存累积导致渲染失败:

    fig.savefig(f"C:/maps_{time_index}.png", bbox_inches='tight', dpi=300)
    plt.close(fig)  # 关闭当前figure,释放资源
    
  • bbox_inches='tight'意外裁剪内容:这个参数会自动裁剪空白区域,但偶尔会误裁地图内容,你可以尝试去掉该参数再保存:

    fig.savefig(f"C:/maps_{time_index}.png", dpi=300)
    
  • 检查省略的绘图逻辑:你标注的「Other details of plotting omitted here」部分,要确保这部分代码确实将绘图元素正确添加到了ax上,如果这部分逻辑出错,也会导致保存的图片只有边框无实质内容。

关于你提到的输出文件类型显示为「PapyrusPlugin Class」,这是系统文件关联的问题,和图片本身内容无关,右键选择正确的图片查看器打开即可,无需在意该显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 12:55:26