请问使用Matplotlib中的多个子图改进子图大小/间距

使用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)


子衿沉夜
浏览 1305回答 3
3回答

阿晨1998

慕运维8079593你可以用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 figureright = 0.9    # the right side of the subplots of the figurebottom = 0.1   # the bottom of the subplots of the figuretop = 0.9      # the top of the subplots of the figurewspace = 0.2   # the amount of width reserved for blank space between subplotshspace = 0.2   # the amount of height reserved for white space between subplots实际的默认值由rc文件控制。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python