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

Matplotlib:如何调整已有Figure与Axis的尺寸?

调整Matplotlib中已创建Figure和Axis的尺寸

问题场景

尝试直接修改fig.figsize属性来调整已创建Figure的尺寸,但该操作无法生效,示例代码如下:

fig, ax = plt.subplots(figsize=(3,3))
# 初始(3,3)尺寸的figure
ax.plot(range(10))
fig.savefig("33.pdf")

# 尝试调整为(6,3)尺寸,无效
fig.figsize=(6,3)
ax.plot(range(10))
fig.savefig("63.pdf")

解决方案

1. 调整整个Figure的尺寸

不能直接赋值fig.figsize,需调用fig.set_size_inches()方法来修改已创建Figure的尺寸,若轴布局需要适配新尺寸,可搭配tight_layout()优化:

fig, ax = plt.subplots(figsize=(3,3))
ax.plot(range(10))
fig.savefig("33.pdf")

# 正确调整Figure为(6,3)尺寸
fig.set_size_inches(6, 3)
# 适配新尺寸的布局调整(可选)
fig.tight_layout()
ax.plot(range(10))
fig.savefig("63.pdf")

2. 单独调整Axis的尺寸与位置

若需仅修改Axis的大小或位置,可使用ax.set_position()方法,传入一个[左, 底, 宽, 高]的列表(数值为Figure坐标系下的比例,范围0-1):

# 示例:将轴设置为占Figure宽度80%、高度70%,位置居中偏下
ax.set_position([0.1, 0.15, 0.8, 0.7])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 04:45:32