Python Pyplot:共享轴,子地块之间没有间距

Python Pyplot:共享轴,子地块之间没有间距,python,matplotlib,Python,Matplotlib,这与(或更确切地说是后续行动)有关 我想让子地块共享一个轴,就像上面链接的问题一样。然而,我也不希望在情节之间留有空间。这是我的代码的相关部分: f, (ax1, ax2) = plt.subplots(1, 2, sharex=True, sharey=True) plt.setp(ax1, aspect=1.0, adjustable='box-forced') plt.setp(ax2, aspect=1.0, adjustable='box-forced') # Plot 1 ax1.

这与(或更确切地说是后续行动)有关

我想让子地块共享一个轴,就像上面链接的问题一样。然而,我也不希望在情节之间留有空间。这是我的代码的相关部分:

f, (ax1, ax2) = plt.subplots(1, 2, sharex=True, sharey=True)
plt.setp(ax1, aspect=1.0, adjustable='box-forced')
plt.setp(ax2, aspect=1.0, adjustable='box-forced')

# Plot 1
ax1.matshow(pixels1, interpolation="bicubic", cmap="jet")
ax1.set_xlim((0,500))
ax1.set_ylim((0,500))

# Plot 2
ax2.matshow(pixels2, interpolation="bicubic", cmap="jet")
ax2.set_xlim((0,500))
ax2.set_ylim((0,500))

f.subplots_adjust(wspace=0)
这就是结果:

如果我注释掉两个plt.setp()命令,就会得到一些额外的白色边框:


我怎样才能使图形看起来像我的第一个结果,但在第二个结果中轴接触像?

编辑:获得结果的最快方法是@Benjamin Bannier描述的方法,只需使用

fig.subplots_adjust(wspace=0)
另一种方法是制作一个宽高比等于
2
(因为您有两个绘图)的图形。只有当您计划在文档中包含图形,并且您已经知道最终文档的列宽时,才建议这样做

您可以在调用
Figure(figsize=(width,height))
中设置宽度和高度,也可以将其作为参数设置为
plt.subplot()
,单位为英寸。例如:

fig, axes = plt.subplots(ncols=2, sharex=True, sharey=True,figsize=(8,4))
fig.subplots_adjust(0,0,1,1,0,0)
截图:


正如@Benjamin Bannier指出的,作为一个缺点,您的利润率为零。然后,您可以使用
subplot\u adjust()
,但如果您想保持解决方案的简单性,则必须小心以对称方式留出空间。例如,
fig.subplots\u adjust(.1、.1、.9、.9,0,0)

您的
subplots\u adjust
隐藏了可能不需要的轴。我建议
subplots\u adjust(hspace=0)
专门删除面板之间的空间。是的,似乎有错误的想法,我总是把这两个混淆在一起。如果你看我原来的问题,我确实使用
subplots\u adjust(wspace=0)
,它不会破坏空间。但是,您的解决方案使用适当的图形大小并仔细对称地调整子地块边距确实有效,足以满足我的需要!我仍然恼怒,强硬,我的原始代码不工作…我发现了我的错误!setp()行应该发生在matshow()命令之后(我想这在pyplot世界中是有意义的),然后按照您的建议工作!谢谢