在matplotlib中分散2D numpy数组

时间:2015-05-20 09:25:23

标签: python numpy matplotlib

我有一个4x4数据数组,如

data = np.array([[0,1,1,1], [1,0,0,1], [1,1,1,0], [0,0,0,1]])

现在我想将这个数组分散在2D图上。

如果data[i,j]等于1,则在点(x,y)=(i,j)处应该有一个彩色斑点。我已经在matplotlib中使用散点图进行了尝试,但无论如何都无法使其正常工作。

1 个答案:

答案 0 :(得分:12)

你可以用

完成
import numpy as np
import matplotlib.pyplot as plt

data = np.array([[0,1,1,1], [1,0,0,1], [1,1,1,0], [0,0,0,1]])

# get the indices where data is 1
x,y = np.argwhere(data == 1).T

plt.scatter(x,y)
plt.show()

但是,当您只想显示4x4阵列时,可以使用matshow

plt.matshow(data)
plt.show()