hl = [(1,109),(12,212),(21,23)]
highlightc = np.zeros([N, N])
c = len(highlightc)
colour = [0.21]*c
test = len(number_list) -c
this = [0.21]*test
colour.extend(this)
colour = np.array(colour)
colour = np.array(colour)
print len(number_list)
print colour
for x, y in hl:
highlightc[x, y] = 1##set so binary matrix knows where to plot
h=ax.imshow(highlightc*colour), interpolation='nearest',cmap=plt.cm.spectral_r)
fig.canvas.draw()
我正在尝试创建一个二进制矩阵,其中的图是不同的颜色。但是目前我有一个问题,因为它们的数组形状不同,所以颜色没有被绘制出来。我得到错误 operands could not be broadcast together with shapes (160,160) (241)
,我猜 (160*160) 是矩阵的大小,而 241 是颜色数组的大小。我有一个坐标数组,我把它变成了一个二进制数组highlightc
。这绘制成功。然而,通过颜色,我得到了坐标数组的大小,并用它来填充数组来制作颜色。这显然是错误的。基本上我想要的是一定数量的 be 0.21
,其余的 be 1.0
。那么我怎样才能转动我得到的数组,使其具有形状(160,160)
,以便以正确的颜色为正确的图着色