【问题标题】:reducing spacing in subplots of matplotlib减少 matplotlib 子图中的间距
【发布时间】:2020-05-31 06:28:19
【问题描述】:
import matplotlib.pyplot as plt
import numpy as np
f, axarr = plt.subplots(nrows=10, ncols=10,
                                gridspec_kw={'hspace': 0, 'wspace': 0})
for dim in range(10):
    samples = np.random.rand(10, 256, 256, 1)
    for sample_idx in range(10):
        axarr[dim][sample_idx].imshow(samples[sample_idx,:,:,0],
                                             cmap='gray')
        axarr[dim][sample_idx].set_axis_off()
plt.show()

出于某种原因,我上面的代码给出了下面的图。我正在努力使每个子图都彼此相邻,中间可能有 0.01 的间距。现在,由于某种原因,列之间的距离太远了;这不是让我改变他们的间距。有人有什么建议吗?谢谢。

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    通常我会使用f.subplots_adjust(wspace=desired_hor_spacing),但在你的情况下,我认为情节已经尽可能接近,而不会在情节的左侧和右侧留下任何“空白空间”。

    您可以更改绘图的左右边距以解决此问题:

    f.subplots_adjust(left=.1, right=.9)
    

    这为您提供:

    如果你让左边距更大,右边距更小,你可以让它们更紧。

    您甚至可以在显示绘图时通过单击“配置子图”按钮以交互方式更改左右参数。

    要绕过左侧和右侧的空白区域,您可以裁剪图像或更改图形的纵横比。

    【讨论】: