这与new pythonic style for shared axes square subplots in 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.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描述的方法,只需使用
另一种方法是生成一个宽/高比等于
2
(因为有两个图)。只有当您计划在文档中包含图形,并且您已经知道最终文档的列宽时,才建议这样做。您可以在对
Figure(figsize=(width,height))
的调用中设置宽度和高度,也可以将其作为plt.subplots()
的参数(以英寸为单位)。示例:截图:
正如@Benjamin Bannier所指出的,作为一个缺点,你的利润率为零。然后你可以玩
subplot_adjust()
,但是如果你想保持解的简单,你必须小心以对称的方式制造空间。例如fig.subplots_adjust(.1,.1,.9,.9,0,0)
。相关问题 更多 >
编程相关推荐