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')
我有一个 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')