matplotlib:热图绘图宽度对于 24k x 10 dim np 数组来说太松软

matplotlib: heatmap plot width too squished for a 24k x 10 dim nparray

我有一个 24k x 10 sized weight matrix 'W' 需要绘制,因此:

plt.imshow(W, cmap='summer', interpolation='nearest')
plt.title("Weights") plt.show()

这是 W 的样子:

print(type(W))
print(W.shape)

<class 'numpy.ndarray'>
(24684, 10)

但是绘图输出完全被压扁了:

如何解决这个问题? 我想将其展开为 rectangular/square 并显示 x 轴尺寸(即使只有 10 个。 .)

提前致谢。

您可以通过将图像的纵横比设置为自动来实现。

默认情况下,imshow 将绘图的纵横比设置为 1,在您的情况下显示的纵横比不够 x-axis

因此在您的代码中,您可以执行以下操作:

plt.imshow(arr, cmap='summer', interpolation='nearest',  aspect='auto')

而不是

plt.imshow(W, cmap='summer', interpolation='nearest')