在 Matplotlib 中绘制多个子图时如何删除白线?



当我运行以下代码时,即使运行ax.axis('off')也会出现白线。

plt.rcParams['figure.figsize'] = (6, 6)
fig=plt.figure()
for i in range(121):
ax=plt.subplot(11,11,i+1)
ax.axis('off')
ax.imshow(weights[0][:,-i].reshape((28,28)),cmap='Spectral_r')
ax.axis('off')
plt.subplots_adjust(hspace = 0,wspace=0)

结果:

带有白线的子图,即使轴设置为"关闭">

白线是您在图之间的空间处看到的背景; 它与轴线无关。

为了确保绘图之间没有空间,您可以让它们自动缩放,imshow(..., aspect="auto"),或者您设置子图参数,使其不会留下任何空格,例如,在子图行数和列数相等的方形图形的情况下,

plt.subplots_adjust(left=0.15, right=0.85, bottom=0.15, top=0.85, hspace = 0, wspace=0)

最新更新