【问题标题】:matplotlib.pyplot.imshow: removing white space/margins [duplicate]matplotlib.pyplot.imshow:删除空白/边距[重复]
【发布时间】:2022-02-17 06:07:15
【问题描述】:

我想使用plt.imshow,图像周围没有大的白边。这是一个例子:

import matplotlib.pyplot as plt
import numpy as np

data = np.random.rand(8, 8)
plt.imshow(data, origin='lower', interpolation='None', aspect='equal')
plt.axis('off')
plt.show()

并生成查看器窗口:

如何减少图片周围的空白边距?

这与matplotlib.pyplot.imshow: removing white space within plots when using attributes "sharex" and "sharey" 不是同一个问题。我尝试了那里的建议,但没有效果。

【问题讨论】:

  • plt.subplots_adjust(top = 1, bottom = 0, right = 1, left = 0, hspace = 0, wspace = 0)。参见例如this post
  • @JohanC 太好了!这实际上填满了所有可用的窗口窗格。如果您将其发布为答案,我将接受它作为解决方案。

标签: python image matplotlib whitespace


【解决方案1】:

使用matplotlib.pyplot.tight_layout() 可能会解决您的问题。

import matplotlib.pyplot as plt
import numpy as np

data = np.random.rand(8, 8)
plt.imshow(data, origin='lower', interpolation='None', aspect='equal')
plt.axis('off')
plt.tight_layout()
plt.show()

【讨论】:

  • 谢谢,效果很好。上面带有plt.subplots_adjust(top = 1, bottom = 0, right = 1, left = 0, hspace = 0, wspace = 0) 的评论更好地填满了窗口。