分离某些子图而不影响其他子图;Python,Matplotlib

6
我正在使用Python(v 2.7.9)的matplotlib(v 1.4.2)绘制一个小图的网格。我可以手动调整子图之间的间距,但是我想对某些子图进行不同的间距设置。我希望最终的图形是左边有一个2x5的小图网格,在中间有一定的空白区域,右边也有一个2x5的小图网格。
下面是控制图形布局的代码:
figw, figh = 16.5, 15.0 #18.5, 15.0
fig, axes = plt.subplots(ncols=4, nrows=5, sharex=False, 
                         sharey=True, figsize=(figw, figh))

plt.subplots_adjust(hspace=0.0, wspace=0.2, left=1/figw,
                    right=1-2./figw, bottom=1/figh, top=1-2./figh)

当我更改 wspace 时,我得到了四列等间隔的列。有没有一种方式可以改变 wspace ,以便在第0列和第1列之间为0,在第1列和第2列之间为x,在第2列和第3列之间为0?
谢谢。
1个回答

4

如果您按照文档中所述使用GridSpec,则可以实现此功能:调整GridSpec布局

编辑:

以下是修改自上面示例的示例代码:

import matplotlib.pyplot as plt
from matplotlib.gridspec import GridSpec

f = plt.figure()

plt.suptitle("Different vertical spacings")

gs1 = GridSpec(5, 2)
gs1.update(left=0.05, right=0.48, wspace=0)
ax1 = plt.subplot(gs1[0,0])
ax2 = plt.subplot(gs1[1, 0])
#Add the other subplots for left hand side

gs2 = GridSpec(5, 2)
gs2.update(left=0.55, right=0.98, wspace=0)
ax11 = plt.subplot(gs2[0,0])
ax12 = plt.subplot(gs2[1,0])
#Add the other subplots for right hand side

plt.show()

我希望它可以正常工作,但目前还未测试。


请避免仅提供链接的答案,因为链接可能会更改、损坏或链接到的内容可能会在SO无法控制的情况下更新。 - WGS
刚试了一下,运行得非常完美。感谢提供的示例,我之前在链接中遇到的信息理解起来有些困难。 - thosphor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接