改进matplotlib中许多子图的子图大小/间距

问题:

非常类似于this question,但与此不同的是,我的数字可以和需要一样大。
我需要在matplotlib中生成一堆垂直堆叠的图。结果将使用figsave保存并在网页上进行查看,因此,只要子图是间隔的,我们不会在最终图像中有多高,因此它们不重叠。
不管我多少允许这个数字,子图总是似乎重叠。
我的代码目前看起来像

import matplotlib.pyplot as plt
import my_other_module

titles, x_lists, y_lists = my_other_module.get_data()

fig = plt.figure(figsize=(10,60))
for i, y_list in enumerate(y_lists):
    plt.subplot(len(titles), 1, i)
    plt.xlabel("Some X label")
    plt.ylabel("Some Y label")
    plt.title(titles[i])
    plt.plot(x_lists[i],y_list)
fig.savefig('out.png', dpi=100)

回答:

尝试使用plt.tight_layout
作为一个快速的例子:

import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=4, ncols=4)
fig.tight_layout() # Or equivalently,  "plt.tight_layout()"

plt.show()

没有紧密的布局
 enter image description here
紧密布局
 enter image description here

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Improve subplot size/spacing with many subplots in matplotlib

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

33 − = 29