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

如何仅保存Matplotlib绘图内部区域?固定宽高比场景

最简实现固定宽高比绘图区域的精准保存

核心方案

直接基于绘图轴(Axes)的实际区域保存,跳过事后裁剪步骤,自动适配绘图尺寸变化,同时严格维持设定的宽高比。

步骤1:固定绘图轴的宽高比

以Matplotlib为例,创建绘图时直接为轴设置固定宽高比,确保绘图区域始终符合需求:

import matplotlib.pyplot as plt

# 创建画布和轴
fig, ax = plt.subplots()
# 固定宽高比(示例为1:1,可替换为目标比例如"2:1")
ax.set_aspect('equal', adjustable='box')

# 执行你的绘图操作,比如:
ax.scatter([1,3,5], [2,4,6])
ax.set_xlabel('X轴')
ax.set_ylabel('Y轴')

步骤2:精准保存轴的有效区域

无需手动计算裁剪坐标,直接利用轴的内置区域参数完成保存,自动适配任意绘图尺寸:

# 获取轴的实际显示范围,转换为画布坐标系统
ax_bbox = ax.get_window_extent().transformed(fig.dpi_scale_trans.inverted())
# 保存图像,指定仅保存轴区域,pad_inches=0消除额外边距
fig.savefig('target_plot.png', bbox_inches=ax_bbox, pad_inches=0)

方案优势

  • 无需手动调整参数:绘图尺寸变化时,get_window_extent()会实时获取轴的最新区域,无需反复修改裁剪坐标
  • 兼容带坐标轴的场景:保留坐标轴元素的同时,只保存有效绘图区域,不会包含画布空白部分
  • 严格维持宽高比:通过set_aspect预先固定轴的比例,保存的区域自然符合设定要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 22:39:53