绘制多个子图python

时间:2018-10-09 13:35:41

标签: python matplotlib

我正在尝试使用以下代码绘制多个sublpots

import matplotlib.pyplot as plt
from matplotlib import image

fig, ax = plt.subplots(nrows=10, ncols=3,squeeze= False, figsize = (40, 40))
i = 0
for row in ax:
    for col in row:
        img = image.imread("black.png")
        i = i+1
        col.axis("off")
        col.set_title("group_", fontsize = 20) 
        col.imshow(img) # consider I,m plottinf some image

当我绘制较少的子图时,这些子图非常靠近 wordpress docs

但是,当我绘制更多的子图时,水平子图之间存在相当大的差距。

enter image description here

让我知道如何进行绘制,使各图彼此靠近

注意:这看起来像重复的,但是我无法通过浏览stackoverflow来解决此问题的解决方法

2 个答案:

答案 0 :(得分:1)

您正在观察的是figsizeplt.subplots()的{​​{1}}参数与图像尺寸的不幸组合。特别是所有这些都限制了垂直/水平空间。

就我而言,从imshow(aspect="")figsize=(40, 40)在某种程度上解决了这个问题。

figsize=(8, 24)

so_figsize_error

figsize=(40, 40)

so_figsize_fixed

答案 1 :(得分:0)

您可以使用hspacewspace调整子图之间的水平和垂直间距。

matplotlib.pyplot.subplots_adjust(hspace = ..., wspace = ...)