1

我需要一些格式化方面的帮助。如何更改第二张图和第三张图之间的距离

   from matplotlib.font_manager import FontProperties
   import matplotlib.pyplot as plt


   fig  = plt.figure(1)
   graph1 = fig.add_subplot(3,1,1)
   graph2 = fig.add_subplot(3,1,2)
   norm =  fig.add_subplot(3,1,3)

   graph1.set_title(TITLE + '\nscaling factor: ' +str(round(rescale,3)))
   norm.set_title('Circle and Oval Height Difference')
   norm.set_xlabel(XLABEL +'(Degrees)')
   norm.legend(bbox_to_anchor=(1.13,1), prop={'size':8})
   plt.ylabel('Heights (nm)')


   graph1.legend(bbox_to_anchor=(1.13,1),prop={'size':8})
   graph2.legend(bbox_to_anchor=(1.13,1),prop={'size':8})
   fontP = FontProperties()
   fontP.set_size('small')

在此处输入图像描述

4

2 回答 2

4

快速的答案是fig.subplots_adjust,将 hspace 设置为更大的值。不幸的是,这也在前两个图表之间插入了一些空间,但这可能还是不错的,这取决于你想要什么。正如乔所说,如果 x 轴相同,我经常会删除它们。

如果您希望间距不均匀,即 2 和 3 之间的间距大于 1 和 2 之间的间距,则需要使用fig.add_axes.

于 2012-09-08T00:29:48.280 回答
2

采用

plt.subplots_adjust(hspace=desiredspace)

我很确定,matplotlib 的方式可能有更多方法可以做到这一点,但它解决了我的问题,甚至不得不手动找出最佳价值。

希望这可以帮助!

于 2012-09-08T00:29:20.957 回答