我所知道的所有方法,包括set_size_inches
,只会改变轴的大小。例如。这是一个在调用fig.set_size_inches(5, 5)
之后产生的数字,它显然不是正方形(尽管是轴):
fig, ax = plt.subplots()
ax.plot([1, 2])
plt.xticks([0.2, 0.8], ['xxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'], rotation=90)
fig.set_size_inches(5, 5)
有没有办法设定整个数字的大小或宽高比?蛮力解决方案可能是使用get_window_extent
计算标题,xticks和yticks的宽度和高度,例如,标题和轴,轴和xlabels等,并使用数学来确定轴本身需要更改多少以考虑现有标题,标签等。
最终目标是生成具有设定纵横比的图像。注意,图像,而不是轴。虽然拥有尊重图像宽高比的轴会更加精彩。