使用Matplotlib中的多个子图改进子图大小/间距非常类似于这个问题但与之不同的是,我的数字可以达到它所需要的大小。我需要在matplotlib中生成一堆垂直叠加的地块。结果将保存使用图形保存并在网页上查看,所以我不在乎最终图像有多高,只要子图是间隔的,这样它们就不会重叠。无论我允许这个数字有多大,子情节似乎总是重叠的。我的代码现在看起来像是import matplotlib.pyplot as pltimport 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)
3 回答
阿晨1998
TA贡献2037条经验 获得超6个赞
你可以用plt.subplots_adjust更改子图之间的间距(来源)
呼叫签名:
subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None)
参数含义(以及建议的默认值)是:
left = 0.125 # the left side of the subplots of the figure
right = 0.9 # the right side of the subplots of the figure
bottom = 0.1 # the bottom of the subplots of the figure
top = 0.9 # the top of the subplots of the figure
wspace = 0.2 # the amount of width reserved for blank space between subplots
hspace = 0.2 # the amount of height reserved for white space between subplots
实际的默认值由rc文件控制。
添加回答
举报
0/150
提交
取消