受this question的启发,我一直试图让图像没有空白的绘制。如何清除matplotlib中* images *之间的间隙?
在我的玩具例子中,我有四个图像,我想放在两排。他们有不同的形状:不同的行数,列数相同。尽管有分歧,他们应该适合在无间隙的一个单一的数字,如如下图所示:
当我试图让他们在一起,不过,设置plt.subplots_adjust(wspace=0, hspace=0)
不会做的伎俩,因为图像具有不同的形状。
下面的代码:
from numpy.random import rand
import matplotlib.pyplot as plt
test_data = [[rand(10,10), rand(10,10)],[rand(5,10), rand(5,10)]]
f, axarr = plt.subplots(2,2)
for i in range(2):
for j in range(2):
axarr[i, j].imshow(test_data[i][j])
plt.tight_layout()
plt.subplots_adjust(wspace=0, hspace=0)
plt.show()
我试着set_aspect
和equal
玩耍,但没有运气。
有谁知道如何获得这些差距了吗?
你想保持轴刺和ticklabels?产生的图像是否应该紧贴图形边界,还是应该留下一些空间?这个差距是任意的吗? – ImportanceOfBeingErnest
不,我不想要显示图像的轴棘和剔标签。我会用'.axis('off')'去除它们。由此产生的图像理想情况下应该与图形边界保持一致,但我不介意简单的解决方案是否留有一些空间。我不需要任何差距,所以差距不是任意的,它总是0(如果我正确理解你的问题)。图像大小可能会改变,但我们可以假设其中一个维度总是相同的。 – dangom