【问题标题】:How to expand subplots in python [duplicate]如何在python中扩展子图[重复]
【发布时间】:2018-03-27 17:54:27
【问题描述】:

我正在尝试使用以下代码创建许多子图(7*4 行*列):

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(100)
y = np.arange(100)

for i in range(28):
    plt.subplot(4, 7, i+1)
    plt.scatter(x, y)

plt.tight_layout()
plt.show()

它同时生成所有子图,但在单个数字周围有很大的边距:

如果我省略了tight_layout(),那么它们会靠得更近,但在顶部、底部、右侧和左侧都有较大的边距:

如何减少或移除人物之间和人物周围的多余空间?

【问题讨论】:

    标签: python matplotlib subplot margins


    【解决方案1】:

    您可以使用subplots_adjust 方法,根据需要调整wspacehspace 参数(分别为宽度空间和高度空间):

    for i in range(28):
        plt.subplot(4, 7, i+1)
        plt.scatter(x, y)
    
    plt.subplots_adjust(wspace=1, hspace=1)
    

    来自documentation,这些“表示为平均轴宽度/高度的一部分”

    【讨论】:

    • 设置wspace=0.1, hspace=0.1 为我工作。但是顶部、底部、右侧,尤其是左侧的显着边距仍然存在。有什么办法可以减少它们?
    • 你可以乱用topbottom 参数。例如,尝试plt.subplots_adjust(wspace=0.1, hspace=0.1, top=0.95, bottom=0.05)
    • 我发现即使是 0.01 也能正常工作!
    • 很高兴能帮上忙!
    猜你喜欢
    • 2017-01-08
    • 2020-03-10
    • 1970-01-01
    • 1970-01-01
    • 2017-10-22
    • 1970-01-01
    • 1970-01-01
    • 2011-12-06
    • 1970-01-01
    相关资源
    最近更新 更多