我需要一些格式化方面的帮助。如何更改第二个和第三个图形之间的距离
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')
答案 0 :(得分:4)
快速回答是fig.subplots_adjust
,将hspace设置为更大的值。不幸的是,这也会在前两个图表之间插入一些空格,但这可能会很好,这取决于你想要什么。正如Joe所说,如果它们是相同的,我经常删除x轴。
如果您希望间距不均匀,即2和3之间的间距大于1和2之间的距离,则需要使用fig.add_axes
在特定位置显式实例化轴。
答案 1 :(得分:2)
使用
plt.subplots_adjust(hspace=desiredspace)
我很确定,matplotlib的方式,可能有更多的方法可以做到这一点,但它解决了我的问题,甚至不得不手工弄清楚最好的价值。
希望这有帮助!