如何删除matplotlib子图中的填充/边框

Mic*_*ael 5 matplotlib

第二个子图是第一个带有叠加图的图像.在第二个图中似乎有白色填充/边界.如何删除此填充/空格?

在此输入图像描述

对于completness,这是执行绘图的代码片段:

fig, ax = plt.subplots(1, 2)
fig.set_size_inches(16, 6, forward=True)
plt.subplots_adjust(0.05, 0.05, 0.95, 0.95, 0.05, 0.05)
ax[0].set_title("Region Labels")
ax[0].imshow(image_labels)

ax[1].set_title("Region Connectivity Graph")
ax[1].imshow(image_labels)
for edge in edges:
    ax[1].plot([centers[edge[0]][0],centers[edge[1]][0]],
             [centers[edge[0]][1],centers[edge[1]][1]]) 
for a in ax:
    a.set_xticks(())
    a.set_yticks(())
plt.show()
Run Code Online (Sandbox Code Playgroud)

Rut*_*ies 5

默认情况下,Matplotlib 会为绘制的数据添加一些边距。我无法测试它,因为它没有你的image_labelsand centers,但这通常应该有效:

ax[1].autoscale_view('tight')
Run Code Online (Sandbox Code Playgroud)

另一种方法是手动设置轴的 xlim 和 ylim:

ax[1].set_xlim(0,image_labels.shape[1])
ax[1].set_ylim(0,image_labels.shape[0])
Run Code Online (Sandbox Code Playgroud)