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

Python中plt.savefig保存高DPI图像仅显示部分的解决方法

解决Matplotlib保存图像仅显示部分的问题

以下是几个实用的解决办法:

  • 调整bbox_inches配合pad_inches:
    单独使用bbox_inches='tight'可能预留的边距不足,加上pad_inches参数可以给图像边缘留出足够空间,修改代码如下:

    plt.savefig('trace.jpeg', format='jpeg', bbox_inches='tight', pad_inches=0.5, dpi=3000)
    

    pad_inches的数值可根据图像内容调整,0.3-1之间的数值都可以尝试。

  • 提前设置图像尺寸:
    在绘图前手动指定画布的宽高尺寸,确保内容能完整容纳:

    plt.figure(figsize=(12, 8))  # 宽高比例可根据你的图像类型调整,比如横图用(15,7)
    # 此处编写你的绘图代码(如plt.plot()、plt.bar()等)
    plt.savefig('trace.jpeg', format='jpeg', dpi=3000, bbox_inches='tight')
    
  • 用tight_layout()自动调整布局:
    在完成绘图后、保存图像前调用该方法,让Matplotlib自动适配所有元素的位置,避免裁切:

    # 绘图代码执行完成后
    plt.tight_layout()
    plt.savefig('trace.jpeg', format='jpeg', dpi=3000)
    
  • 检查长标签/标题:
    如果坐标轴标签、标题或图例文字过长,也会导致内容被裁切。可以尝试:

    • 用\n给文字换行,比如plt.xlabel('这是一个很长的\n坐标轴标签')
    • 缩小字体大小,比如plt.title('图像标题', fontsize=12)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 03:39:33