numpy array plot matrix matplotlib

时间:2013-03-13 09:41:46

标签: python matrix numpy

[ [ 99  66]
  [118  67]
  [119  67]
  [120  67]
  [121  67]
  [121  68]
  [121  70]
  [ 95  71]
  [121  71]
  [123  98]
  [133 109]
  [136 110]
  [150 126]
  [153 126]
  [153 128]
  [153 129]]

我有这个numpy数组,其中包含我想要绘制到矩阵上的坐标集。我怎样才能将这个numpy数组变成这样的

[[0 1 1 ..., 0 1 1]
 [0 0 1 ..., 1 1 1]
 [0 0 0 ..., 1 0 0]
 ..., 
 [0 0 0 ..., 0 1 0]
 [1 0 0 ..., 0 0 1]
 [0 1 0 ..., 1 1 1]]`

所以我能够在矩阵上绘制我想要的东西

2 个答案:

答案 0 :(得分:0)

width = max(coord[0] for coord in coordinates)
height = max(coord[1] for coord in coordinates)
zeros_and_ones = numpy.zeros([width, height])
for x, y in coordinates:
    zeros_and_ones[x, y] = 1

答案 1 :(得分:0)

如果您有一个numpy数组,这可能会更快(假设coord为正):

maxcoord = np.amax(coord, axis=0)
zeros_and_ones = numpy.zeros(maxcoord)
zeros_and_ones[coord[0], coord[1]] = 1

如果coord由整数组成但具有负值,则可以简单地重新缩放