在matplotlib中分散2D numpy数组

dof*_*ine 7 python numpy matplotlib

我有一个像4x4的数据阵列

data = np.array([[0,1,1,1], [1,0,0,1], [1,1,1,0], [0,0,0,1]])
Run Code Online (Sandbox Code Playgroud)

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

如果data[i,j]等于1,则在点(x,y)=(i,j)处应该有一个彩色斑点.我已尝试在matplotlib中使用散点图,但不知何故无法使其工作.

plo*_*ser 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()
Run Code Online (Sandbox Code Playgroud)

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

plt.matshow(data)
plt.show()
Run Code Online (Sandbox Code Playgroud)