【发布时间】:2022-01-01 05:24:46
【问题描述】:
我正在尝试设置绘图的纵横比,但包括标题和轴标签。我知道 figsize 仅指轴。我已经尝试过 plt.tight_layout、plt.subplots_adjust 和 fig.set_size_inches 但没有一个能解决我的问题。我也尝试增加输入宽高比,测试输出比例是否符合规则。
这是一个最小的、可重现的例子:
最后,我需要一个 320mmx70mm(宽 x 高)的 .jpg 输出文件。所以纵横比应该是 320/70=4,57。目前 figsize 仅指轴,输出中的纵横比变为 1960px/523px = 3,75。我的目标是输出纵横比为 4,57。
fig = plt.figure(figsize=[320/25.4, 70/25.4])
ax = fig.add_axes([0,0,1,1])
langs = ['C', 'C++', 'Java', 'Python', 'PHP']
students = [23,17,35,29,12]
ax.bar(langs,students)
ax.set_title('Title', loc='left', fontdict=dict(fontsize=20, fontweight='bold'))
#plt.show()
plt.savefig('example.jpg', dpi=150, bbox_inches="tight")
【问题讨论】:
-
如果将
pad_inches=0添加到plt.savefig(...)会怎样? -
非常感谢,这似乎解决了我的问题。我一定忽略了这一点!
标签: python matplotlib jpeg aspect-ratio