在matplotlib中指定子图大小而不是figsize

时间:2016-05-27 23:08:02

标签: python matplotlib

我正在使用matplotlib绘制一些图表。通常,标准做法是从图的尺寸开始并指定轴'尺寸,以便图形缩放到可用空间。

但是我要求扩展图表的高度以适应y轴上的外围数据。

我知道我可以使用Figure.figsize指定整体尺寸,但是一旦包含保证金,这就不会保持图表的比例。有没有办法指定实际的子图大小,或者相反确定默认边距大小的边距大小并相应调整图的尺寸?

1 个答案:

答案 0 :(得分:2)

你的意思是这样的?您需要计算保证金。

import matplotlib.pyplot as plt

subplotsize=[5.,5.]
figuresize=[10.,10.]   

left = 0.5*(1.-subplotsize[0]/figuresize[0])
right = 1.-left
bottom = 0.5*(1.-subplotsize[1]/figuresize[1])
top = 1.-bottom
fig=plt.figure(figsize=(figuresize[0],figuresize[1]))
fig.subplots_adjust(left=left,right=right,bottom=bottom,top=top)
ax=fig.add_subplot(111)
plt.show()