Matplotlib:显示numpy"稀疏" array - 放大点?

时间:2015-08-01 18:05:41

标签: python image numpy matplotlib

我可以像这样轻松地显示numpy数组:

plt.imshow(ary);

问题是阵列非常稀疏,我必须缩放1-2次以查看"人工制品"或任何结构。 你会推荐什么,以便让我更加明显。 你会如何操纵阵列?可能是扩大点数的一些技巧!以某种方式设置附近的像素?

=================================

这是我的第一次尝试:

lst2 = np.where(ary > 0)
px = zip(lst2[0],lst2[1])
for x,y in px : ary[x-1:x+1, y-1:y+1] = ary[x,y]

我的第二个问题:是否可能,如果数组中的值被缩放到范围0-1或0-255或0-100,在单个命令中用不同的颜色或alpha绘制它们? 我不能这样做:

plt.plot(x,y, '.', markersize=7, color='blue', alpha=ary[x,y] )

因为x和y本身就是数组,而alpha / color只接受单个值。 是否有一个行解决方案或我必须循环。

1 个答案:

答案 0 :(得分:2)

怎么样?
y, x = np.nonzero(ary)
plt.plot(x, y, '.', markersize=5)